ПредишенСледващото

Системно програмиране в QC)


Създайте свои QC скриптови файлове за съставяне на триизмерни модели на MDL-игра формат

С две думи, статията съставили списък от общи команди за съставител studiomdl с параметри, описание и примери. Нека да започнем с основното:

$ modelname
Тази команда казва studiomdl, как да се обадя и къде да поставите съставен модел.
Пример за Gordon.mdl модел:
$ Modelname "C: \ Half-Life \ клапан \ модели \ играч \ Gordon.mdl"
Пример, което показва само името на модела и затова записва в текущата папка:
$ Modelname "shlang.mdl"

$ CD
Тази команда казва на ток компилаторът studiomdl работна директория. Екипът работи по същия начин, както и "CD" команда в DOS'e.
пример за относителен път в същата папка, когато самата .qc файл:
$ Cd "."
пример на абсолютен път:
$ Cd "C: \ Half-Life \ клапан \ модели \ източник \ Гордън"

$ cdtexture
Тази команда казва на компилатора studiomdl, където текстурата.
Пример на абсолютен път:
$ Cdtexture "C: \ Half-Life \ клапан \ модели \ източник \ Гордън \ текстури"
Пример относителен път от текущата папка в подпапка текстури:
$ Cdtexture ". \ Textures"

$ externaltextures
Тази команда казва studiomdl, трябва да се запази структурата на модела като отделен файл * t.mdl. (Тук, звездичката се замества автоматично името на модела, използван главно * .mdl модел файл). Водещата "Моделиране и оживяване за Half-Life" разказва екип $ externaltextures необходимостта тези модели, които често са причинени от двигателя, но не се появяват на екрана, за да ги отделно от електрическата мрежа за съхранение текстура ще доведе до ускоряване на графика рендиране.
например:
$ externaltextures
Също така, разработчиците са замислили тази команда за лесна подмяна на текстури в някои модели, замени избрания файл * t.mdl, без да докосвате на триизмерни данни. С една дума, в момента не се използва често от тази възможност.

$ cliptotextures
Тази команда показва дали studiomdl съставяне текстурата на модела. Той обикновено се използва модели за Deathmatch играч.
например:
$ cliptotextures

$ Scale #
Макети повече или по-малко. По подразбиране е винаги 1.
Например, тя се увеличава с 1.2 пъти:
$ 1.2 Scale

$ произход
Това изместване на модела на произход. Необходимо е тази опция, за да фина настройка на модела, ако сте например модел направи над 0 на Z координата, тогава трябва да не забравяйте да посочите колко по-високо го сложите. В противен случай, моделът ще бъде погрешно pokazyvatsya на екрана. Внимание: След декомпилиране модели на оръжия от движения CS ръчни изнесат nafih не отидете, където искате, и да използвате тази команда, за да се върне модела на ръка назад, без да редактирате анимацията.
Пример корекция на Z ос:
$ Произход 0 0 36

$ eyeposition
Bot или чудовища в една игра, което трябва да кажа на играта, при което очите на чудовището се отнасят към модела на произход. Например, тъй като от грешка на ниската позиция на очите той не може да види нищо, защото на клек блока, въпреки че моделът поглежда нагоре блока 4 пъти, а след това можете да изправите пред Него.
пример на височина окото на 65 единици над земята (груб това на височина 1,6 м, ако се приеме, че 40 единици на 1 m.):
$ Eyeposition 0 0 65

$ Bbox (мин х) (мин у) (мин Z) (макс на х) (при макс у) (при макс Z)
Задава кутия дисплей размер насочване и по осите X, Y и Z. Той дава да знаете за графика на двигателя на разширен модел. Полезно е да помолите за големи модели, които без това не може да се направи, когато се грижа за привидно средни препятствия. Често това паралелепипед центриран по дължината и ширината, когато (мин х) = - (макс на х) и (мин у) = - (макс от у). Също Asking цял ръст (при макс щ), независимо от факта, че дъното на нивото на пода, така че Asking (мин, щ) = 0. Сайтът valvesoftware.com пиша, че тя се нарича още рамка (Англ. Хъл. Но не стреляйки корпус . т.е. тя не е същата като границите на кадър от сблъсък).
Пример височина дърво размери от около 6 метра:
$ Bbox -48 -48 0 48 48 240

