-
-
Notifications
You must be signed in to change notification settings - Fork 1
Example Projects
These are the examples included with the Atomic Game Engine, and listed are the engine features which each example demonstrates.
- Scene
- 2D (Orthographic) Camera
- Code scene loader
- Code sprite animator
- Scene
- 3D (Perspective) Camera
- Code scene loader
- Code model animator
This example showcases and provides example usage of specific Atomic technology features. The examples are minimal and strive to use minimal API and concise code and many are ported from upstream Urho3D. The examples are also presented in the form of a "multi-example" so they can be easily built and tested. This also helps catch object lifetime issues, etc.
This first example, maintaining tradition, prints a "Hello World" message.
- Add a Text element to the graphical user interface
- Subscribe to and handling of update events
A simple 'HelloWorld' GUI created purely from code.
- Creation of controls and building a UI hierarchy
- Handle of global and per-control events
- Create two 3D scenes and rendering the other into a texture
- Create rendertarget texture and material programmatically
- Create a 2D scene with sprite
- Display the scene using the Renderer subsystem
- Handle keyboard to move and zoom 2D camera
- Create both static and moving 2D physics objects to a scene
- Display physics debug geometry
This sample is designed to help understanding and choosing the right constraint.
- Create physics constraints
- Create Edge and Polygon Shapes from vertices
- Display physics debug geometry and constraints' joints
- Use SetOrderInLayer to alter the way sprites are drawn in relation to each other
- Create revolute constraint
- Create rope constraint
- Display physics debug geometry
- Create a 2D scene with spriter animation
- Display the scene using the Renderer subsystem
- Handle keyboard to move and zoom 2D camera
- Create a 3D scene with static content
- Display the scene using the Renderer subsystem
- Handle keyboard and mouse input to move a freelook camera
- Create a 3D scene and using a custom component to animate the objects
- Control scene ambience with the Zone component
- Attach a light to an object (the camera)
This sample is base on StaticScene
- Usage of attribute animation for light color & UI animation
- Populate a 3D scene with billboard sets and several shadow casting spotlights
- Parent scene nodes to allow more intuitive creation of groups of objects
- Examine rendering performance with a somewhat large object and light count
- Create both static and moving physics objects to a scene
- Display physics debug geometry
- Use the Skybox component for setting up an unmoving sky
- Populate a 3D scene with skeletally animated AnimatedModel components;
- Move the animated models and advancing their animation using a custom component
- Enable a cascaded shadow map on a directional light, which allows high-quality shadows over a large area (typically used in outdoor scenes for shadows cast by sunlight)
- Display renderer debug geometry
- Perform a raycast to the octree and adding a decal to the hit location
- Define a Cursor UI element which stays inside the window and can be shown/hidden
- Mark suitable (large) objects as occluders for occlusion culling
- Display renderer debug geometry to see the effect of occlusion
- Control a humanoid character through physics
- Drive animations using the AnimationController component
- Manual control of a bone scene node
- Implement 1st and 3rd person cameras, using raycasts to avoid the 3rd person camera clipping into scenery
- Define attributes of a custom component so that it can be saved and loaded
- Clone a Model resource
- Modify the vertex buffer data of the cloned models at runtime to efficiently animate them
- Create a Model resource and its buffer data from scratch
- Detect physics collisions
- Move an AnimatedModel's bones with physics and connecting them with constraints
- Use rolling friction to stop rolling objects from moving infinitely
- Create a heightmap terrain with collision
- Construct a physical vehicle with rigid bodies for the hull and the wheels, joined with constraints
- Define attributes (including node and component references) of a custom component so that it can be saved and loaded
Recast/Detour CrowdNavigation
- Generate a dynamic navigation mesh into the scene
- Perform path queries to the navigation mesh
- Add and remove obstacles/agents at runtime
- Raycast drawable components
- Crowd movement management
- Access crowd agents with the crowd manager
- Use off-mesh connections to make boxes climbable
- Use agents to simulate moving obstacles
- Create a large plane to represent a water body for rendering
- Set up a second camera to render reflections on the water surface
- Sets up two viewports with two separate cameras
- Adds post processing effects to a viewport's render path and toggling them
- Displays a fire particle
- Play sound effects and music
- Control sound and music master volumes
- Imports an FBX model, Roboman.
- Scene
- TMX map
- 2D (Orthographic) Camera
- 2D physics
- Spritesheet character animation
- Prefab objects
- Sound effects
- Code generated UI
- Select playing at day or night
- Mobile ready controls
- Scene
- Procedural 2D map
- 2D (Orthographic) Camera
- 2D physics
- 2D particles
- Prefab objects
- Sound effects
- Background music
- Scene
- 3D (Perspective) Camera
- 3D Physics
- 3rd person character controller
- FBX animated models
- Terrain
- Sound effects
- Background music
- Dynamic lighting effects
- Day and night cycle
- Mobile ready controls
The ToonTown Example art assets are from the Frogame Village Pack and require a license for any usage. A license can be obtained from the Frogames Content Pack Store
Originally written for XNA by Michael Hoffman Ported to the Atomic Game Engine. Find the full tutorial at: http://gamedev.tutsplus.com/series/vector-shooter-xna/
- Code generated game
- Settings file
- Scene
- 3D (Perspective) Camera
- 3D Physics
- 3rd person character controller
- FBX models
- Prefab objects
- Skybox
- Mobile ready controls
- Settings file
- Scene
- 3D (Perspective) Camera
- 3D Physics
- 3rd person character controller
- FBX models
- Prefab objects
- Settings file
- Code generated scene
- 2D (Orthographic) Camera
- 2D Particles
- Mobile touch controls
- Precache resources
- 2D (Orthographic) Camera
- Spritesheet animations
- UI from layout file
- Sound effects
- Background music
- Post Process effects
- Mobile ready controls
- Game controller, rumble
- Code generated UI
- WebView Widget
- The internet!
- Tabbed interface
- Bookmark URLs
- Scene
- 3D (Perspective) Camera
- 3D physics
- 3rd person character controller
- FBX map and models
- WebTexture model
- 3D Particles
- Dynamic lighting effects
- Day and night cycle
- Scene
- 3D Particles
- Code generated UI
- Scene
- 2D Particles
- Code generated UI
- Custom events
- Scene
- 2D (Orthographic) Camera
- 2D physics
- Settings File
- Scene
- 2D (Orthographic) Camera
- 2D physics
- Prefab objects
- Sound effects
- Background music
- Code generated UI
- Custom events
- Mobile Touch controls
- Scene
- 2D (Orthographic) Camera
- Spriter scml file
- Character animation
- Code generated UI
- Custom events
- Scene
- FBX model and animations
- Code generated UI
- Custom events
- Scene
- 3D (Perspective) Camera
- FBX models and animations
- Sound effects
- Prefab objects
- Skybox
- Mobile ready controls
- Scene
- 3D (Perspective) Camera
- Cubemap objects
- Blender model
- FBX models
- Skybox
- Scene
- 2D (Orthographic) Camera
- 2D physics
- Dynamic lighting effects
- Scene
- 3D (Perspective) Camera
- Render Scene
- Generated renderable texture
- FBX model
- Code model animator
- Scene
- UISceneView widget
- 2D (Orthographic) Camera
- Spriter scml file
- Character animation
- Code generated UI
- Scene
- 3D (Perspective) Camera
- Generated Webview texture
- Code model animator
- Settings file
- Scene
- 3D (Perspective) Camera
- FBX models
- Terrain
- Water
- Skybox
Home | Copyright (c) 2020-2021