<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
					xmlns:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_2_subsect_1_thread_34864"  />
<title>rulinux.net - Статьи - General - Параметры конфигурации формата md3 в Sauerbraten</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Статьи - General - Параметры конфигурации формата md3 в Sauerbraten</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Параметры конфигурации формата md3 в Sauerbraten</title>
<link>https://rulinux.net/message.php?newsid=34864&amp;page=1#109468</link>
<guid>https://rulinux.net/message.php?newsid=34864&amp;page=1#109468</guid>
<pubDate>Fri, 30 Oct 2009 08:15:00 +0300</pubDate>
<description><![CDATA[<p>MD3 файлы могут быть использованы одним из двух способов.</p><p><p align="center"><b><i>Без конфигурации</b></i></p id=\"end{center}\"></p><p>Используйте данный способ если ваша md3 не имеет анимаций (статическая) и имеет всего одну текстуру. MD3 файлы должны располагаться в каталоге packages/models/. В каталоге модели должен располагаться скин (UV текстура, обычно skin.jpg или skin.png) и сама md3(обычно tris.md3). Так-же там может располагаться masks.jpg содержащая specmap в R канале,  glowmap в G канале, и chrome map в B канале. Движок подхватит их автоматически. Если один из файлов не найден, движок будет искать их в родительской директории. Например, если для модели flags/red не найдена tris.md3 в каталоге packages/models/flags/red/, то движок станет искать tris.md3 в каталоге packages/models/flags/. Это позволяет менять скины и геометрию.</p><p><p align="center"><b><i>С конфигурацией</b></i></p id=\"end{center}\"></p><p>Используйте данный способ если ваша md3 анимированная и имеет несколько скинов, или если вы хотите использовать прочие возможности конфигурации. Добавьте md3.cfg в каталог packages/models/. Этот файл определяет загрузку моделей, связи и пр. Следующие команды могут быть использованы в md3.cfg: </p><p><b>md3load P</b></p><p>Эта команда загрузит первую часть вашей модели. Например это может быть head.md3 из модели персонажа. P это путь к модели md3 относительно файла md3.cfg. </p><p><b>md3pitch S O M N</b></p><p>Эта команда определяет как модель реагирует на шаг. Шаг (в градусах) масштабируется S, компенсируется O, а затем фиксируется в диапазоне M..N, т.е. шаг*S + O, M, N. По умолчанию, все части модели имеют S=1, O=0, M=-360, и N=360. </p><p><b>md3skin H S M [E [F]]</b></p><p>Эта команда загрузит текстуру и отнесет ее к последней модели загруженной с помощью md3load. H это название меша на который накладывается текстура. S это путь к текстуре  относительно md3.cfg. M это набор текстур для spec (красный канал)/glow (зеленый канал) карт. Если E не равно нулю, то синий канал маски интерпретируется как chrome  карта. E (максимальная интенсивность envmap) и F (минимальная интенсивность envmap, по умолчанию: 0) значение плавающей точки в диапазоне от 0 до 1, в котором envmapping интенсивность будет варьироваться в зависимости от угла обзора . Интенсивность масштабируется в данном диапазоне, а затем умнажается на chrome map.   <b>md3bumpmap H N [S]</b></p><p>Эта команда включит поддержку карт бампа для заданного меша последней модели загружнееой с помощью md3load. H это название меша на который накладывается  карты бампа. N это текстура карты нормалей. S это путь к текстуре которая (если указано) используется вместо скина наложенного с помощью команды md3skin. Используется только если видеокарта пользователя поддерживает карты бампа, в противном случае скин наложенный с помощью md3skin имеет приимущество. Эти два скина могут быть одинаковыми. Однако скин предназначенный для бампмэппинга практически не имеет теней, в то время как плоские текстуры (без бампа) в целом должны, эта команда позволяет разделить скин для бампмаппинга и плоский.  md3spec MESH S MESH это название меша к которому применяется эффект. S это итненсивность отражений  (если не указано или стоит 0 то принимается значение по умолчанию 100, это хорошо для метала/пластика или чего-то блестящего, низкие значения, например 50 хороши для дерева и пр. , если стоит -1 отражения отключены).</p><p><b>md3alphatest MESH T</b></p><p>MESH это название меша к которому применяется эффект. Команда определяет светотеневой порог T, при котором альфа канал скина будет отбрасывать пиксели с альфой меньше чем T. Т является плавающей точкой в диапазоне от 0 до 1 (по умолчанию: 0.9). </p><p><b>md3alphablend MESH B</b></p><p>MESH это название меша к которому применяется эффект. Controls whether a model with an alpha-channel skin will alpha blend (по умолчанию: 1). </p><p><b>md3shader MESH S</b></p><p>MESH это название меша к которому применяется эффект. S это название шейдера используемого для рендеринга модели (по умолчанию: &quot;stdmodel&quot;). </p><p><b>md3glow MESH G</b></p><p>MESH это название меша к которому применяется эффект. G это масштаб glowmap(карты свечения) ( если не указано или стоит 0 то принимается значение по умолчанию 300, -если стоит -1 свечение отключено), в процентах от цвета скина. </p><p><b>md3glare MESH S G</b></p><p>MESH это название меша к которому применяется эффект. S и G являются плавающими точками указывающими масштаб величины бликов сгенерированных отраженным светом и бликов, соответственно (по умолчанию: 1 1). </p><p><b>md3envmap MESH P</b></p><p>Установка карты окружающей среды для модели. MESH это название меша к которому применяется эффект. P это путь  к карте(синтаксис похож на синтаксис команды &quot;loadsky&quot;) если не указано, то на модель будет наложена карта ближайшего обьекта , или skybox, если карта не определена. </p><p><b>md3ambient MESH A</b></p><p>MESH это название меша к которому применяется эффект. A это процент от общей освещенности(используется для затенения). если не указано или стоит 0 то принимается значение по умолчанию 30%, -1 очначает отсутствие внешнего света. </p><p><b>md3fullbright MESH N</b></p><p>MESH это название меша к которому применяется эффект. N это постоянный принудительно указанный уровень освещения используемый вместо общего. N является плавающей точкой в диапазоне от 0 до 1</p><p><b>md3anim A F N [S [P]]</b></p><p>Эта команда определяет анимацию применяемую к последней загруженной модели (md3load). A  это название анимации. Любая из перечисленных ниже анимаций может быть использована:  <ul> <li>&nbsp;dying  <li>&nbsp;dead  <li>&nbsp;pain  <li>&nbsp;idle  <li>&nbsp;forward  <li>&nbsp;backward  <li>&nbsp;left  <li>&nbsp;right  <li>&nbsp;hold 1 ... hold 7  <li>&nbsp;attack 1 ... attack 7  <li>&nbsp;jump  <li>&nbsp;sink  <li>&nbsp;swim  <li>&nbsp;edit  <li>&nbsp;lag  <li>&nbsp;taunt  <li>&nbsp;win  <li>&nbsp;lose  <li>&nbsp;gun shoot  <li>&nbsp;gun idle  <li>&nbsp;vwep shoot  <li>&nbsp;vwep idle  <li>&nbsp;mapmodel  <li>&nbsp;trigger 
</ul> F это номер кадра с которого начинается анимация. N это количество кадров в анимации. S это количество кадров в секунду. Если не указано или S=0, то 10 FPS используется по умолчанию. P определяет приоритет анимации(по умолчанию P=0).  Модель персонажа может одновременно проигрывать до двух анимаций — первичную анимацию, и вторичную анимацию. Если модели персонажа определена первичная анимация, она будет использована, в противном случае будет использована вторичная, если доступно. Первичные анимации:  <ul> <li>&nbsp;dying  <li>&nbsp;dead  <li>&nbsp;pain  <li>&nbsp;hold 1 ... hold 7  <li>&nbsp;attack 1 ... attack 7  <li>&nbsp;edit  <li>&nbsp;lag  <li>&nbsp;taunt  <li>&nbsp;win  <li>&nbsp;lose 
</ul> Вторичные анимации:  <ul> <li>&nbsp;idle  <li>&nbsp;forward  <li>&nbsp;backward  <li>&nbsp;left  <li>&nbsp;right  <li>&nbsp;jump  <li>&nbsp;sink  <li>&nbsp;swim 
</ul> Это позволяет например, воспроизвести бег со стрельбой. Торс проигрывает &quot;shoot&quot; (первичную анимацию),  а ноги проигрывают &quot;forward&quot; (вторичную анимацию). В случае если вторичная анимация отлична от &quot;idle&quot; и нет первичной анимации, то вторичная анимация  будет вести себя как первичная, а вторичной анимацией будет выступать &quot;idle&quot;.  Однако, если вы хотите определить первичную анимацию для специфичной части, вы можете явно указать приоритет для анимации, и анимация с высшим приоритетом  проиграется раньше вне зависимости от того, является ли анимация первичной или вторичной. Например вы можете выставить анимации приоритет -1 и все анимации с 0 приоритетом будут проиграны раньше, или вы можете выставить приоритет 1 или выше, тогда анимация будет проиграна до анимаций с 0 приоритетом.  Например определение анимации &quot;punch&quot; начинающейся с 131 кадра  и состоящей из 6 кадров, проигрываемой со скоростью 15 кадров в секунду: md3anim &quot;punch&quot; 131 6 15 </p><p><b>md3link P C T</b></p><p>Эта команда отвечает за линковку двух моделей. Каждая модель загруженная с помощью md3load имеет свой ID. Первая загруженная модель имеет ID 0, вторая -  ID 1, и так далее. Эти идентификаторы используются для  определения моделей и обьединения(линковки) их вместе. P это ID родительской модели. C это ID Дочерней модели. T это название тега определяющего вершины модели, которые будут обьединены.  Примечание: Удостоверьтесь что вы поняли разницу между родительской и дочерней моделью. Рендеринг начинается с модели 0 (Первая загруженная модель) и продолжается   на дочерних моделях. Представьте себе дерево, так-вот модель 0 это корень. </p><p><p align="center"><b><i>Пример конфигурации</b></i></p id=\"end{center}\"></p><p><i>md3load lower.md3 // модель № 0</p><p>md3skin l_lower ./default_l.png</p><p>md3anim dying           0   30  20</p><p>md3anim dead            30  1   25</p><p>md3anim &quot;forward|backward|left|right|swim&quot; 114 10  18</p><p>md3anim idle            164 30  30</p><p>md3anim &quot;jump|lag|edit&quot; 147     8       15</p><p>md3load upper.md3 // модель № 1</p><p>md3skin u_torso ./default.png</p><p>md3anim dying           0   30  20</p><p>md3anim dead            30  1   25</p><p>md3anim &quot;lag|edit&quot;      91  40  18</p><p>md3anim &quot;attack *&quot;      131 6   15</p><p>md3anim idle            152 1   15</p><p>md3anim pain            152 1   15</p><p>md3load head.md3 // модель № 2</p><p>md3skin h_head ./default_h.png</p><p>md3link 0 1 tag_torso</p><p>md3link 1 2 tag_head</p><p>mdlspec 50</p><p>mdlscale 20         // 20 процентов от оригинального размера</p><p>mdltrans 0 0 -1.5   // lower the model a bit </i></p>]]></description>
</item>
</channel>
</rss>