(2018-02-22, 5:21)Travis Cobbs Wrote:(2018-02-01, 5:24)Michael Horvath Wrote: I *think* I only edited two files - LDrawModelViewer.cpp and LDInputHandler.cpp - which I've attached. However, they are from the 4.3 beta version and are not current. Also, I cannibalized the "FMUpSide" parameter for my purposes instead of creating a brand new flag. This will need to be fixed.
Sorry for the delayed response.
I tried adding a new "Walk" view mode, using your code for the camera updates when in that mode, and it doesn't work. It throws the camera around all over the place. I committed your camera calculation changes, and other changes to allow for walk mode, but don't have walk mode included in the UI. The latest LDView code is here:
https://github.com/tcobbs/ldview
I didn't take your changes to disable zooming while in fly-through mode. I may take those for walk mode, but haven't decided yet. If you want to try it out, edit LDrawModelViewer.cpp, and in LDrawModelViewer::updateCameraPosition, where you added the big if statement to do your "FPS Mode", change the if statement I have from the following:
Code:if (viewMode == VMWalk)
to:
After that, "fly-through" mode will use your camera positioning. If you can get it to work, send me what you have, and I will fully integrate it into LDView as "Walk Mode".Code:if (viewMode == VMWalk || viewMode == VMFlyThrough)
Thanks! I will take a look!
As for the camera jumping around all over the place: this happens if you have a poor framerate. On large models like Datsville I could not really control the camera all that well since the FPS was so low. Things were much smoother with smaller models.
Mike