Если вы не читали предыдущий урок то можете просто скачать файл проекта.
Для начала откроем сцену которую мы сделали на прошлом уроке. Добавляем объект Script и связываем его с SkinMesh. Затем заходим в настройки Script и в поле для редактирования кода вместо того что там находится, вставляем следующее:
int AnimationSet = 0; int AnimationSetNew = 0; void Main() { if (iInitializing()) { AnimationSet = 0; AnimationSetNew = AnimationSet; } else { if (IN_0 > 0.2) { AnimationSetNew = 0; //walk //set SkinMesh's walk animation speed based on //current SkinMesh object's translation speed OUT_1 = iFloatInterpolate(IN_0,0.2,50,0,50,true); } else { AnimationSetNew = 2; //wave OUT_1 = 1; } //set current animation set for the SkinMesh object, //but only if it is different than the one currently //playing. We need to avoid resetting the animation //at every script loop, for performance reasons. if (AnimationSetNew != AnimationSet) { AnimationSet = AnimationSetNew; OUT_2 = AnimationSet; } } } |
Жмем ОК. Со скриптами закончили, переходим к камере.
Скрин на всякий случай если что будет не понятно:
Теперь выбираем CamChase и отсоединяем его от RigidBody просто убрав галочку и связываем CamChase с SkinMesh. Далее идем в настройки камеры. Первое что мы сделаем(хоть это и не обязательно, но выглядеть будет лучше) у параметра Translation speed выставляем значение 0.997. Дальше убираем галочку с "Ignore actor oreintation" то есть камера больше не будет игнорировать положение SkinMesh а всегда будет стараться быть за его спиной. И последним шагом будет изменение параметра Look-at offset выбираем второе поле для ввода, то что по середине и выставьте значение "1.6" теперь можем запускать сцену на проигрывание=)
|