Физика модели (управление от третьего лица)
Добавлено: 03 фев 2010, 21:07
Я прошел 3D Platformer Tutorial (какой же я маладец)! Минус его в том, что грубо говоря тебе дается конструктор и инструкция по сборке...и на мол лепи игру. Я решил создать свой 3д уровень и заставить моего Lerpz'a (модель из туториала) бегать и прыгать как Lerpz из урока. Пробежался по скриптам из туториала и понял, что очень много лишнего там, а если оно и не лишнее , то очень трудно просечь откуда корни растут. Решил заскриптовать с нуля.
Итак ,что мы имеем на сегодняшний день :
-3D уровень собранный в Cinema4d(спасибо базовым урокам Will'а Goldstone'а)
-Модель Lerpza(без изменений выдранная из туториала).
-Character Controller привязанный к Lerpz'у
-Cобственный скрипт привязанный к Lerpz'у ... выглядит так :
Что это мне дает :
Мой персонаж поворачиваеться вокруг оси Y если нажимать влево-вправо. А если жать вперед назад то он перемещаеться вперед-назад.Проблема в том,что он всячески игнорирует уровень как Мэш: проходит сквозь стены, да и не падает на пол (я поставил его где то в метре над землей)
Задача :
-Заставить его упираться в стены ,а не проходить сквозь них.
-Присобачить гравитацию, чтоб стремился к земле.
-Научить перешагивать небольшие ступеньки(мой уровень немного кривоват, в некоторых местах неплохо бы чтоб он перешагивал обьекты скажем высотой в 0.1)
Для начала хватит. Моя цель не получить готовый скрипт, а понять как все работает, буду очень признателен, если к своим скриптам будете писать обьяснение. Спасибо
Итак ,что мы имеем на сегодняшний день :
-3D уровень собранный в Cinema4d(спасибо базовым урокам Will'а Goldstone'а)
-Модель Lerpza(без изменений выдранная из туториала).
-Character Controller привязанный к Lerpz'у
-Cобственный скрипт привязанный к Lerpz'у ... выглядит так :
- Код: Выделить всё
var gravity = 20.0;
var speed = 20.0;
function Update () {
var x = Input.GetAxis("Horizontal") *Time.deltaTime *100;
var z = Input.GetAxis("Vertical") * Time.deltaTime * speed;
transform.Translate(0, 0, z);
transform.Rotate(0,x,0);
}
Что это мне дает :
Мой персонаж поворачиваеться вокруг оси Y если нажимать влево-вправо. А если жать вперед назад то он перемещаеться вперед-назад.Проблема в том,что он всячески игнорирует уровень как Мэш: проходит сквозь стены, да и не падает на пол (я поставил его где то в метре над землей)
Задача :
-Заставить его упираться в стены ,а не проходить сквозь них.
-Присобачить гравитацию, чтоб стремился к земле.
-Научить перешагивать небольшие ступеньки(мой уровень немного кривоват, в некоторых местах неплохо бы чтоб он перешагивал обьекты скажем высотой в 0.1)
Для начала хватит. Моя цель не получить готовый скрипт, а понять как все работает, буду очень признателен, если к своим скриптам будете писать обьяснение. Спасибо