x


Making an object stay parallel to the terrain it is on?

I am trying to make an object in one of my games stay paralell to the terain it is riding on, so say if I am going over a mountain I want to make it look like it is going over the mountain. Right now all I can do is use raycasting like this

 var fwd = transform.TransformDirection (Vector3(1,0,0));
if (Physics.Raycast (transform.position, fwd, 1)) {
   transform.Rotate(Vector3(-1,0,0) * speed * Time.deltaTime, Space.World);
}
   if (Physics.Raycast (transform.position, -fwd, 1)) {
   transform.Rotate(Vector3(1,0,0) * speed * Time.deltaTime, Space.World);
}
var rit = transform.TransformDirection (Vector3(0,0,1));
if (Physics.Raycast (transform.position, rit, 1)) {
   transform.Rotate(Vector3(0,0,1) * speed * Time.deltaTime, Space.World);
}
   if (Physics.Raycast (transform.position, -rit, 1)) {
   transform.Rotate(Vector3(0,0,-1) * speed * Time.deltaTime, Space.World);
}

but that does not allways work, and I was just wondering if there was a more efficient way to do it, it works ok but every once in awhile if I am turning at the same time the object flips and starts going out of control.

more ▼

asked Jan 20 '10 at 08:29 PM

Jay gravatar image

Jay
1 1 1 1

(comments are locked)
10|3000 characters needed characters left

2 answers: sort voted first

not sure if this is any help but it sounds like you just need to know what the slope of the terrain is at the point your character is at, according to the direction its facing. I think this is code already in the charactermotor that does that:

var movementSlopeAngle = Mathf.Asin(movement.velocity.normalized.y)  * Mathf.Rad2Deg;
more ▼

answered Feb 18 '11 at 09:10 PM

Jordan Miller 2 gravatar image

Jordan Miller 2
348 47 51 57

(comments are locked)
10|3000 characters needed characters left

I suggest you take a look at my (answered) question here, which is of the same nature:

(link)

It's a matter of vector algebra, no raycasting is necessary.

more ▼

answered Jan 20 '10 at 11:03 PM

Micha Lewtak gravatar image

Micha Lewtak
130 7 7 10

(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x5071
x2163
x1469

asked: Jan 20 '10 at 08:29 PM

Seen: 1744 times

Last Updated: Jan 20 '10 at 08:29 PM