Jump to content

Recommended Posts

механизация:

Дим, я согласен, что по фотографии можно догадаться, что за система, но как эта систем правильно убирается\выпускается... вот тут надо копнуть глубже... желательно посмотреть видео :) .

А с "шассями" я бы еще в отдельную категорию наряду с ТУ-104-154 поставил бы ИЛ-76 и др. самолеты, где система уборки схожа ( Ил-10 и пр. )

Share this post


Link to post
Share on other sites

тут можно долго спорить :)

 

если есть фотография с выпущенными закрылками то мне кажется что все ясно. Сколько может быть разных способов для закрылка выпуститься из одного положения в другое по дуговой траектории ? Важно только понять систему крепления закрылка, а их не так много:

- неподвижная ось внутри закрылка (все мелкие самолеты, Ил-14)

- неподвижная ось вынесеная ниже закрылка в обтекатель (DC-9, DC-10, Dornier 328)

- рельса проходящая внутри закрылка (Ан-12, Ан-24, Ил-18, Ил-62, Ту-104 - Ту-134, B707)

- рельса вне закрылка в обтекателе (Boeing начиная с 727, все Airbusы, Ил-86, Ту-154, Як-42)

 

Теперь с шасси.

Я Ил-76 не изучал, но мне кажется что он попадает в раздел ломающейся стойки. Лишь с тем отличием что у него колесная тележка вдобавок поворачивается вдоль фюзеляжа. У Б-52 тоже поворачивается и у Ту-144 тоже, но по-другому. Но все эти стойки имеют в базе треугольник с одной ломающейся стороной которая становится на замок. У амфибий типа Бе-12 свой тип стоек. Частные случаи всегда были и будут. Тут уж можно выделить в одну категорию "поджимающиеся" шасси как на Ан-8, Ан-22, Ан-124 или А400М.

 

Но как бы стандартна ни была конструкция стойки, фотографии все равно нужны, так как детальки у каждой стойки свои.

Share this post


Link to post
Share on other sites

Итак, предлагаю альтернативный метод размещения чертежа.

Допустим, что чертежи в фотошопе уже подгтовлены. Переходим в 3Д макс.

Создаем примитив BOX (1), задаем геометрические размеры параллелепипеда, равные геометрическим размерам самолета (2), добавлям модификатор NORMAL для того, чтоб "вывернуть наизнанку" наш параллелепипед (3).

post-3025-1169141886_thumb.jpg

Share this post


Link to post
Share on other sites

далее жмем букву М на клаве и выбираем в редакторе материалов любую пустую ячейку. Далее жмем на кнопку STANDART и в открывшимся окне выбираем Multi\Sub-object жмем ОК.

post-3025-1169142053_thumb.jpg

Share this post


Link to post
Share on other sites

уставнавливаем кол-во компонентов материала равным 6 ( число граней паралепипеда ).

Далее выбираем 1-ый подматериал и присваиваем ему текстуру, т.е. наш чертеж. Не забудем в свитке Blin basic parametrs присвоить значение 100 параметру SELF ILLUMINATION.

post-3025-1169142182_thumb.jpg

Edited by Fishbed

Share this post


Link to post
Share on other sites

Остальным подматериалам присваиваем тоже самое методом ДРАГ ЭНД ДРОП. При копировании будут вылезать окошки с 3-мя вариантами копирования материала... Будем выбирать КОПИ.

post-3025-1169142576_thumb.jpg

Share this post


Link to post
Share on other sites

После того как все присвоено, возвращаемся к нашему первому подматериалу. Щелкаем на нем и ищем свиток BITMAP PARAMETRS. Да, попутно нажмем на кнопку "Show Map in Viewport", и найдем, на каком виде ( сверху, снизу, слева, справа и т.д) отобрахилась наша текстура. Нашли... далее жмем на кнопку VIEW в вышеуказанном свитке и получаем наш чертеж в отдельном окошке. Наша задача, таская рамку мышкой, меняя числа U V W H UV для точной настройки, подогнать рамку так, что самолет вписывался от упора до упора в наш паралеллепипед ( мы ж ведь создали его с размерами = размерам самолета )

