Вращение Unity сбрасывается после запуска игры? - PullRequest
0 голосов
/ 18 апреля 2019

У меня много проблем с выяснением, как сориентировать мою модель.Я заметил проблему, когда столкнулся с проблемой, заставив моего персонажа вращаться в направлении движения.После значительных проб и ошибок с такими функциями, как LookAt (), я понял, что это потому, что ось z моего персонажа (прямой вектор) не была направлена ​​в одно и то же направление вперед персонажа.После исправления этого в Blender я импортировал в Unity, и ось Z находится в том же направлении, что и персонаж.Но когда я играю в игру и начинается анимация, ось z снова указывает в неправильном направлении!Есть идеи, почему Unity делает это?К твоему сведению, я смоделировал 3d-объект в блендере.

enter image description here

ПОСЛЕ запуска игры (персонаж не смотрит на ось z): enter image description here

Перед началом игры (персонаж стоит перед осью z)

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Если вы повторно импортировали свою модель и отрегулировали ее ось X / Y / Z, уже создав анимацию, то очень вероятно, что ваша анимация использует неправильную ось.

Вы можете скопировать значения вашей анимации на правильную ось или, если анимация не очень сложная, я советую вам воссоздать анимацию с нуля.

0 голосов
/ 18 апреля 2019

Если ваша сцена была изменена при запуске игры, вы можете предположить, что созданная вами логика, вероятно, сценарии, влияют на игровые объекты.

Как и в комментариях, попробуйте отключить компоненты сценария на игровых объектах, чтобы увидеть, что их вызывает.


Иногда вам может понадобиться эта логика в сцене редактора, чтобы ваши объектывращаются так, как они будут, когда игра начинается, даже когда вы работаете со сценой.

Представьте себе игру сверху вниз с камерой, которая следит за игроком и всегда поворачивается к игроку.Вы бы хотели, чтобы эта камера поворачивалась к игроку, когда вы перемещаете ее, переставляя ее так, чтобы она получала идеальный угол обзора.Для этого вы можете использовать [ExecuteInEditMode] :

[ExecuteInEditMode]
public class LookAtPlayer {
    Transform player;

    void Update() {
        this.transform.LookAt(player);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...