Definitely don’t post screenshots of code. If you post a code snippet, ALWAYS USE CODE TAGS:
How to use code tags: Using code tags properly
This is likely not so much code as it either incorrect parenting, or else moving .rotation
when you should be moving .localRotation
.
The answer will be tied closely to how you have set stuff up. You can press PLAY, then setup the bad condition and press pause and study how things are parented incorrectly.
Generally a hierarchy of objects should have zero rotation (0,0,0) and unity scaling (1,1,1) all the way down until the very last object that needs to turn. Ideally you want to either only turn the tip localRotations, or the top of the hierarchy’s actual rotation.
Additionally, to help gain more insight into your problem, I recommend liberally sprinkling Debug.Log() statements through your code to display information in realtime.
Doing this should help you answer these types of questions:
- is this code even running? which parts are running? how often does it run?
- what are the values of the variables involved? Are they initialized?
Knowing this information will help you reason about the behavior you are seeing.