post-3025-1169143185_thumb.jpg

Share this post


Link to post
Share on other sites

Когда рамка подгнона и наш чертеж самолета занял целиком сторону параллепипеда, просто закрываем окно. Щелкаем на кнопку GO TO PARENT до тех пор пока не увидим опять список подматериалов. Выбираем следующий подматериал, щелкаем на кнопку "Show Map in Viewport " , ищем на каком виде появилась текстура, идем в параметры битмапа и подгоняем соответствующий вид на чертеже под соотв. сторону паралелепипеда.

Повторяем то же для оставшихся подматериалов.

 

Порой может появиться неприятная вещь ( см скрин. ) в окне проекци ЛЕФТ мы видим чертеж раком, хотя вид "слева" на чертеже лежит в нашей рамке...

post-3025-1169143569_thumb.jpg

Share this post


Link to post
Share on other sites

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

Значение W=90 сделало чертеж "не раком", а значени U = 180 сделало вид на чертеж "слева" ( если оставить 0, то будет вид на чертеж "справа", т.е. чертеж зеркально отобразиться в другую сторону )

 

з.ы. я для видов справа\слева использую один и тот же чертеж ( т.е. в файле ЖПГ тока одна проекция ), а разворачиваю его, меняя значение U c 0 на 180 и наоборот

post-3025-1169143911_thumb.jpg

  • Upvote 1

Share this post


Link to post
Share on other sites

собсно за сим все :ranting2: мы получили коробку, обтянутую нашим самолетом.

Конечно каждому нравится свой метод размещения чертежей... но это на любителя. С сечениями вообще все просто делаю: в фотошопе на картинку накладываю сечение ( просто новый layer с сечением в фотошопе )... Когда сечение не нужно, иду в фотошоп, делаю LAYER невидимым, сохраняю ... сечения в максе нет :) . Если чертеж ровный и нормальный, то такой метод тоже точный, а если чертеж кривой, то можешь сечение поставить, как Дмитрий описал ( перпендикулярной плоскостью) - все равно совпадать не будет с проекциями и с моделью.

 

з.ы. прикладываю эдакий "бонус"... Чертеж, 3д макс файл с уже установленным чертежем ( тока укажите максу, где чертеж лежать будет - он спросит об этом) + грубая модель носа этого самолета. Нос создал за несколько минут для проверки размещения чертежей... и увы... все совпадает, кроме вида "спереди" - это проекция на чертеже оказалась кривой -\

з.з.ы с размещением чертежа в максе м.б. есть косяк... на этот раз мой. То, что в проекциях справа\слева передняя опора стоит на земле - это неправильно .. наверное ( башка че-то туго ща сыбражает что правильно, а что нет )...В этом случае геометрические хар-ки фюзеляжа в высоту не соответствуют реальности

3D.zip

Edited by Fishbed

Share this post


Link to post
Share on other sites

Опускаю детали моделирования стабилизатора (аналогично крылу). Уточню, впрочем, что согласно описанию управление по тангажу на Ту-124 производится всем стабилизатором. А руль выстоты расположенный на нем часто бывал просто приварен. Поэтому я не стал тратить лишние усилия и сделал стабилизатор с рулем высоты одним куском.

 

Гондолы шасси. Вытягиваем из профиля.

 

В процессе текстурирования важно аккуратно подогнать мап. Делаем как раньше - чертим несколько красных полосок поперек маппинга гондолы и совмещаем их в Edit Unwrap UVW.

 

post-159-1169155022_thumb.jpg

 

Прорезаем крышки шасси. На главных крышках есть выступы под шины. Как их делать ? Я предлагаю такой способ: вырезаем контур выпуклостей. Изнутри режем на мелкие кусочки

 

post-159-1169155194_thumb.jpg

 

Теперь берем за образовавшиеся внутри кусочков вершины и подтягиваем их вниз. Выбирая разные вершины, придаем форму выпуклостей (важно все операции проводить одновременно на всех четырех выпуклостях)

 

post-159-1169155460_thumb.jpg

 

На выпуклости прописываем другую smoothing group и идем за заслуженным чаем.

Share this post


Link to post
Share on other sites
Есть какие-то способы создания текстуры из детали, но я их не знаю.

Дмитрий, во-первых Merci Boku за такой тутор.

На многие вещи я стал смотреть с другой стороны.

Однако вернёмся к текстурной развёртке, а точнее к альтернативному пути её создания. Версия 3DMax 8-я.

 

1. Берём деталь - фюзеляж, например.

post-1828-1169179490_thumb.jpg

2. Выделяем полигоны какие нам нужны, делаем плоский маппинг и сразу же выбираем размер текстуры в метрах. Т.е. какую площадь будет покрывать наш текстурный лист.

post-1828-1169180268_thumb.jpg

3. Делаем UVWUnwrap и тащим кусок в удобное для нас место.

post-1828-1169180285_thumb.jpg

4. В окне Edit UVWs в меню Tools выбираем пункт Render UVW Template.

post-1828-1169180315_thumb.jpg

5. В открывшемся окошке проверяем размер текстурного листа 1024x1024 (или ставим что нам нужно) и давим кнопарь в самом низу. Остальные параметры можно не трогать, но можно и поиграться.

post-1828-1169180329_thumb.jpg

6. Во вновь открывшемся окне видим болванку нашей текстуры для выделенных полигонов. Записываем как отдельный BMP файл.

post-1828-1169180342_thumb.jpg

 

Далее в послойном графическом редакторе такие картинки ставим в отдельные слои и редактируем. Убираем за краями детали чёрный фон в общем. Записываем картинку в оригинальном формате редактора и копию как обычный BMP файл для 3DMax собственно. В материале для самолёта делаем рефреш текстуры.

Ну и повторяем всё вышеизложенное для остальных поверхностей.

Share this post


Link to post
Share on other sites

Scorpio,вообще-то это не альтернативный,а страндартный метод текстурирования моделей в 3д графике.То есть после того как модель готова она полностью режется на УВ-развертки,которые сохраняются в файл,затем уже по этому шаблоны рисуется текстура.Но вы упустили одну маленькую деталь и новичок,который захочет оттекстурить модель по этому методу руководствуясь вашим обяснением,столкнется с непреодолимым препятствием-а именно:

eсли выбрать группу полигонов из модификатора Editable Poly а затем задать на эту группу UVW mapping как сделали вы то после этого невозможно будет задать UVW mapping на другую группу полигонов,например на вторую половинку вашего фюзеляжа.

 

Поэтому сначала поверх editable poly кидается модификатор poly select или mesh select-уже в нем выбирается группа полигонов-затем уже поверх него uvw mapping-затем unwrap-располагаем кусок на листе.

Затем опять поверх всего-poly select(mesh select)-выбираем новую группу полигонов-снова uvw mapping и unwrap-и так далее-отдельный модификатор poly select для каждой группы полигонов.В итоге коллапсим стек-кидаем unwrap и видим всю нашу модель порезанную на выкройки.

 

Render UVW-очень полезная фича-но к сожалению существует только в восьмом максе.

Для предыдущих версий можно использовать бесплатный плагин под названием Texporter-он делает тоже самое и немножко больше.Хотя я если работаю в максе делаю просто скриншот окна юв эдитора раскрыв его на весь монитор.

Share this post


Link to post
Share on other sites

Теперь шасси.

 

У каждого самолета они как правило разные. Процесс создания шасси довольно трудоемкий и долгий, хотя конкретно никаких сложностей в нем нет. Просто много деталей - много возни. В Ту-128 ситуация нетипичная. Судя по фотографиям - его шасси как две капли воды напоминают шасси Ту-124. Удивляться тут не приходится - самолеты одной эпохи, одного конструкторского бюро, близкие по весу... Так так так, а кто здесь делал модель Ту-124 недавно ? Я :sarcastic: То есть шасси для Ту-128 у меня уже есть. Воспользусь оказией для пояснения еще одной техники которую можно употреблять если у вас уже есть модель с которой хочется позаимствовать деталек. Это merge. Выбираем в меню File / Merge. Предлагеет открыть файл. Находим Ту-124, открываем. Перед нами - иерархия его объектов, выбираем все что связано с шасси

 

post-159-1169283197_thumb.jpg

 

затем мерж задаст еще несколько вопросов типа "в сцене уже есть деталь с таким названием. Что делать ? 1 - всунуть как есть, 2 - старую заменить новой, 3 - ничего не делать, 4 - переименовать новую". В нашем случае этот вопрос не должен возникнуть так как мы импортируем новые детали. Но мерж можно использовать также чтобы синхронизировать несколько параллельных проектов с одинаковыми деталями (как например А318-А319-А320-А321). Тогда этот вопрос возникает.

Следующий вопрос звучит примерно так "деталь А была прилинкована к детали Б, а в сцене уже есть такая деталь. Что делать ? 1 - пусть А будет прилинкована к Б из сцены, 2 - порвать линк". Обычно выбираем 1.

Дальше вопрос с материалами. Если у импортируемого объекта материал называется также как один из материалов в сцене, то выскакивает такой диалог:

 

post-159-1169283667_thumb.jpg

 

1 - новый объект остается со своим материалом. Будет создан новый материал с тем же названием что и один из материалов в сцене. Другими словами - потом запутаетесь в два счета.

2 - новому объекту присваивается материал из сцены.

3 - будет создан новый материал но с другим названием.

 

Обычно выбор падает на 2, но в данном случае ситуация такая, что шасси на Ту-124 отмапены на листе который ничего не имеет общего с текстурами Ту-128. Временно импортируем создав новый материал, а потом присвоим деталям шасси материал из Ту-128 и расставим UVW маппинг где-нибудь скажем на текстуре крыла.

 

Закончив импорт получаем шасси которые конечно расположены черти где. Двигаем их на нужное место. Мда - придется править ногу основной стойки и приводной шток выпуска/запуска

 

post-159-1169284148_thumb.jpg

 

Но в общем ничего трагического, анимация осталась, маппинг есть, сейчас поправим ногу стойки и будет все ок.

Share this post


Link to post
Share on other sites

Правим ногу, двигая слайдер правим анимацию. Тут удобно сделать гондолу прозрачной (see-through) чтобы видеть как шасси размещаются внутри и чтоб не вылазили за гондолу и не цепляли за края при выпуске. Одновременно анимируем створки.

 

post-159-1169284403_thumb.jpg

 

Проделывам аналогичные операции с передней стойкой.

В шасси очень важно соблюдать иерархию объектов, не забывать делать Reset Scale, и тщательно контролировать анимацию, добавляя фреймы если надо чтобы все тяги не вылетали из шарниров. Номера фреймов тоже важны. Кадр=0 - шасси запущены. Кадр=100 - выпущены, висят в воздухе. Кадр=150 - стоят на земле, самолет пустой. Кадр=200 - максимальное сжатие. В корне всей структуры шасси должна лежать деталь c_wheelwell (соответственно l_wheelwell, r_wheelwell для основных стоек). Она пропадает когда шасси запущены - следовательно они не отрисовываются за закрытыми створками и не потребляют фпс. Само собой, если шасси не запускаются или запущенные шасси видны то эту деталь ставить нельзя.

 

post-159-1169285772_thumb.jpg

 

показаны фреймы. От 2 до 30 - открываются створки. От 30 до 70 выпускаются шасси. От 70 до 100 закрываются створки. От 100 до 200 сжимается амортизатор. Почему створки открываются от 2 а не от 0 ? Потому что если они открываются в 0, то в момент открытия появляется деталь c_wheelwell - а с ней и сами шасси. Створки успевают слегка приоткрыться прежде чем шасси вырисовываются, что влечет за собой появление на долю секунды яркой щели по периметру створок. Отодвинув начало открывания на 2 фрейма мы даем шасси время появиться. Кстати на Ту-128 передние стойки не закрываются при выпущеных шасси, так что насчет 70-100 я вас обманул.

 

А вот и сама иерархия объектов передней стойки и последовательность выпуска

 

post-159-1169285231_thumb.jpg

 

опуская детали, цепочка линков выглядит так: c_gear_stojka --- c_wheel --- c_gear_ammortizator --- c_tire. Особого внимания заслуживает деталь c_wheel. Она может быть просто дамми. Она отвечает за поворот переднего колеса, причем если самолет стоит на месте, то колесо не поворачивается. Анимация у нее такая. Кадр 100 : колесо смотрит прямо вперед. Кадр 150 : колесо развернуто назад, на 180° (по часовой стрелке). Кадр 200 : колесо смотрит снова прямо вперед (развернувшись по часовой стрелке от предыдущего положения). То есть между кадрами 100 и 200 c_wheel заставляет колесо сделать полный оборот. Конечно на большинстве самолетов колесо не может сделать полный оборот. Но максимальные углы затем ограничиваются в динамике, а анимация поворота должна в любом случае делать полный оборот.

Edited by samdim

Share this post


Link to post
Share on other sites

Игорь Гончаров прав - надо с самого начала почаще компилировать модель и смотреть ее в симе чтобы впоследствии избежать неприятностей.

Давно пора было компильнуть, займемся этим делом сейчас.

 

Экспортируем модель. Используем для этого плагин Panda. На скрине мои настройки Панды.

 

post-159-1169291621_thumb.jpg

 

Записывам скажем в файл tu128.X

Создаем папку для этого самолета в FS2004/Aircraft, назовем ее Tu-128. Проще всего скопировать какой-нибудь похожий самолет а потом навести порядок в самой папке. Я взял для примера Ту-124 - у него наверняка и автопилот похожий и ход стоек одинаковый... Потом динамщики разберутся с движками, поведением, расходом... Это уже не мое дело, я в этом не понимаю.

 

post-159-1169291797_thumb.jpg

 

Надо аккуратно проследить что все ссылки указывают на правильные файлы. В Aircraft.cfg смотрим в первую секцию [fltsim.0]

 

[fltsim.0]
title=Tupolev Tu-128
sim=Tu-128
model=
panel=
sound=
texture=
kb_checklists=
kb_reference=
atc_id=45032
atc_airline=
atc_flight_number=1259
ui_manufacturer=Tupolev
ui_type="Tu-128"
ui_variation="Soviet Air Forces"
description=bla bla bla

 

имя в title должно быть одно на весь сим. Параметр sim=Tu-128 означает, что должен быть файл Tu-128.air. Параметры model, sound, panel, texture не имеют значений, это значит что должны быть папки model, sound, panel, texture. Если бы было например texture=redArmy08, то это значит должна быть папка texture.redArmy08 - и так далее. В папке model лежат два файла: model.cfg и файл мдл. Проверить что в файле model.cfg ссылка указывает именно на файл мдл (без расширения мдл).

В Фотошопе добавляем альфа-канал к нашим текстурам. Пока что белый (т.е. без эффекта), разве что где-нибудь надо капнуть серым иначе imagetool проигнорирует альфу. Сохраняем в формате битмап 32 бит, помещаем в папку textures. Теперь открываем каждый лист текстуры в imagetool, проверяем что он в 32 бит и сохраняем. Сохранять надо обязательно, иначе сим вылетит.

 

Запускаем MakeMdl.exe и выбираем экспортный файл tu128.X, модель которую мы щас делаем tu128.mdl, лезем в закладку Options, ставим галочки как на скрине и жмем ОК. Компилирует... Важно поставить галочки именно как на скрине.

 

post-159-1169292358_thumb.jpg

Share this post


Link to post
Share on other sites

Теперь запускаем сим, выбираем Туполев / Ту-128 и наблюдаем нечто похожее на самолет

 

post-159-1169292528_thumb.jpg

 

можем даже попробовать взлететь

 

post-159-1169292554_thumb.jpg

 

фпсы пока не жрет

 

post-159-1169292577_thumb.jpg

 

Кстати обратите внимание - на первом скрине конус заборника запущен, на последнем - выпущен. Мы помнится анимировали его назвав именем konus_zabornika и используя кадры от 0 до 20. Так вот, прежде чем компилировать, я добавил в makemdl.parts.xml определение для кастомной анимации конуса:

 

