Omnistep
Version 1.1 Released!
Release Date: 23. Oct 2024
Introduction
OmniStep is a Blender add-on that provides a scriptable first-person controller. It is an interactive animation and prototyping tool with optional scripting and a built-in game loop for complex interactions.
Ease of Use
It works out of the box without requiring complex setups for collision geometry. Just set your view and press 'Start OmniStep' to be dropped directly into your scene, ready to explore. Enter a camera view, enable animation recording, and you're all set to film your first walkthrough!
No scripting knowledge is necessary - OmniStep works as is, though scripting is a powerful option for those looking to extend its capabilities.
Fluid physics-based movement and capsule-based collision detection
Interact with Blender physics
Add new functionality through user-written scripts.
A Minecraft clone in 100 lines of code — directly written into the Blender scene.
What It Can Do
OmniStep is a highly customizable, scriptable first-person controller with movement mechanics, collision response, and input handling on par with AAA games. It allows you to record movements and actions, creating walkthroughs and fly-throughs that would otherwise require a lot of manual animation work.
With walk and fly modes, a smart collision system, spawn points, and scripting support, OmniStep streamlines scene exploration, animation prototyping, and level design. It expands Blender’s versatility for both game development and animation, offering artists a new way to experience and interact with their creations.
Features
-
First-Person Movement
- Full control over player parameters
- Settings for gravity, speed, acceleration, friction, air-control, and more
- Motion damping for stairs and uneven terrain
-
Fly Mode
- Fully physics-based movement
- Settings for acceleration, friction, etc.
- Mouselook and radial control functionality
- Optional collisions
-
Camera Functionality
- Support for camera rigs with physics, constraints, etc.
- Customizable banking and motion damping
- Customizable focal length
-
Collision System
- Capsule-based collision detection
- Utilizes a BVH-tree, capable of handling millions of triangles
- Supports instanced collection and linked library collision
- Selective inclusion or exclusion of collections
- Partial dynamic collisions using the scripting module
- Prevents endless falling by reusing last ground contact
-
Recording
- Camera motion recording
- Loop recording
- Buffered recording (recording without timeline playback)
-
Scripting
- Add new functionality through user-written scripts
- Exposed game loop method
- Automatically expose parameters in UI panels
- Access to player parameters and the collision system
-
Customizable Settings
- Input smoothing options
- Customizable keymaps and Gamepad mappings
- Gamepad support for Windows (XInput)
- Mouse settings including sensitivity and invert Y-axis
- Custom N-panel placement
- Framerate independence with support for 120+ Hz
- Choice of scale settings: metric, imperial, and free
-
Additional Features
- Teleportation mechanic
- Empties as spawn points
Requirements
OmniStep supports all platforms and Blender versions from 3.6 up to the current 4.3 It has been tested on macOS, Linux and Windows.
Add-on Compliance
This add-on is fully self-contained, does not include any external libraries, does not directly interact with the file-system and operates entirely offline. It does not register with any application handlers and does not leave behind any residual data in the Blender scene, except for its settings configuration. The sidebar panel can be optionally nested under the 'Tool' tab to maintain a clean UI.
Limitations
The collision system is tailored for static geometry and uses an underlying BVH-tree (Bounding Volume Hierarchy) for better performance in heavy scenes. This allows OmniStep to handle collisions with millions of triangles in real-time, but it comes with a trade-off: it does not support animated geometry by default. Animated objects can be excluded to avoid 'ghost' collisions.Using the scripting module, dynamic collisions can be enabled on dedicated object.
Visit
omnistep.atair.cc
for more information, demo files, and Scripting API docs.
Discover more products like this
gamepad Scripting Development Python fps camera movement animation Game Engine