- Home /
Click to move a character in a terrain
Hi everyone, I'm working on a point & click game and I'm having issues moving the character.
What I want is the same as here: http://answers.unity3d.com/questions/213152/move-to-clicked-point.html
And with that code I have a character moving around without problems. But when I use a terrain the character does weird things:
- Character Controller: if I use this component, the character pass through the elevations, it doesn't care, just continues walking. 
- Rigid Body: so in the way of fixing that I removed the character controller and put a rigid body with a capsule collider. Now it works colliding with the terrain, but that led me to another problem. 
The problem: the character is vibrating on the floor.
So I tried different configurations of the Rigidbody:
- Interpolate: interpolate / extrapolate. Works the same. 
- Is kinematic on: it doesn't collide anymore with the terrain. 
- Use gravity off: it doesn't vibrate anymore, but when I climb a lift I continue to be up, so I need to fall. 
For moving the character I'm using (I don't know if it's related or not):
 transform.position = Vector3.MoveTowards(transform.position, targetPosition, Time.deltaTime * speed);
So any suggestion? Thanks!
SOLUTION
So I ended up with the robertbu solution and worked very well: It needs:
- Rigidbody: uncheck Use Gravity. 
- Capsule Collider 
And this code in C#
 void LateUpdate () {
     Vector3 newpos = transform.position; 
     newpos.y = Terrain.activeTerrain.SampleHeight(transform.position);
     transform.position = newpos;
 }
Answer by robertbu · Aug 07, 2013 at 05:57 PM
If you are using a character controller, or just an object (i.e. no rigidbody no character controller), you can set the height for your character for a particular point on the terrain using Terrain.SampleHeight().
Your answer
 
 
             Follow this Question
Related Questions
Turning a rigidbody controller into a character controller (almost) 1 Answer
How to let a GameObject generate force but not be affected by certain forces? 0 Answers
RigidBody immediately stops after AddForce 1 Answer
Character Controller Pushes Car With Wheel Colliders? 0 Answers
Collisions causing Rigidbody to go Haywire and move randomly. 1 Answer
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                