<part>
<name>konus_zabornika</name>
<animation>
	<parameter>
		<code>
		  (A:RADIO HEIGHT, meters) 150 < if{ 20 } els{ 0 }
  </code>
  <lag>10</lag>
	</parameter>
</animation>
</part>

 

это конечно неправильная анимация с технической точки зрения, но в описании сказано: конус запущен на земле и на взлете а в остальное время выпущен. Ну я и рассуждаю тогда : если самолет находится на высоте меньше 150м то конус запущен, иначе - выпущен. На языке makemdl это записывается так:

(A:RADIO HEIGHT, meters) 150 < if{ 20 } els{ 0 }

или по-русски: если переменная A:RADIO HEIGHT (в метрах) имеет значение меньше 150 (< означает "<" на XML чтобы не путать с тэгами), то фрейм 20, иначе фрейм 0. А чтобы из положения 0 в положение 20 конус не перескакивал а плавно отъезжал - я добавил параметр <lag>10</lag> который означает что анимация едет со скоростью 10 фреймов в секунду, т.е. наш конус из одного положения в другое переедет за 2 секунды.

Следите за правописанием в коде ХМЛ. Он страшно хрупкий, в лучших традициях микрософта. Например после if и els не должно быть пробела, а после фигурной скобки должен быть. Названия переменных я черпаю из СДК.

Share this post


Link to post
Share on other sites

Что-то выглядит самолет не угрожающе... Пора снабдить его средствами убеждения.

Делаем пилоны. Вытягиваем ребро крыла

 

post-159-1169328439_thumb.jpg

 

Снабжаем борт ракетами. Все это операции простые, хоть и немного муторные. Добавлю, что несмотря на перенос шасси из Ту-124 пришлось провозиться еще несколько часов расставляя маппинг на листе tu128_wings_t.bmp

В результате получаем самолет издали уже похожий на Ту-128. Не хватает еще множества деталек, но с Миг-21 уже не спутаешь.

 

post-159-1169328628_thumb.jpg

 

фпс за 330 на моей средненькой карте 6600GT :) Просто когда фпсов оооочень много, то они прыгают, иногда весьма высоко. Вот вам и доказательство что количество полигонов не убивает фпс.

Завтра добавим деталек.

Share this post


Link to post
Share on other sites

На рутинных детальках не останавливаюсь. Вот поинтереснее часть : сопло. В нем есть подвижные лопатки изменяющие его форму и приводимые в движение кольцом. С кольцом все понятно - оно привязано к стандартной анимации из СДК LeverThrottle1. Кадр=0 : полный газ, кадр=50 : малый газ, кадр=100 : реверс. У 128-го реверса нет, так что анимируем кольцо между кадрами 0 (задвинуто) и 50 (выдвинуто). С лопатками интересней. Они тоже анимированы стандартной анимацией, с этим вопросов никаких. Интересный момент - это как быстро и просто сделать 24 лопатки и точно и аккуратно их анимировать.

 

Сначала делаем одну. Загибаем слегка, добавляем не то ребра жесткости не то приводные тяги, по две на каждую лопатку. Перемещаем пивот поинт в центр кольца - лопатки располагаются по кругу вокруг этого центра. Затем жмем на Shift и поворачиваем лопатку на 30°. Она дублируется, при этом выскакивает диалог. Выбираем "Instance" и 11 копий.

 

post-159-1169513849_thumb.jpg

 

Теперь анимиурем все 12 лопаток одновременно. Выбираем их всех. Пока что пивот находится в центре кольца (1). Выбираем Pivot / Center to Object, пивоты распределяются по лопаткам (2). Двигаем вдоль оси Y до края лопаток (3). Это и будет их конечное положение. Теперь, все еще с выбраными лопатками, анимируем их все сразу. Устанавливаем их в открытое положение в кадре 50, закрытое в кадре 0. (4-5). Чтобы в закрытом положении лопатки не въезжали друг в друга, выбираем каждую вторую и чуточку прикрываем их. Теперь копируем все 12 лопаток и помещаем копии на второе сопло. Получили анимированые сопла, смотрится вполне эффектно.

 

