City Car Driving

City Car Driving

Not enough ratings
[Для моддеров] Руководство по настройке размещения пассажиров
By qqqzoom and 1 collaborators
Руководство пользователя по настройке размещения пассажиров в салоне
   
Award
Favorite
Favorited
Unfavorite
1. Введение
На данный момент существует возможность добавления до двух пассажиров в автомобиль — для этого нужно по пути data\gamedata\cars\<my_car_name>\... в файле CarProperty.ini добавить раздел [Passangers] и в него добавить строки: (Shift =X.X; X.X; X.X, AngleX=X.X, AngleZ=X.X, SeatType = "X").

Пример:
[Passangers]
seat_1 = (Shift =0.45; -0.023; 0.645, AngleX=0.0, AngleZ=0.0, SeatType = "MuchSpace")
seat_2 = (Shift = -0.45; -0.023; 0.645, AngleX=0.0, AngleZ=0.0, SeatType = "MuchSpace")

Эти строки несут в себе информацию о расположении пассажиров и углах вращения по X, Z, а также какой тип анимации будет применяться в данном автомобиле. Все данные в строчке seat_1 = (... — относятся к первому пассажиру, данные в строчке seat_2 = (... — относятся ко второму пассажиру. Во всех нижеприведённых примерах в настройках сцен 3DS Max использовались следующие установки единиц измерения Unit Setup:

2. Координаты пассажиров
Пассажиры имеют свой «центр» — pivot (опорные точки) — расположение отображено на изображении ниже, он смещён по оси Z относительно нижней точки соприкосновения с сиденьем примерно на 0,115 метра.



Для того, чтобы верно расположить пассажира в машине необходимо знать координаты pivot’a пассажира относительно нуля координат и расположение самого автомобиля в сцене 3DS Max. Координаты пассажиров записываются в следующем формате: -X Z Y. Значения выставляются относительно центра координат, а не относительно pivot'а автомобиля. На изображении ниже приведен пример расположения пассажира и проиллюстрированы значения смещения пассажира, а также соответствие порядка формата координат из 3DS Max и значений в CarProperty.ini.

3. Углы поворота пассажиров
Зачастую требуется повернуть пассажира — «наклонить вперед» или «откинуть назад», либо развернуть его по вертикальной оси. Для этого необходимо изменить значения: AngleX=X.X, AngleZ=X.X, где значения AngleX указывает угол поворота модели пассажира в градусах по оси X, а AngleZ вокруг оси Z соответственно. Вращение производится относительно pivot’a пассажира. На изображениях ниже наглядно отображены значения углов и направления поворота по соответствующим осям.



4. Тип анимации
За данный параметр отвечает SeatType = "X"

Пассажиры имеют два типа анимации:
  1. Анимация при нормальном пространстве на заднем сиденье — в таком случае используется анимация MuchSpace — и записывается в CarProperty.ini как SeatType = "MuchSpace".
  2. При малом пространстве для пассажира используется вторая анимация LittleSpace и записывается как SeatType = "LittleSpace".

На изображениях ниже показаны примеры положения пассажиров при нормальном и маленьком пространстве.

5. Ускорение работы
Для удобства вычисления координат пассажиров можно использовать шаблон: создать в 3DS Max квадратный Plane шириной 1.1 метр и высотой 1.1 метр -> нанести на него одно из следующих изображений -> выровнять pivot плейна по pivot’у, обозначенному на изображении -> затем, путем перемещения и вращения по двум вышеописанным осям, подогнать положение шаблона под нужный автомобиль.



В результате имеем примерно следующий результат:



И получаем данные о положении и углах поворота для записи в CarProperty.ini.