Sergey
Старейший
offline
Опыт:
44,363Активность: |
Текстовое редактирование простых моделей
Недавно попробовал вручную без всяких редакторов отредактировать модель. К примеру, модель спецэффекта Увечья:
Цитата:
Не так уж сложно оказалось поменять цвет спецэффекта. Для этого у RibbonEmitter-ов достаточно исправить строки static Color { 1, 1, 0 }, Там закодирован RGB, правда в обратном порядке. Но мне стало интересно насчет всего остального. Сами видите, весь код спецэффекта очень небольшой, а после конвертации - будет занимать 5 кб. Выходит такие простые, но красивые спецэффекты создавать довольно легко - если знать как. Как истинный нуб моделлинга начну не с изучения статей, а с тупых вопросов другим моделлерам: не могли бы вы вкратце пояснить, что в описанном выше коде модели за что отвечает. |
|
15.02.2006, 12:24 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Wulfrein
где я?
offline
Опыт:
88,242Активность: |
Цитата:
название и количество объектов (по группам) Цитата:
количество анимаций. ниже анимации и их свойства: Цитата:
название, интервал (нач. и кон. кадры), не циклическая (не проигрывается по новой, если анимация продолжается) Цитата:
затрудняюсь, но по-моему это просто номера кадров, сохраненные для какой-то важной цели Цитата:
количество используемых текстур, в "..." - путь к текстуре Цитата:
кол-во материалов, FilterMode Additive - Additive-фильтрация, Unshaded - незатененный TwoSided - двусторонний Unfogged - "незатуманенный", типа наверно через "туман войны" видно. хз в общем static TextureID 0 - АйДи текстуры. 0 - тектура как она есть, 1 - тимколор, 2 - тим глоу и тм еще есть некоторые Цитата:
помощник: имя, ObjectId 0 - хз Translation 3 - кол-во перемещений Bezier - способ рассчитывания координат при перемещении (у Алексея спроси - он лучше знает) GlobalSeqId 0 - хз InTan, OutTan - связано с Bezier, к Алексею Rotation 3 - вращения Hermite - см. Bezier Цитата:
без понятия Цитата:
ленточный излучатель частиц ObjectId 9 - хз Parent 2 - родитель, его имя (ФИО) static HeightAbove 30, static HeightBelow 30, - как я понял. ширина и длина Alpha 1 - уровень альфы - чем меньше, там материал прозрачнее static TextureSlot 0, - хз Visibility 1 - кол-во изменений видимости DontInterp - нет вида (еще есть Linear, Hermite, Bezier) 2400: 0 - кадр: свойство (1 - видим, 0 - нет) Цитата:
даже не спрашивай! Цитата:
событийный объект - в данном случае звук (звук увечья) ObjectId 12 - хз EventTrack 1 - сколько раз это событие произойдет 0 - номер кадра, на котором происходит событие. блин, вроде всё, че знал, рассказал. я и сам не читал никаких статей (тока про импорт в макс, но я им не пользуюсь, ибо не умею (позор мне)) |
|||||||||||
15.02.2006, 16:26 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
Sergey так ведь это все уже по-людски(или почти по-людски) описано в статье про формат mdl
NETRAT добавил: Ну, поскольку, некоторые поля вызывают затруднения даже у других моделлеров, попытаюсь обьяснить некоторые из них. Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
RibbonEmitter "BlizRibbon02" { ObjectId 9, - порядковый идентификатор Parent 2, - обьект - родитель, фактически эмиттер наследует анимации родителя static HeightAbove 30, static HeightBelow 30, static Alpha 1, - прозрачность обьекта в долях от 0.0 до 1.0 (0.0 - польностью прозрачный) static Color { 1, 1, 0 }, - боевой раскрас (сам знаешь) static TextureSlot 0, Visibility 1 { - структура анимации видимости DontInterp, - не приближать анимации(то есть без интерполяции между ключевыми кадрами) 2400: 0 - значит по таймлайну в точке 2400 обьект будет невидим С ленточными очень мало работал(почти не работал), так что точно сказать не могу, зато насчет обычных Particle Emitter'ов - все что угодно EmissionRate 35, - частота излучения - стало быть частота создания частиц LifeSpan 0.6, - продолжительность жизни(до исчезновения) Rows 1, - текстура дублируется по горизонтали - то есть это фактически сколько раз текстура частицы будет продублирована. Это будет выглядеть как несколько в рядок стоящих эмиттеров, работающих одинаково, однако это все же будет один эмиттер Columns 1, aka Rows только по вертикали(отношения "вертикали" и "горизонтали" чисто условные) MaterialID 0, - это порядковый номер используемого материала |
|||||
15.02.2006, 16:50 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Алексей
Где кошачья мята?!
offline
Опыт:
26,543Активность: |
Цитата:
Параметры Rows и Columns предназначены для создания анимированных частиц - точнее, для смены текстуры частицы непосредственно во время полёта. Вначале создаётся текстура вида: OOOO OOOO OOOO т.е. содержащая несколько изображений (фаз) одинакового размера. На части этих фаз может содержаться, например, огонь на стадии зарождения, на части - в момент "разгара" и т.д. Rows - число строк фаз в текстуре. Если "фазовка" частиц не используется, Rows=1. Columns - число колонок фаз. В вышеуказанном примере, Rows=4, Columns=4 Соответственно, параметры, названия которых содержат "UV", определяют изменение фазы частиц. . InTan, OutTan - значения производных анимируемых функций (InTan - при стремлении t к точке "слева", OutTan - справа). Поскольку анимируемые функции (Rotation, Translation, Scaling) в большинстве случаев непрерывны, то InTan=OutTan (почти всегда) или примерно равны (с учётом ошибок округления). Bezier - интерполяция кривыми Безье, Hermite - интерполяция сплайнами Кочанека-Бартельса. |
|
15.02.2006, 18:54 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
Алексей да, пожалуй, но выглядит это все именно так
|
15.02.2006, 19:05 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
N.Sy.Prophet
Йа Байан
offline
Опыт:
13,122Активность: |
NETRAT
Цитата:
По-людски это не назовёшь, я пока сам не залез, по статье них... ничего не понял. |
|
15.02.2006, 19:19 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Wulfrein
где я?
offline
Опыт:
88,242Активность: |
Цитата:
такой текстурой является,например, текстура Textures\Clouds8x8Fire.blp. Там 8 строк и 8 столбцов. В моделях прописываюстя Rows=8, Columns=8, т.е. она делится на 64 квадрата. |
|
16.02.2006, 08:52 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|