post-159-1169514448_thumb.jpg

 

Добавим еще пару деталек - приборную панель и открывающиеся заслонки (кастомная анимация - вот ее код :

(A:RADIO HEIGHT, meters) 350 < (A:GENERAL ENG THROTTLE LEVER POSITION:1, percent) 60 > && if{ 20 } els{ 0 }

,

post-159-1169514731_thumb.jpg

 

Экспортируем, компилируем, смотрим в симе. Кстати, это скрин номер 100. За сто скринов мы научились довольно многому. В общем, изложенного в этом туториале достаточно чтобы успешно закончить внешнюю модель. Поэтому не буду утомлять вас скринами типа "сделали еще одну антенку". Доделаю мелочи на досуге, затем займемся ВК.

 

post-159-1169514874_thumb.jpg

Edited by samdim

Share this post


Link to post
Share on other sites

Вот забавную штуку придумал. Думаю что на платниках мне не понадобится, поэтому делюсь. Приделал на Ту-128 пламя в сопло. На малом газе там совсем темно, а с повышением оборотов появляется слабое голубое свечение которое плавно усиливается а потом переходит в ярко желтое и наконец включается эффект форсажа. На скрине разница между 0 и 1 практически не видна, но она есть, ночью видно.

 

post-159-1169592449_thumb.jpg

 

Вопрос - как это сделано ? Особенно плавное нарастание яркости голубого пламени.

 

Подсказка: здесь 6 уровней яркости, но с тем же успехом можно сделать и 26, просто фпсы жалко. Одно из решений - делать детальку с текстурой пламени в 6 экземплярах с разной яркостью и создать для каждой visibility condition через кастомный ХМЛ код. А если уровней яркости 26 ? Такое решение неэлегантно ;)

Edited by samdim

Share this post


Link to post
Share on other sites

А вот и решение :) Всем кто будет использовать - писать copyright Samdim ! :clapping:

 

post-159-1169593316_thumb.jpg

 

1 : внутренность сопла (форсажная камера)

2 : стопка прозрачных дисков

3 : диск с нарисованым голубым пламенем

4 : дамми prop0_blurred

5 : конус из светящегося материала

 

сопло находится справа.

Диск с голубым пламенем (3) прилинкован к дамми prop0_blurred (4). Это обеспечивает ему вращение а также условие на его появление - когда двигатель выключен, диск пропадает.

Прозрачные диски (2) имеют материал с прозрачностью 40%, цвет черный, спекулар черный. При виде снаружи они закрывают диск с пламенем. Их 4, значит их общая прозрачность равна 1 - 0.4*0.4*0.4*0.4 = 98% то есть диска практически не видно.

Диск с пламенем анимирован через lever_throttle1 - когда тяга увеличивается диск сдвигается в сторону сопла и пересекает прозрачные диски. Таким образом, придвинувшись к соплу его сначала закрывают 4, потом 3, потом 2 прозрачных диска, потом один, потом ни одного. Соответственно яркость пламени растет всякий раз. При приближении к максимальному значению РУДа, анимированый желтый конус (5) выдвигается занимая весь объем форсажной камеры. При этом включается эффект форсажа (о том как - после).

Относительный сдвиг диска в сторону сопла не заметен, потому что прозрачные диски расположены близко друг к другу. Как видите, ничего не мешает поставить не 4 а хоть 24 прозрачных диска, уменьшив соответственно их прозрачность - при этом переход синего пламени от темного к яркому будет абсолютно плавным. Но я пожалел графический движок сима, тяжко бедному считать 24 степени прозрачности...

 

Вот так, век живи - век изобретай :clapping:

Share this post


Link to post
Share on other sites

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

 

post-159-1169595331_thumb.jpg

 

ну и вид сбоку

 

post-159-1169595348_thumb.jpg

  • Upvote 1

Share this post


Link to post
Share on other sites
2 Samdim. Небольшое замечание, думаю, пригодится. Регулируемое сопло применяется на двигателях с форсажной камерой, и работает так : Малый газ - сопло полностью открыто ;

