Обсуждение: создание автомобиля

Аватара пользователя
Oskar
Администратор
Сообщения: 255
Зарегистрирован: 28 апр 2016, 11:23
Откуда: Санкт-Петербург

Обсуждение: создание автомобиля

Сообщение Oskar » 22 апр 2018, 21:28

BARSIK, как так, внутри вылетают а снаружи нет - это ведь одно и тоже, внутри те же окна что и снаружи, только вывернутые наизнанку))
Система вообще такая: Главной костью является дверь, а потом стекло привязываем к двери:

Код: Выделить всё

			"door_left","",
			"glass2","door_left"
Возможно у тебя стекло которое снаружи в одном селекшене с дверью, а так быть не должно, привязка только в model.cfg
glass2 нужно убрать из класса "Car" если оно там есть, иначе может конфликтить.

С вращением все просто
Вот к примеру моя дверь
model.cfg

Код: Выделить всё

			class FrontDoorL
			{
				type="rotation";
				angle0=0;
				angle1 = (rad 60);
				axis="door_lf_axis";
				memory=1;
				minValue=0;
				maxValue=1;
				minPhase=0;
				maxPhase=1;
				source="Door_LF";
				sourceAddress=0;
				selection="door_dside";
			};
angle1 - "rad" - угол поворота в радианах
source - с помощью этого сурса сможем управлять анимкой через конфиг
Ну а остальное вроде тут все понятно)
config.cpp

Код: Выделить всё

		class AnimationSources: AnimationSources
		{
			class Door_LF
			{
				source="door";
				animPeriod=1.0;
				sound = ""; 
				soundPosition = "DoorL_axis";
			};
		};
class Door_LF - имя класса как раз и есть тот source что указывали в model.cfg тем самым связывая их
animPeriod - время проигрывания анимации в секундах
sound - можно откопать в просмотрщике конфигруации в игре классы звуков стандартных дверей, или свой запились, я кажется в этой теме писал как это сделать

source="door"; - если оставить "door" - действие на дверь повесить не получится, за то можно прописать их в driverDoor или cargoDoors, и тогда эти двери сами будут открываться когда персонаж садится в авто

Код: Выделить всё

		driverDoor="Door_LF";
		cargoDoors[]= {"Door_LR"};
Что бы повесить действие - нужно в сурс написать "user", и уже в юзерэкшене добавлять эту дверь

Код: Выделить всё

		class UserActions
		{
			class OpenDoorL
			{
				displayNameDefault = "<img image='\A3\Ui_f\data\IGUI\Cfg\Actions\open_door_ca.paa' size='2.5' />"; 
				displayName = "<t color='#F7D065'>Открыть дверь</t>"; 
				position = "doorL_action";
				priority = 3; 
				radius = 1.0;
				onlyForPlayer = false;
				condition = "this animationPhase 'FrontDoorL' < 0.5";
				statement = "this animate [""FrontDoorL"", 1]";
			};
			class CloseDoorL: OpenDoorL
			{
				displayName = "<t color='#F7D065'>Закрыть дверь</t>";
				condition = "this animationPhase 'FrontDoorL' >= 0.5";
				statement = "this animate [""FrontDoorL"", 0]";
			};
		};

BARSIK
Пользователь
Пользователь
Сообщения: 45
Зарегистрирован: 27 фев 2018, 14:42

Обсуждение: создание автомобиля

Сообщение BARSIK » 23 апр 2018, 16:11

Oskar, ВОТ!!!!! Спасибо гигиантское, интересовало как раз, как сделать двери так, чтобы они только при посадке\высадке работали)))) И за все остальное тоже спасибо!!!!

Аватара пользователя
Den
Пользователь
Пользователь
Сообщения: 150
Зарегистрирован: 05 июн 2016, 03:57

Обсуждение: создание автомобиля

Сообщение Den » 25 апр 2018, 21:15

Здравствуйте. Решил заморочиться и сделать задние фонари авто как в этом мануале http://armatools.info/class-reflectors- ... kerlights/. Так вот, селекшин свечения габаритов до того как я добавил в конфиг class MarkerLights хайдился и анхайдился при нажатии клавиши "L" (тоесть как положено), а теперь габариты горят сразу при спавне авто даже не включая их. Как это исправить?

Аватара пользователя
Oskar
Администратор
Сообщения: 255
Зарегистрирован: 28 апр 2016, 11:23
Откуда: Санкт-Петербург

Обсуждение: создание автомобиля

Сообщение Oskar » 27 апр 2018, 06:20

Den, странно, может в последнем обновлении так сделали что теперь они сразу горят...

