Персонаж плывет после подъема по пересеченной местности - PullRequest
0 голосов
/ 02 декабря 2018

Я хочу это исправить, но я не могу найти учебники для этого.Проблема в том, если я выгуливаю персонажа на более высокой местности или что-нибудь, что можно пройти.Персонаж будет плавать, как только я уйду на более высокую местность.Я хочу что-то, чтобы персонаж оставался на земле.Компоненты, которые я использовал, это контроллер персонажа и капсульный коллайдер.Заранее спасибо, ребята.

PS : Кривые, которые вы видите, это объект.Это не неровная / рельефная или нарисованная высота местности.

Игра начнется с этой позиции.enter image description here

После того, как вы пройдете по более высокому объекту / местности и вернётесь назад, это будет выглядеть так.Это остается плавающим.enter image description here

Пока что это то, что я пробовал, но оно не работает.

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...