2015-12-20 4 views
0

У меня возникла проблема при использовании аниматора в Unity. Я хочу, чтобы бросить луч от позиции символа для пересылки с помощьюОстановка аниматора, изменяющая позицию Y

Ray ray = new Ray(transform.position, transform.forward); 
Physics.Raycast(ray, out hitInfo); 

Но когда я проверяю «испечь Into Поза» в корне Transform позиции (Y) аниматор (Бег и ходьба) будет изменить положение, а ось Y будет ниже фактического значения и станет отрицательной. Поэтому луч иногда не мог ничего ударить. Но если я сниму «Bake Into Pose», персонаж потеряет силу тяжести. Итак, как я должен это исправить?

ответ

0

Если вы всегда хотите использовать raycast на определенной высоте (y), вы можете ограничить происхождение от того места, где вы выполняете кастинг. Заменить? С поплавком, переменным или предварительно рассчитанным значением.

Vector3 rayOrigin = transform.position; 
rayOrigin.y = ? // locked y 

Ray ray = new Ray(rayOrigin, transform.forward); 
Physics.Raycast(ray, out hitInfo); 
Смежные вопросы