-
Notifications
You must be signed in to change notification settings - Fork 37
Make tracking local to model #144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My main complaint is that there's a new property instead of just using the built-in transform of the model controller or the inner model. Is there a reason it can't be used?
Additionally, you touched the Twitch submodule by accident.
|
I have fixed the nags and created a mod called ModelMovementTester which now holds the movement testing code. |
One option could be a convention where movement-focused (multiplayer, game world, etc) mods affect the transform of the model controller while tracking-focused mods like PoseIK affect the transform of the inner model. It's still a bit messy but it would remove the need for that new property. Something else I have been thinking about is adding certain tags to modules which make them mutually exclusive, which may become necessary if we have multiple mods capable of moving the model controller. |
That's what I was thinking, and it's what I did for copyMultiplayer, which spawns additional model controllers for each remote player.
Or perhaps the skeleton node? To me, out of the three nodes (controller, model, skeleton), the model is the most "internal implementation details" feeling. It's as if you had a |
|
I have updated so movement is done either on the model controller or model itself now, removing the new property at issue.
I was checking copyMultiplayer out yesterday and it is quite cool. Hopefully this change is more compatible with it. |
I've made changes to ModelController.gd, MediaPipeController.gd, and PoseIK.gd which make head and hand tracking local to the model node. This allows the model to freely move and rotate in global space with no effect on tracking (as far as I can tell). The model is meant to be moved by setting the model_transform variable in the ModelController.gd script.