BARSIK
Пользователь
Пользователь
Сообщения: 45
Зарегистрирован: 27 фев 2018, 14:42

Обсуждение: создание автомобиля

Сообщение BARSIK » 27 апр 2018, 15:06

Чисто технический вопрос: я делаю грузы в моей машине как тюнинг (т.е сразу присутствуют модельки груза, но они скрыты), если я попробую сделать те-же грузы через прокси, они будут прогружатся при спавне машины, или при установке груза?

Аватара пользователя
Oskar
Администратор
Сообщения: 255
Зарегистрирован: 28 апр 2016, 11:23
Откуда: Санкт-Петербург

Обсуждение: создание автомобиля

Сообщение Oskar » 28 апр 2018, 07:48

BARSIK, разницы никакой - если сама прокси будет названа так же, как ты назвал бы этот груз, будь он внутри основной молели

Аватара пользователя
Den
Пользователь
Пользователь
Сообщения: 150
Зарегистрирован: 05 июн 2016, 03:57

Обсуждение: создание автомобиля

Сообщение Den » 28 апр 2018, 13:59

Здравствуйте. По габаритам решил проблему, сделал через class Reflectors. Но вот хочу сделать и стоп сигналы таким образом. Если делаю через тот же класс получается стопы загораются при нажатии клавиши "L", а если через class MarkerLights то горят постоянно. Вот ломаю голову как бы точки свечения привязать к "brzdo vesvetlo" что бы они хайдились вместе с этим селекшином. Или хотя бы посмотреть часть кода который отвечает за тормоза в авто. (Я чет нигде его найти не могу) Может у вас будут какие идеи?

Аватара пользователя
Oskar
Администратор
Сообщения: 255
Зарегистрирован: 28 апр 2016, 11:23
Откуда: Санкт-Петербург

Обсуждение: создание автомобиля

Сообщение Oskar » 29 апр 2018, 00:49

Den, сами точки схайдить нельзя, стопы только с помощью скриптов сделать можно. Как - я не знаю....

Аватара пользователя
Den
Пользователь
Пользователь
Сообщения: 150
Зарегистрирован: 05 июн 2016, 03:57

Обсуждение: создание автомобиля

Сообщение Den » 29 апр 2018, 08:00

Oskar, но ведь в class Reflectors где то забендено чтоб при нажатии на клавишу "L" появлялся селекшин свечения фар. Вот только где я не пойму? Если разобраться, то я думаю можно как то переделать на стопы. Или я все таки ошибаюсь?

BARSIK
Пользователь
Пользователь
Сообщения: 45
Зарегистрирован: 27 фев 2018, 14:42

Обсуждение: создание автомобиля

Сообщение BARSIK » 29 апр 2018, 15:34

Доброго времени! Приближаюсь к завершению моего первого творения. Осталось лишь пару вещей которые хотелось бы сделать\исправить. Одна из них вот эта: При отстреле всех колес, первая и вторая оси работают как надо, а задняя зависает в воздухе, будто-бы геометрия колеса осталась, а не исчезла вместе с уничтоженным колесом. Я уверен что ошибка где-то в model.cfg и пытаюсь ее найти. Но все же хотелось бы узнать где вероятнее всего может быть ошибка?

BARSIK
Пользователь
Пользователь
Сообщения: 45
Зарегистрирован: 27 фев 2018, 14:42

Обсуждение: создание автомобиля

Сообщение BARSIK » 30 апр 2018, 12:46

Вдогонку к предыдущему вопросу. Как сделать перекраску авто? Я посмотрел разбинареный конфиг дефолтного камаза, по аналогии прописал в config.cpp texturelist[], и два набора текстур. В целом в арсенале галочки появились но при переключении ничего не происходит. Я подозреваю что кроме как config.cpp надо еще где-то что-то добавить...

Аватара пользователя
Oskar
Администратор
Сообщения: 255
Зарегистрирован: 28 апр 2016, 11:23
Откуда: Санкт-Петербург

Обсуждение: создание автомобиля

Сообщение Oskar » 03 май 2018, 18:19

BARSIK, что бы работала перекраска - в модели должны быть селекшены "camo1, camo2, camo3" - в этих селекшенах должны быть детали которые будут изменять цвет
К примеру "camo1" - это основной цвет машины, "camo2" - крыша, "camo3" - цвет сидений в салоне
Тогда в конфиге в базовом классе твоего авто должен быть массив с этими камо:

Код: Выделить всё

		hiddenSelections[] = {"camo1","camo2","camo3"};
Если менять цвета только разными классами (например car_blue, car_black_blue) - то достаточно добавить в каждый такой класс массив с цветами:

