Я хочу это исправить, но я не могу найти учебники для этого.Проблема в том, если я выгуливаю персонажа на более высокой местности или что-нибудь, что можно пройти.Персонаж будет плавать, как только я уйду на более высокую местность.Я хочу что-то, чтобы персонаж оставался на земле.Компоненты, которые я использовал, это контроллер персонажа и капсульный коллайдер.Заранее спасибо, ребята.
PS : Кривые, которые вы видите, это объект.Это не неровная / рельефная или нарисованная высота местности.
Игра начнется с этой позиции.
После того, как вы пройдете по более высокому объекту / местности и вернётесь назад, это будет выглядеть так.Это остается плавающим.
Пока что это то, что я пробовал, но оно не работает.
Ray ray = new Ray(transform.position, Vector3.down);
RaycastHit hitInfo;
LayerMask layer = 1 << LayerMask.NameToLayer("Terrain");
//cast ray
if(Physics.Raycast(ray, out hitInfo, layer))
{
//get where on the z axis our raycast hit the ground
float z = hitInfo.point.z;
//copy current position into temporary container
Vector3 pos = transform.position;
//change z to where on the z axis our raycast hit the ground
pos.z = z;
//override our position with the new adjusted position.
transform.position = pos;
}