Automatic RenderTarget Index Allocation
- RenderTarget IDs are now allocated automatically by the engine.
- This completely removes manual index management and guarantees that multiple systems can safely create RenderTargets without conflicting IDs. No manual IDs. No duplicated RenderTargets.
Smooth Mouse Rotation
- Drag the model with the mouse to rotate it smoothly.
- Rotation uses inertia for a much more natural feeling.
Smooth Mouse Wheel Zoom
- Zooming is velocity-based with damping instead of instantly jumping between positions.
Automatic Camera Fitting
- The camera automatically adjusts itself based on the rendered model's height.
- This allows players,
monsters,
NPCs and objects to appear correctly centered without requiring manual camera values for every race.
- Completely plug-and-play.
this:
key = self.modelRenderer.GetRenderTargetIndex()
will only be available after:
self.modelRenderer.SetSize(260, 170)
not before !
Hair Preview Camera
- Hair preview can automatically switch to a dedicated camera focused on the character's head.
renderTarget.SetHair(key, hairCostumeVnum, True) # Hair Preview
renderTarget.SetHair(key, hairCostumeVnum) # Normal Preview (False is the default value)
Automatic Hair Model Detection
- Simply pass the
costume hair VNUM.
- The RenderTarget automatically resolves the correct hair model internally without requiring manual `value(3)` extraction.
Equipment Persistence
- The RenderTarget automatically remembers compatible equipment for every race.
- Supported parts:
*
Armor
*
Weapon
* Hair
* Acce
* Weapon Shining
* Armor Shining
- Switching between races automatically restores the appropriate equipment whenever possible.
Optional Auto Rotation
- Auto rotation can be enabled per model.
renderTarget.SelectModel(key, race, True) # Auto Rotate
renderTarget.SelectModel(key, race) # Static Model (False is the default value)
Automatic Weapon Selection for Weapon Shining
- If no weapon is equipped, the RenderTarget automatically equips a compatible default weapon before applying the weapon shining.
- This allows weapon shining previews to work correctly without requiring additional setup.
Modern C++ Memory Management
- The RenderTarget has been modernized using smart pointers (`std::unique_ptr` / `std::shared_ptr`) for safer and cleaner resource management.
Cleaner API
- Several APIs have been simplified to reduce boilerplate and make RenderTarget integration much easier for future systems.