Код: Выделить всё

		hiddenSelectionsTextures[]=
					{
					"osk\vehicles\cars\nissan_gtr_35\data\paint_blue.paa",
					"osk\vehicles\cars\nissan_gtr_35\data\paint_black.paa",
					"#(rgb,8,8,3)color(0,1,0,1)"
					};
Таким образом мы покрасим кузов машины в синий указав путь до текстуры, крышу в черный, а сиденья в зеленый (0,1,0,1 - это палитра в RGBA, последняя цифра альфа - всегда 1)

Чтобы была возможность красить машину через виртуальный арсенал - нужен еще массив со своими классами которые имеют набор текстур (цветов)

Код: Выделить всё

		textureList[] = {"Color_Blue_Red", 0.5, "Color_Green", 0.5};
0.5 в конце наших классов - это шанс появления авто с этим цветом (где 0 - 0%, 1 - 100%)
А затем нужен массив где мы будет уже указывать пути до этих текстур:

Код: Выделить всё

		class textureSources {
			class Color_Blue_Red{
				displayname = "Color Blue Red";
				textures[] = {"#(rgb,8,8,3)color(0,0,1,1)", "#(rgb,8,8,3)color(1,0,0,1)","#(rgb,8,8,3)color(0,0,1,1)",};
				materials[] = {};
				factions[] = {};
			};
			
			class Color_Green {
				displayname = "Color Green";
				textures[] = {"#(rgb,8,8,3)color(0,1,0,1)", "#(rgb,8,8,3)color(0,1,0,1)","#(rgb,8,8,3)color(0,1,0,1)",};
				materials[] = {};
				factions[] = {};
			};
		};
Таким образом "Color_Blue_Red" - красит кузов в синий, крышу в красный, сиденья тоже в синий, а класс "Color_Green " красит все camo в зеленый цвет.
(писал по памяти, надеюсь ничего не забыл)
============
По поводу колес - не факт что ошибка в model.cfg - по крайней мере чтобы понять где ошибка - нужно посмотреть в бульдозере - исчезают ли там все колеса? Если да, то скорей всего ошибка где то в config.cpp, или в каких то точках "posun wheel_" или "Basic_Damper_Destruct_Axis"
Лучше все эти дела проверять в дев-версии Армы скачав ее через arma tools, она встанет отдельно от стабильной версии, но в ней можно будет включить отображение хитпоинтов, и перезагружать конфиги не перезапуская игру

Аватара пользователя
Oskar
Администратор
Сообщения: 255
Зарегистрирован: 28 апр 2016, 11:23
Откуда: Санкт-Петербург

Обсуждение: создание автомобиля

Сообщение Oskar » 03 май 2018, 18:29

Den, по фарам не все так просто, там не просто селекшн включается\отключается при включении света - сами источники света которые есть в машине становятся активными - а этим через конфиг управлять нельзя, только скриптами, поэтому я и говорю что я не знаю как сделать маркерлайты на стопы.

Аватара пользователя
Den
Пользователь
Пользователь
Сообщения: 150
Зарегистрирован: 05 июн 2016, 03:57

Обсуждение: создание автомобиля

Сообщение Den » 04 май 2018, 15:20

Oskar,
но в ней можно будет включить отображение хитпоинтов, и перезагружать конфиги не перезапуская игру
не можешь ли по подробней рассказать как это далается.

Аватара пользователя
Oskar
Администратор
Сообщения: 255
Зарегистрирован: 28 апр 2016, 11:23
Откуда: Санкт-Петербург

Обсуждение: создание автомобиля

Сообщение Oskar » 04 май 2018, 21:32

Den, ну для начала надо установить дэв-версию, сделать это можно отдельно от стабильной Армы через арма тулс - "Game Updater"
Там в опциях выбрать девелоперскую версию
gameupdt.jpg
opt.jpg
В папке куда установится игра, будет экзешник дэв-версии - его надо будет переименовать в arma3_x64.exe (иначе девелоперские функции работать не будут)
Затем идем на сайт бисов, и смотрим какие функции есть. Их надо прописывать в консоли, нажать "выполнить" и перезапустить миссию
К примеру эта команда подхватит изменения в конфиге с диска P, включая .hpp'шки которые инклудятся в этот конфиг

Код: Выделить всё

diag_mergeConfigFile ["P:\osk\vehicles\cars\nissan_gtr_35\config.cpp"]
Параметры можно или изменять, или добавлять, но если удалить какой то параметр - ничего не произойдет, т.к. игра будет держать их в памяти


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость