AndrewSt1. Это было сделанно. Я перед тем как начать играться с моделью ...я опробовал свой уровень на FPS префабе. Все работает замечательно. Проблема не в уровне, проблема в персонаже ,скриптах, физике, гравитации и прочем.
2. Второй совет оказался куда более дельным, хотя я до этого уже пытался смотреть скрипты из 3дПлатформера и это привело к тому, что я не нашел корней (одна функция использует другую, которая в свою очередь использует переменную, которая используется в другом скрипте...это примерная зарисовка). Я потому и начал с нуля писать ,чтобы понимать откуда что куда идет и как это все взаимосвязанно.
Итак :
Я разобрался каким кодом опустить инопланетянина на землю.
- Код: Выделить всё
moveDirection.y -= gravity * Time.deltaTime; //1
// Move the controller
var controller : CharacterController = GetComponent(CharacterController); //2
var flags = controller.Move(moveDirection * Time.deltaTime); //3
grounded = (flags & CollisionFlags.CollidedBelow) != 0; //4
private var moveDirection = Vector3.zero;
private var grounded : boolean = false;
Только я вот понять не могу этот код.
в 1ой строке мы задаем направление - уменьшая значение Y. Другими словами падаем со скоростью указанной в значении gravity.
во 2ой строке мы создаем переменную и привязываем ее к компоненту CharacterController (внутренность самого компонента для меня до сих пор загадка)
в 3ей строке мы задаем переменую flags равную текущему передвижению компонента CharacterController'а.
в 4ой ??? эту строку я целиком не понимаю, обьясните кто разобрался.
*3DragonВсе коллайдеры в норме. Префаб FPS спокойно ходит как надо по уровню.
Сам по себе MoveDirection.y не заставит меня под гравитацией падать вниз и остановится когда достигну пола.
Ответы на все ваши вопросы, кстати, есть в FPS tutorial и Platformer tutorial. Читайте внимательнее.
Ответов кстати нет - не в первом не во втором! Там тупо готовые скрипты без разбора. И советы типа перетащите скрипт на префаб и тд. Спасибо,перетаскивать скрипты я научился, сейчас хочу понять как их самому писать.
Ребят,я конечно начинающий, но я не полный тупица
Сейчас для теста я добавил одновременно и FPS префаб и Lerpza на сцену...и то и то обладает CharacterController'ом.Едиственное различие, это у Префаба FPS скрипты MouseLook(сомневаюсь,что в нем может быть что то) и FPSWalker ,а у моего Lerpz'a - LerpzController скрипт.
Тоесть ответ прячеться где то в FPSWalker'е - ответ на то,почему инопланетянин проходит сквозь стены. Ну а теперь ,когда я свел круг поиска к минимуму...Прошу разбирающехся людей поведать мне...
что же в FPSWalker'e не дает обьекту пройти сквозь стену и еще
как работает четвертая строка вышеуказанного скрипта*