$ СЬох (мин х) (мин у) (мин Z) (макс на х) (при макс у) (при макс Z)
Задава кутия с размерите на сблъсъци.
NB. Ще бъде необходимо да се провери дали се разочароват, в размер на него в играта, когато поставите на модела в играта карта чрез колоездач обект?
Пример мъж размер обект:
$ СЬох -16 -16 0 16 16 72

$ texturegroup
Command ви позволява да имате на вашия модел взаимозаменяеми текстура. Този пример показва как нормалната структура на главата и тялото, може да бъде заменен в игра кръвни текстури. Не забравяйте да включите .bmp разширение.
Примерът предполага, че моделът на мрежа първоначално има текстура и body_normal.bmp head_normal.bmp:
$ Texturegroup болка
<"body_normal.bmp" "head_normal.bmp">
<"body_pain.bmp" "head_pain.bmp">
>

$ renamebone
Character Studio версии 2.x и по-горе използва друго име за някои кости двукрако. Ако смесите модели или анимации от по-ранни версии, а след това те трябва да се преименува. Тази команда може лесно преименуване на костите по време на компилация, вместо да ги преименувате на всеки източник .max файл.
например:
$ Renamebone "Bip01 R ключицата" "Bip01 R Arm"

$ включва
За да включите друга компилация .qc файл.
например:
$ Включи "C: \ Half-Life \ клапан \ модели \ играч \ player_shared.qc"

$ привързаност
Задава определена точка в пространството, който е прикрепен към целевата скелетната върха. Той е разположен да се възпроизведе от мястото си на различни ефекти, например като оказване на пожар, спрайтове, и така искрене. Г. Координати от дадена точка, от отстраняване на костната система на върха.
например:
0 $ привързаност "Bip01 R Hand" 20 05 февруари

$ контролер
Тази команда позволява на играта, за да контролират осите на въртене на модела, т.е. кости. Най-очевидният пример - въртене чудовище главата в пример 1. Командата позволява играта да се върти в главата от -60 до 60 градуса по оста X. Пример 2 показва как да се направи устата контролер за чудовището можеше да говори.
Пример 1:
$ Controller 0 "Bip01 Head" XR -60 60
Пример 2:
$ Controller уста "Bone03" ZR 45 0

Забележка: командни r_drawentities 0 в конзолата скрива всички лица, както и работата си със стойностите 1, 2 и 3 в илюстрацията:

$ гама
Задава контраста на дисплея съотношение текстура модел (с други думи, съотношението γ). По подразбиране, това съотношение е определено равно на 1.8.
Пример повишаване на контраста текстура модел до 3.2:
$ Gamma 3.2
Този пример на влиянието на стойностите модел карта джудже на контраст за 5, 3 и 1.8:

$ sequencegroupsize
Това води до разделяне на файлове скелетни анимации от модела на мрежата на по-малки файлове. Необходимо е да се гарантира, че анимацията е зареден в паметта само когато е необходимо, а не да ги зарежда. Това е полезно за чудовища с по зададен сценарий анимации. Истинските съвременните компютри рядко са обременени с такива дреболии, така че не могат да го използват, освен ако не се оптимизира играта за мобилни телефони.
Пример пробив в 64K:
$ 64 Sequencegroupsize

Последователност [екстракция движение] $ "SMD" [кадъра] [комбинация] [произход] [мащаб] [верига] [рамка] [ "активност" "множител"]
Command определя типа на компилатор файл .smd с движение.


[Fps] Определя скоростта на възпроизвеждане на анимация рамки в секунда ( "кадъра в секунда" просто означава броят на "кадъра в секунда").
Пример: 15 кадъра


[Blend] Можете да видите списък на две .smd анимация файл и ги разбъркайте добре. Често се използва за комбиниране на анимации, стрелба чудовище надолу, когато той бие надолу от хълма, и стрелба, когато стрелбата по летящи мишени. С смесване автоматично изключва междинен вариант на предложението за стрелба прав. Този пример смесва трафика от -45 до +45 градуса по оста X. Този параметър не е напълно изяснен, но можете да го намерите в моделите на войници и експеримент.
Пример: смес XR -45 45


[Произход] Същото като $ произход, но се прилага само за тази анимация.
Пример: произход 0 0 13


[Scale] е същото като скалата за $ но това се отнася само за това движение.
Пример: 1.3 мащаб


