Overview
The Scene Editor project was developed using Microsoft’s XNA Game Studio framework (Xbox 360, Windows) as part of a Master’s Degree in Computer Science. The project, which received a grade of 30L (highest distinction), was part of a larger 3D poker game development effort.
Project Duration and Skills
- Development Time: 12+ months
- Skills Acquired:
- Game Engine fundamentals
- 3D Rendering
- Animation systems
- C# and .NET development
- Linear Algebra (vector operations, matrices, quaternions)
- Orthographic and perspective projections
Project Objective
While the final goal was creating a 3D poker game, my responsibility focused on developing a comprehensive 3D scene editor, inspired by 3D Studio Max. The editor allows users to:
- Import 3D models
- Build and manipulate 3D environments
- Manage object hierarchies through a Scene Graph
- Save scenes for use in the final game
Technical Features
Viewport System
- 4 configurable viewports including fullscreen capability
- Multiple rendering and shading modes
- Switchable projection types:
- Orthographic projection
- Perspective projection
Object Manipulation
- Complete transformation tools:
- Translation
- Scaling
- Rotation
- Full-featured gizmo system with:
- Precise picking
- Mouse-driven movements
- Rotation center adjustment
Scene Management
- Scene Graph for object hierarchy management
- Operations on objects and hierarchies:
- Copy/Cut/Paste functionality
- Model cloning
- Multiple object selection via:
- 3D view picking
- Box selection
- 3D object axis alignment
Camera Controls
- Zoom functionality
- Camera orbiting around objects/groups
- Standard camera movements (top, bottom, left, right)
- Animated camera position transitions
- Viewport position animations
Advanced Features
- Undo/Redo system with:
- Operation stack implementation
- Animated transitions for operations
- Support for all transformation types
- Keyboard shortcuts for efficient workflow
- Multiple selection methods
- Scene saving and loading
Project Details
The project was developed as a two-person team, with my focus being the scene editor component. The editor integrates seamlessly with the main poker game project, providing a robust tool for creating and managing 3D environments.
The implementation prioritizes user experience with smooth animations for all operations and an intuitive interface inspired by professional 3D modeling software.
Project Links
- Source and Documentation: Scene Editor