Начиная с некоторых оборотов ( зависит от типа двигателя ) сопло полностью прикрывается (для получения максимальных тяговых характеристик);

Максимал - сопло по-прежнему прикрыто ;

Минимальный форсаж - сопло приоткрывается, но не полностью;

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

Отсюда вопрос - как всё это реализовать? По дефолту не получится?

 

Вообще-то в симе нет понятий "минимальный форсаж" и "максимальный форсаж", есть просто форсаж и усе. Можно считать что минимальный форсаж - это РУД от 95% до 100%, а Shift+F4 вызывает максимальный форсаж.

 

По дефолту анимировать не получится, но это не страшно, за редким исключением вообще все детали лучше анимировать кастомными анимациями.

Итак, допустим на оборотах 80% сопло прикрывается, на 95% приоткрывается а на полном форсаже открыто полностью. Закрыто: кадр=0, открыто: кадр=50.

 

От 0 до 80% РУД сопло потихоньку закрывается. (A:GENERAL ENG THROTTLE LEVER POSITION:1, percent) изменяется от 0 до 80, соответственно кадр должен изменяться от 0 до 50, откуда зависимость кадр=РУД*0.625

От 80% до 95% лопатки неподвижны. кадр = 50.

От 95% до 100% лопатки приоткрываются, скажем до кадра 30, откуда зависимость кадр=-4*РУД/3+157.

Если включен форсаж (А:AFTERBURNER ON, bool) - не уверен насчет названия переменной - то кадр=0

 

Откуда получаем код для кастомной анимации:

 

(A:AFTERBURNER ON, bool) 1 == 
if{ 0 }
els{ (A:GENERAL ENG THROTTLE LEVER POSITION, percent) s0 80 < 
 if{ l0 0.625 * } 
 els{ l0 95 > 
if{ 157 1.33 l0 * - } 
els{ 50 } 
  }
 }

Share this post


Link to post
Share on other sites

Хороший и подробный туториал. Спасибо большое.

Но , мне кажется , один момент упущен. Дело вот в чем...

столкнулся с проблемой при создании шасси .Взять дефолтный Боинг-747, при отрыве передней стойки...так скажем , тележки основных стоек ведут себя не хорошо. Задняя часть "утопает" в полосе , передняя же приподнимаеться...т.е. тележка не подвижная. На скрине автора в этой теме, видно что при отрыве передней стойки , тележки остаются в плоскости полосы. В чем секрет?

Поиском не нашел ответа и SDK не дает ответа. Здесь этот момент упущен, так как основные шасси взяты готовыми.

 

Прошу помочь в этом вопросе.

Share this post


Link to post
Share on other sites

шасси взяты от Ту-124, если посмотреть на модель то они себя ведут правильно и никуда не утопают.

 

Есть две техники. Правильная и неправильная.

Неправильная : используется когда нет кастомной анимации (ФСДС) или ей лень заниматься. Шасси на кадре 100 выставляются в "висячее" положение. Поскольку пустой крафт на земле соответствует кадру 150, то между кадрами 100 и 150 достаточно анимировать тележку чтобы она переходила из висячего положения в лежачее. Экспериментально было выяснено что лучше всего анимировать между 100 и 110-120. Можно также симулировать наклон фюзеляжа при взлете/посадке играя с наклоном тележки в зависимости от кадра. Метод не очень точный, но в "нормальных" ситуациях ведет себя достаточно приемлемо. Примеры: Ил-86, Ил-96, Ту-114...

 

Вторая техника правильная : кастомная анимация. Тележка привязывается к дополнительной кастомно анимированой части (или сама тележка является ею). Анимация базируется на принципе что угол наклона тележки это со знаком минус угол атаки самолета (A:PLANE INCIDENCE, degrees) конечно же когда самолет на земле. У каждого видимо своя техника, примеров есть немало. Самые закрученые привязаны к конкретному самолету и выслеживают (A:RADIO HEIGHT, feet). В моем случае я использую один и тот же код, который хорошо подходит к туполевым. Примеров у меня пока два : Ту-124 и Як-42, но в моделях зашито уже не раз: Ту-134, Ан-12, Ту-128.

Edited by samdim

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...