mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-06 00:53:52 +00:00
fix(editor): NPC ghost preview, scale control, frame sync for M2 rendering
- Ghost preview now shows in NPC mode (follows cursor with creature model) - Added scale field to CreatureSpawn (default 1.0, slider 0.5-10x) - NPC instances render at their configured scale - Scale included in JSON save format - M2Renderer::update() now runs AFTER beginFrame() so getCurrentFrame() returns the correct frame index — fixes instance SSBO mismatch that caused draws=0 despite loaded models
This commit is contained in:
parent
2980ca83e7
commit
f38884856f
5 changed files with 13 additions and 3 deletions
|
|
@ -344,13 +344,17 @@ void EditorApp::updateTerrainEditing(float dt) {
|
|||
terrainEditor_.brush().setPosition(hitPos);
|
||||
terrainEditor_.brush().setActive(true);
|
||||
|
||||
// Ghost preview for object placement
|
||||
// Ghost preview for object/NPC placement
|
||||
if (mode_ == EditorMode::PlaceObject && !objectPlacer_.getActivePath().empty()) {
|
||||
viewport_.setGhostPreview(
|
||||
objectPlacer_.getActivePath(), hitPos,
|
||||
glm::vec3(0, objectPlacer_.getPlacementRotationY(), 0),
|
||||
objectPlacer_.getPlacementScale());
|
||||
} else if (mode_ != EditorMode::PlaceObject) {
|
||||
} else if (mode_ == EditorMode::NPC && !npcSpawner_.getTemplate().modelPath.empty()) {
|
||||
viewport_.setGhostPreview(
|
||||
npcSpawner_.getTemplate().modelPath, hitPos,
|
||||
glm::vec3(0, 0, 0), npcSpawner_.getTemplate().scale);
|
||||
} else if (mode_ != EditorMode::PlaceObject && mode_ != EditorMode::NPC) {
|
||||
viewport_.clearGhostPreview();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue