Добавлен ScorpioT1000,
опубликован
Раздел:
Моделлинг
// сам комментарий
//============©ScorpioT1000//
// Общие параметры
//=======================//
Version { //версия моделей
FormatVersion 800, //остается 800
}
Model "Name" { // название модели
NumGeosets 1, // количество мешей
NumGeosetAnims 2, // количество анимаций видимости
NumLights 1, // количество источников света
NumHelpers 1, // количество помощников
NumBones 5, // количество костей
NumAttachments 3, // количество прикреплений
NumParticleEmitters 1, // количество старых источников частиц
NumParticleEmitters2 1, // количество источников частиц 2
NumRibbonEmitters 1, // количество источников следа
NumEvents 2, // количество событий
BlendTime 150, // время смешения
MinimumExtent { -27.125, -23.125, 0.225586 }, // минимальные границы модели
MaximumExtent { 22, 24.25, 98.5 }, // максимальные границы модели
BoundsRadius 34.4232, // радиус, при котором модель все еще видна, когда центр уходит за границы экрана
}
Sequences 2 { //последовательности
Anim "Stand" { // название анимации
Interval { 0, 3333 }, // временной интервал
Rarity 1.5, // частота воспроизведения
MoveSpeed 80, // скорость перемещения
NonLooping, // не повторять сначала
MinimumExtent { -27.125, -23.125, 0.225586 }, //минимальные
MaximumExtent { 22, 24.25, 98.5 }, //и максимальные границы для анимации
BoundsRadius 34.4232, //радиус видимости на экране для анимации
}
Anim "Walk" {
//...
}
}
GlobalSequences 2 { //глобальные анимации(у них нет названий)
Duration 967, // длительность анимации 0
Duration 467, // длительность анимации 1
//итд
}
//==============©ScorpioT1000//
// 2D изображения
//=======================//
Textures 1 { //текстуры
Bitmap { // является изображением
Image "Textures\Goldmine.blp", //путь в архиве или в папке с моделью
WrapWidth, //сохранять ширину
WrapHeight, //сохранять высоту
//текстура замощена на таблице, и если стоят эти флаги,
//то можно перейти на соседние копии текстуры. Иначе там будет черная область
ReplaceableId 1, // заменяемая текстура (значение от 1 до 32)
}
}
Materials 2 { //материалы
Material { //первый материал
ConstantColor, // постоянный цвет
SortPrimsFarZ, //сортировка по Z
FullResolution, //полное разрешение
PriorityPlane 2, //приоритет выравнивания
Layer { //первый слой
FilterMode None, //режим фильтрации слоя(см. ниже)
Unshaded, //нет тени
Unfogged, //видно в тумане
static TextureID 0, //ID текстуры
TwoSided, //двусторонний
SphereEnvMap, //карта окружения сферы
NoDepthTest,
NoDepthSet,
Alpha 2 { // анимация прозрачности(динамическая)
Linear, // тип анимации
0: 0, // номер кадра и использование альфы в долях (от 1 до 0)
1000: 1,
}
//может быть просто
//static Alpha 0.7,
}
Layer { //второй слой
TextureID 2 { //текстура может быть анимирована по id
DontInterp, // тип анимации
0: 0,
1000: 1,
}
}
}
Material { //второй материал
}
}
TextureAnims 1 { //анимации текстур
TVertexAnim { //анимация текстурных вершин
Translation 2 { //перемещение
DontInterp, //тип
0: { 0, 0, 0 },
1: { 1, 1, 1 },
}
//и прочие преобразования (см ниже)
}
}
//=============©ScorpioT1000//
// Меши, вершины и группы
//=======================//
Geoset { //первый меш (номер 0)
Vertices 4 { //вершины меша
{ -22.75, 12.9375, 42.25 },
{ -13.4375, 12.9375, 43 },
{ -22.75, 18.75, 41 },
{ -13.375, 18.75, 41.75 },
}
Normals 4 { //нормали вершин
{ -0.172104, -0.93708, -0.303745 },
{ 0.625556, -0.752452, -0.206145 },
{ -0.807936, 0.334689, -0.484998 },
{ 0.459442, 0.748768, -0.477765 },
}
TVertices 4 { //текстурные вершины
{ 0, 0 },
{ 0, 0.85 },
{ 1, 0 },
{ 1, 1 },
}
VertexGroup { //группы вершин(меша)
0, //здесь все 4 вершины меша
0, //находятся в группе 0
0,
0,
}
Faces 1 6 { //поверхность: трианглы включают в себя 6 вершин
Triangles {
{ 0, 1, 2, 3, 2, 1 },
}
}
Groups 1 1 { // группировка по костям: 1 матрица и 1 группа
Matrices { 0 }, //означает что группа 0 привязана к кости "Chest"(id 0)
//Matrices { 0, 1 }, //означает что группа 1 привязана к "Chest"(id 0) и "Origin"(id 1)
// было бы, если есть вторая группа вершин.
// тогда вверху надо написать "Groups 2 3"
}
MinimumExtent { -24.875, 12.9375, 41 }, //мин. границы этого меша
MaximumExtent { -13.375, 24.25, 98.5 }, //макс. границы этого меша
BoundsRadius 29.1094, //и радиус видимости этого меша
Anim { //для анимок
MinimumExtent { -24.875, 12.9375, 41 },
MaximumExtent { -13.375, 24.25, 98.5 },
BoundsRadius 29.1094,
}
Anim {
//...
}
//вобще, считаю, вся эта дрянь совсем не нужна,
//хватает и общих настроек всей модели(вверху)
MaterialID 0, //ID материала меша
SelectionGroup 0, //группа выделения
}
Geoset { //второй меш (номер 1)
//...
}
//=============©ScorpioT1000//
// Кости и анимации
//=======================//
//типы анимаций: (простые)DontInterp,Linear, (c InTan/OutTan)Hermite,Bezier
//типы фильтраций: None,Transparent,Blend,Additive,AddAlpha,Modulate
//ПАРАМЕТРЫ ЛЮБОГО ОБЬЕКТА:
ObjectId 0, // id объекта
Parent 0, // id родителя
Billboarded, //всегда повернут к экрану
BillboardedLockX, //тоже, но по осям..
BillboardedLockY,
BillboardedLockZ,
CameraAnchored, //закрепленная камера
GeosetId 0, // номер используемого меша
DontInherit { Translation, Rotation, Scaling }, //не наследовать указанные преобразования
//работает от родителя
//можно указать только нужные: DontInherit { Translation },
Translation 2 { //перемещение
Hermite, //тип
0: { 0, 0, -17.0679 }, //кадры и значения X,Y,Z
InTan { 0, 0, -17.0679 }, //тангенс входа
OutTan { 0, 0, -3.75045 }, //и выхода
1000: { 0, 0, -20.8183 },
InTan { 0, 0, -3.75045 },
OutTan { 0, 0, 3.75045 },
}
Rotation 2 { //вращение
Linear, //тип
0: { 0, 0, 0, 1 }, //кадры и значения
//Представление: Кватернион вращения
//Подробнее здесь: http://xgm.ru/forum/showthread.php?t=7963
1000: { -1.7, 0.601815, 0, 0.798635 },
}
Scaling 3 { // масштабирование
DontInterp, //тип
0: { 1, 1, 1 }, //кадры и значения X,Y,Z
}
//КОНЕЦ ПАРАМЕТРОВ
GeosetAnim { //анимация поверхности 1
Alpha 4 { //прозрачность(анимирована)
DontInterp, // тип перехода
0: 0, //кадры
1000: 1,
}
Color 2 { //цвет(анимирован)
Hermite,
0: { 1, 1, 1 },
InTan { 0, 0, 0 },
OutTan { 0, 0, 0 },
1: { 0.5, 0.5, 0.5 },
InTan { 0, 0, 0 },
OutTan { 0, 0, 0 },
}
DropShadow, //бросать тени
GeosetId 0, //используемый меш
}
GeosetAnim { //анимация поверхности 2
static Alpha 0.8, //прозрачность(не анимирована)
static Color { 0, 1, 0 }, //цвет(не анимирован)
}
Bone "Chest" { // кость
//ИМЕЕТ ПАРАМЕТРЫ ОБЪЕКТА
GeosetId Multiple, //применимо ко всем мешам
GeosetAnimId None,
}
Helper "Dummy01" { //Помощник
//отличается от кости отсутствием дополнительных параметров
//ИМЕЕТ ПАРАМЕТРЫ ОБЪЕКТА
}
CollisionShape "cube1" { //Форма геометрического пересечения 1
//ИМЕЕТ ПАРАМЕТРЫ ОБЪЕКТА
Box, //куб
Vertices 2 { //вершины куба
{ 57, 56, 55 },
{ 1, 2, 3 },
}
}
CollisionShape "sphere1" { //Форма геометрического пересечения 2
//ИМЕЕТ ПАРАМЕТРЫ ОБЪЕКТА
Sphere, //сфера
Vertices 1 { //центр сферы
{ 12, 13, 4 },
}
BoundsRadius 666, //радиус сферы
}
Light "Omni01" { // источник света
//ИМЕЕТ ПАРАМЕТРЫ ОБЪЕКТА
Omnidirectional, // тип
static AttenuationStart 80, // начальноая граница затухания
static AttenuationEnd 200, // конечная граница затухания
static Intensity 17, // интенсивность
static Color { 0.87451, 0.984314, 1 }, // цвет
static AmbIntensity 0, // интенсивность внешней освещённости
static AmbColor { 1, 1, 1 }, // цвет внешней освещённости
Visibility 2 { //анимация прозрачности
DontInterp,
0: 0, //кадры
1000: 1,
}
}
Attachment "Weapon Ref" { //крепление
//ИМЕЕТ ПАРАМЕТРЫ ОБЪЕКТА
AttachmentID 0, //имеет локальный id
Path "blablabla", //путь к объекту
Visibility 3 { //анимация прозрачности
DontInterp,
0: 0, //кадры
1000: 1,
}
}
PivotPoints 5 { // координаты объектов, в mdl/mdx они указываются отдельно
{ 0, 0, 39.4571 }, //это для объекта с id 0
{ 14.1266, 15.1009, 4.38412 }, //это с id 1
{ 15.0433, -18.3303, 6.96043 }, //итд
{ -21.5055, -18.0625, 6.96044 },
{ -20.6731, 15.062, 3.06344 },
//должно быть для всех
}
ParticleEmitter "one" { //Старый источник
//ИМЕЕТ ПАРАМЕТРЫ ОБЪЕКТА
EmitterUsesMDL, //использует MDL модель
EmitterUsesTGA, //использует текстуру TGA
//здесь приведу анимированные параметры(во второй - нет)
EmissionRate 2 { //частота создания
DontInterp,
0: 0,
1: 1,
}
Gravity 2 { //гравитация
DontInterp,
0: 0,
1: 1,
}
Longitude 2 { //долгота
DontInterp,
0: 0,
1: 1,
}
Latitude 2 { // разброс
DontInterp,
0: 0,
1: 1,
}
Visibility 2 { //анимация прозрачности
DontInterp,
0: 1,
1: 1,
}
Particle { //частица
LifeSpan 2 { //время жизни
DontInterp,
0: 0,
1: 1,
}
InitVelocity 2 { //начальная скорость
DontInterp,
0: 0,
1: 1,
}
Path "blabla", //путь к модели MDL
}
}
ParticleEmitter2 "SmallBlastDebris" { //источник частиц 2
//ИМЕЕТ ПАРАМЕТРЫ ОБЪЕКТА
SortPrimsFarZ, //сортировать по Z
Unshaded, //нет тени
Unfogged, //видно в тумане
static Speed 440, // скорость движения частиц
static Variation 0, // кучность
static Latitude 55, // разброс
static Gravity 3, // гравитация
// если не static, то динамические
Squirt, // распылять
LifeSpan 0.71, // время жизни
EmissionRate 4 { //частота создания (динамическая)
DontInterp,
65033: 0,
65333: 22,
65433: 0,
122167: 0,
}
static Width 24, // ширина разброса
static Length 24, // длинна разброса
// если не static, то динамические
Blend, // смешение
Rows 1, // количество строчек
Columns 1, // количество столбцов
//это если текстура состоит из кадров, например 4на4
Head, //есть голова
TailLength 0.1, //длинна хвоста
Time 0.7, //время
XYQuad, //плоские по XY
SegmentColor { //цвет сегментов(R,G,B) - всегда три
Color { 0, 0.682353, 1 },
Color { 0, 0.309804, 0.658824 },
Color { 0, 0, 0 },
},
Alpha {255, 255, 0}, //прозрачность сегментов
ParticleScaling {5, 5, 5}, // масштаб сегментов, абсолютно (1 = 100%)
LifeSpanUVAnim {0, 0, 1}, //время жизни анимации текстуры
DecayUVAnim {0, 0, 1}, //анимация разложения текстуры
TailUVAnim {0, 0, 1}, //карта хвоста
TailDecayUVAnim {0, 0, 1}, //анимация разложения текстуры хвоста
TextureID 0, // ID используемой текстуры
}
RibbonEmitter "BlizRibbon01" { //следы и пятна
//ИМЕЕТ ПАРАМЕТРЫ ОБЪЕКТА
static HeightAbove 48.312,
static HeightBelow 48.372,
static Alpha 0.35, //прозрачность
static Color { 0, 0.635294, 1 }, //цвет
static TextureSlot 0, //слот у текстуры
Visibility 2 { //анимация прозрачности
DontInterp, //тип
0: 0, //кадры
1000: 1,
}
EmissionRate 35,
LifeSpan 0.35, //время жизни
Gravity 2, //гравитация
Rows 1, //строчек у текстуры
Columns 1, //столбцов у текстуры
MaterialID 1, //id используемого материала
}
Camera "Camera01" { //камера
Position { 403.317, -10.8177, 202.115 }, //позиция глаза камеры
FieldOfView 0.538016, // угол линзы
FarClip 1000, // дальность рендеринга
NearClip 8, // ближняя вырезка
Target { //цель камеры
Position { -86.5748, -22.7399, 0.860381 }, // координаты цели
}
}
//источники звука
EventObject "SNDxDOLS" { //звук1, название - строковое id, которое можно найти в архиве в файле slk звуков
//ИМЕЕТ ПАРАМЕТРЫ ОБЪЕКТА
//НЕ ИМЕЕТ ObjectId и parent !
EventTrack 1 { //кадры воспроизведения
25,
500,
}
}
//©ScorpioT1000
5
dave_wwid
15 лет назад
5
Весьма полезно. Было бы еще классно дать дополнительно список звуков, эмиттеров частиц и следов (ribbons) с кратким их описанием. Хотя это уже скорее отдельная тема.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.