Restrict rotation area
Here's a little problem I'd like to clarify.
Let's say we want to make a custom head or an eyeball follow a target that we move around the screen. Dreams has a great fitting tool for this very task that does this job perfectly. But it doesn't seem to have any tweakable "restrictions", like connectors do.
For example, if we make a random object like a box or a lamppost our "target", and we want our character's eyeballs to focus on this target as we walk past it, their eyeballs will turn full 180 degrees, front to back, untill the target object is no longer within the trigger zone. And as a result, the pupils of the eyes will be turned into the skull, towards the brain cavity. Yikes.
In other words:
1. The target in front of the char = the char looks normal, pupils look straight at the target;
2. As the char walks forward, the target (stationary) moves to the char's side = the pupils move the same way, following it. All looks normal at first.
3. Then the target appears to be in the back = boom, the pupils look back, deep inside the skulll. Call an exorcist.
Pretty sure there's a quick and easy solution to this issue that I'm simply missing at this point. I remember watching a Mm video where Mike showcased a character named Lancewing, who has rotating eyes without such issues. Her pupils seemed to be restricted from going too far up, down, right or left. Though I doubt it's possible to inspect this character's logic within the game (can't find her myself via search option).
I had a couple of ideas (that failed so far) in mind to solve this, but they consisted of various combinations of in-game logic tools. Too complicated, I guess. Wonder if there's an easy way around it, or should I keep digging and experimenting the HARD way?
-
First idea that comes to mind is making a cone-shaped trigger zone for the area where you want the eye to follow. If the tag is is the zone it activates the rotator.
You could have the eye return to forwards when the zone is not activated using a key frame of the eye in the forwards position. -
Hey, PhantomGazebo, thanks a lot for replying.
Weirdly enough, this is exactly what I tried to do the second time around but never actually managed to make these two tools (Trigger Zone + Look at Rotator) work together. The Look at Rotator tool has its own trigger zone within itself so I assumed it's not possible to combine them. But if you know how to do this, connections wise, it'd be very cool. I'm still pretty much a noob with these things, have no experience whatsoever. -
You can add a connector with limits. Then the look at rotstor won’t be able to rotste beyond those restrictions. You might have to adjust the strength of the rotator to make sure it doesn’t break the joint.
-
'@Supposer Thanks for your reply.
I thought about that but all types of connectors seem unfitting for this task. AFAIU if we use a bolt connector, the eye will only rotate either left to right, or up to down. Which would look weird. And I don't even understand how to properly position the first connector type (the first in line I mean) for the eye (a round object) to rotate around its axis, staying in one place.
So any solutions with connectors involved seem to be failing. Unless again I'm missing something. -
I'll try to play around with the first connector though, sometime later. It has a perfect restriction option for this task. Even if it's hard to position it.
-
'@Supposer
Well, actually... just thinking about it right now... It SHOULD work, if we somehow manage to position the main part of the first connector, like, straight at the center of the eyeball. So that the radii are all of equal length. Should work, will definitely try it later. Thanks for the tip!
Not sure how to target the very center of a circle though, huh... -
Ok, so I tried out the solution with the Ball Joint and I'm glad to report that it wactually worked! Thanks again for your help :)
And while it turned out to be quite a simple solution after all, I think it won't harm to write it out for those who may have the same issue in the future. Just in case.
I'll attach a few screens of a rough eyeball concept I made to test it out.
Screens 01 and 02 show the positioning of the Ball Joint within the eye. The main rotating joint should be right in the middle of it (mine here is a bit off, but whatever, it's only a demo), so that the eyeball will move on its axis. Suggest using the grid for this matter.
I made a little brick above the eyeball to attach the first part of the Joint to. It serves as a parent object. Make it unmovable in the options menu.
Screen 03 shows how I tweaked the rotation zone if the joint. It seems that you can't change its circular shape but its not so much of a problem in our case. The diameter of the zone will depend on you objects' proportions. And note that the Lock Rotation option is turned on here. I believe it helps to keep the object in place.
Make the eyeball movable in the options and attach the "Look at Rotator" mover to it (L1 + X). Adjust the arrow how you want it to be. And the speed and the strength of rotation, in its menu. As well as its trigger zone.
Then create a Tag sensor, for your Rotator mover to follow.
And that's pretty much it for this task. Screens 04, 05 an 06 demonstrate the eye's movement within the limits of its rotation zone.
Hope it helps.
(Though I'm still curious how Mike achieved his results with the Lancewing character) -
Screen set #2
-
And #3
Please sign in to leave a comment.