[Loop] показва, че анимацията, е фиксиран, т.е. Тя ще се играе следващата безкрайно, докато разговор трафик.
Пример: контур


[Frame] Това ограничава движението възпроизвеждащи рамки.
Пример: рамка 10 май


[ 'Активност' 'мултипликатор "] Ако имате няколко хода например удар от същото оръжие, а след това тази команда ще покаже играта, че това движение трябва да се играе на 3 пъти по-често от останалите.
например:
ACT_RANGE_ATTACK2 3
Това означаваше, че движението ACT_RANGE_ATTACK2 вече е в кода на обекта.


[ 'Върти'] Оказва движение с предварително определен ъгъл
Примерът, даден от превръщането на движението на четвърт оборот:
върти -90


Събитията, които могат да предизвикат тази анимация. Параметрите промени не са много много, но това е много полезно за създаване на различни ефекти. Пет хиляди събития, т.е. че започва с пет - 5ххх обработват от играта клиент на двигателя и затова е важно за модела дизайн в играта. Събития с 0xxx за 4ХХХ работа със сървъра на двигателя и обработват по-глобални проблеми като взаимодействията с екипа или промяна на статута на обекта.
Важно е, че събитията от 5ххх могат да се обаждат: възпроизвеждане на звук, показване на спрайт до определен момент, емисиите на искри или да направя нещо друго, ако това се програмира предварително това, което трябва.

Пример 1:

Case 5004 - аудио възпроизвеждане от един кадър. Въведете пътя, като се започне с мод папка. Начинаещите ще се срещнат тук с малки проблеми, които са описани по примера.

ПРИМЕР 2:

Събития 5001, 5011 и 5021 - за спрайтове, особено огън и дим от оръжията. Този пример започва от пушка MP5 на спрайт нападение, muzzleflash1.spr координатна система в един кадър. "20" показва, че спрайт # 0 скала ще се увеличи с 2 пъти. По-долу - списък на спрайтове с поредни номера и описание на това, което те се използват:

50 A1: muzzleflash1.spr - MP5
51 А1: muzzleflash2.spr - пушки, пистолети
52 A1: muzzleflash3.spr - drotikomot aliengranta или "нокът"

Sprites трябва да се дефинира като точка на присъединяване, броят на които се определя предпоследния фигура А. Case 5001 направи, за произхода на спрайт е $ 0 привързаност, произходът 5011th спрайтове - по $ 1 привързаност и 5021st на произход - в $ Приложение 2 (и така може да се прилага до 9 на свързване).

ПРИМЕР 3:

Case 5002 - за искрите. Тук той играе координатната система, 10 и техният размер се увеличава с 5 пъти.

Пример 4:

Това е просто един случай на катери # 7 до координатната система 2. Случай 7 може да бъде всичко, но тя трябва да бъде посочен в кода ИЗКУСТВЕН ИНТЕЛЕКТ чудовище.

ПРИМЕР 5:

Case 1003 стартира механизъм на картата, озаглавена "bigexplosion" по отношение на координатната система 20.

И примера за $ последователност:

Първият пример:
$ Последователност crouch_shoot_mp5 "crouch_shoot_mp5"
Една много проста команда, съдържащ минимум необходимо, за да я накара да работи. Crouch_shoot_mp5 - името на анимацията и "crouch_shoot_mp5" - анимация файл, без .smd експанзия.

Друг пример:
$ Последователност стреля "стреля" <>
Този пример използва събитието, за да покаже работата на спрайтове и звука на стрелба. Предполага се, че звукът е зареден hks1.wav двигател игра в предварително програмиран код обекта (т.е. чудовище, герой устройство), в противен случай върху картите, които използват този модел ще трябва да изтеглите аудио файл чрез който и да е обект, който позволява изтегляне произволен звук, например, в Half-Life и CS са често използвани ambient_generic.

Пример за един прост файл:

// името на бъдещия модел
$ Modelname "proba.mdl"

// файлове обемни мрежи и анимации са взети от текущата папка
$ Cd "."

// текстурата файлове са взети от текущата папка
$ Cdtexture "."

// вектор модел на файл proba_ref.smd
тяло $ Body "proba_ref"

// 1 единична анимация (7 кадъра / S) на idle1.smd файла
$ Sequence "idle1" "празен ход" кадъра в секунда 7


Пример за модела на играта Opposing-Force:

// името на цялостен модел на гард игра противоположна сила на
$ Modelname "otis.mdl"
// пътека до файла с модел
$ Cd "."
// път към модела на текстура
$ Cdtexture "."
// мащаб 1: 1
$ 1.0 Scale


// координати на дисплея на кутия (пълен човек - голям размер)
$ Bbox -17 -17 0 17 17 72
// координати на сблъсъка на кутия
$ СЬох -16 -16 0 16 16 72

// височина на очите, тъй като във всички хуманоид
$ Eyeposition 0.000000 0.000000 63.000000

// otis_body_reference.smd модел файл
$ Body студио "otis_body_reference"

// Подмодели Група оръжия
$ Bodygroup пистолет
// По подразбиране пистолет в кобур, взета от otis_reference_wgunnholster.smd решетка файл
студио "otis_reference_wgunnholster"
// пистолет в ръката си
студио "otis_reference_wgun"
// дясната ръка поничка
студио "otis_donut_reference"
>

// Група Подмодели глави
$ Bodygroup глави
// главата по подразбиране на otis_head_bald_wht2_reference.smd файл
студио "otis_head_bald_wht2_reference"
студио "otis_head_bald_wht_reference"
>

// 1 прикачени файлове на място на цевта, където спрайт е съставен пожар
$ 0 привързаност "Bip01 R Hand" 12.000000 3.000000 4.500000

// 2 контролер: може да се върти врата
$ Controller 0 "Bip01 Head" XR -60.000000 60.000000
// и отваря устата си по време на разговор
$ Controller уста "Bone05" ZR 0.000000 45.000000


// някакво движение:
// повтарящи се движения стоят в неактивен повикване ACT_IDLE активност (в кода) с параметър 50:
$ Последователност "idle1" "idle1" кадъра 15 контур ACT_IDLE 50
// движение стоят 15 кадъра / сек с празен активност на повикване ACT_IDLE (в кода) с параметър 1:
$ Последователност "idle2" "idle2" кадъра 15 ACT_IDLE 1
.
// повтарящи разстояние движение с постъпателно преместване на X (LX) с активност на повикване ACT_WALK (както е посочено в кода) с параметър 1 и звуци npc_step1.wav време стъпки 3 и npc_step3.wav конструкция по време на рамка 18:
$ Последователност "ход" "ход" LX кадъра 30 контур ACT_WALK 1
// Събитие повтарящи се движения с изместване на X с празен дейност повикване ACT_RUN (в кода) с параметър 1 и звучи npc_step2.wav по време на стъпки 5 и npc_step4.wav по време на 13 изстрела:
$ Последователност "цикъл" "цикъл" LX кадъра 25 контур ACT_RUN 1
// удар движение да се обади дистанционно ACT_RANGE_ATTACK1 атака активност (в кода) с параметър 1 и до нула прикачени флаш Sprite muzzleflash1.spr, увеличена 21 пъти, в продължение на 2 рамки събитие + 3 (в кода и евентуално памук на звука емисии ръкав) при същите 2 рамки. По-важно е да се отбележи, сливане на две движения на shootgun_blend1.smd, когато Otis стреля под ъгъл от 50 ° надолу, а когато shootgun_blend2.smd стреля под ъгъл от 50 ° нагоре по отношение на хоризонталната позиция, те ще се съчетаят играта на двигателя в зависимост от целевата позиция:
$ Последователност "Shootgun" "shootgun_blend1" "shootgun_blend2" смес XR -50 50 кадъра 25 ACT_RANGE_ATTACK1 1
.
// ляв завой с ляв завой повикване ACT_TURN_LEFT активност (в кода) с параметър 1:
$ Последователност "turnleft" "turnleft" кадъра 15 ACT_TURN_LEFT 1
// включване на правото да се предизвика активност на десен завой ACT_TURN_RIGHT с параметър 1:
$ Последователност "turnright" "turnright" кадъра 15 ACT_TURN_RIGHT 1
.
// за движение 22 кадъра / секунда, когато Otis махаше на някого:
$ Sequence "barn_wave" "barn_wave" кадъра в секунда 22
.

Благодаря лицето по описанието на име Spider за компилиране на команди на английски език и разработчиците от номер софтуер и Valve Компания за енджина на играта Half-Life и инструменти.

<<Назад в раздел "Статьи"

Свързани статии

Подкрепете проекта - споделете линка, благодаря!