Тест наработки, которая выравнивает игровой объект согласно наклону поверхности.
using UnityEngine;
public class TestRay : MonoBehaviour {
public Quaternion spawnRot;
public bool isWork;
void Update () {
if (isWork) {
isWork = false;
CastRay ();
}
}
void CastRay () {
Ray newRay = new Ray (transform.position, -transform.up * 100);
RaycastHit newRaycastHit;
if (Physics.Raycast (newRay, out newRaycastHit)) {
if (newRaycastHit.collider.GetComponent <Terrain> ()) {
spawnRot = Quaternion.FromToRotation (newRaycastHit.transform.position + newRaycastHit.transform.up, newRaycastHit.normal);
Debug.Log (spawnRot);
}
}
transform.rotation = spawnRot;
}
}