Hosting and domain costs until October 2024 have been generously sponsored by dumptruck_ds. Thank you!

Difference between revisions of "FTEQW IQM Tool CommandFile Documentation"

From Quake Wiki

(Created page with "== Simple Example File == <code> output output.iqm<br /> scene reference_mesh.smd<br /> scene animation1.smd fps 25<br /> </code> == Advanced Example File == <code> output vi...")
 
Line 45: Line 45:
 
imports the meshes and animations from the specified file.<br /><br />
 
imports the meshes and animations from the specified file.<br /><br />
  
== Shared Properties ==
+
 
 +
 
 +
== Shared Scene Import Properties ==
 
<code>rotate <PITCH> <YAW> <ROLL></code><br />
 
<code>rotate <PITCH> <YAW> <ROLL></code><br />
 
rotates the model<br /><br />
 
rotates the model<br /><br />
Line 64: Line 66:
 
discards animations from the affected files, does not exclude the base pose.<br /><br />
 
discards animations from the affected files, does not exclude the base pose.<br /><br />
  
== Mesh Properties ==
+
 
 +
== Reference Mesh Properties (for the base mesh) ==
 
<code>contents <NAMES OR 0xBITS></code><br />
 
<code>contents <NAMES OR 0xBITS></code><br />
 
'body' or 'empty' are the two that are most likely to be used. 'solid' may also be desired, or possibly also 'corpse'.<br /><br />
 
'body' or 'empty' are the two that are most likely to be used. 'solid' may also be desired, or possibly also 'corpse'.<br /><br />
+
 
 
<code>surfaceflags <NAMES OR 0xBITS></code><br />
 
<code>surfaceflags <NAMES OR 0xBITS></code><br />
 
'q3_nodraw/fte_nodraw'<br /><br />
 
'q3_nodraw/fte_nodraw'<br /><br />
Line 80: Line 83:
 
not yet implemented by the engine. 0 for both is the default.<br /><br />
 
not yet implemented by the engine. 0 for both is the default.<br /><br />
  
== Anim/Import Properties ==
+
 
 +
 
 +
== Animation Properties ==
 
<code>name <NAME></code><br />
 
<code>name <NAME></code><br />
 
the imported animations will be assigned this name. May be problematic if the imported file(s) share the same name, so try to avoid using this at global scope.<br /><br />
 
the imported animations will be assigned this name. May be problematic if the imported file(s) share the same name, so try to avoid using this at global scope.<br /><br />
Line 98: Line 103:
 
<code>pack</code><br />
 
<code>pack</code><br />
 
disables unpacking again.<br /><br />
 
disables unpacking again.<br /><br />
 
<code>nomesh <1|0></code><br />
 
discards all meshed from the affected files.<br /><br />
 
 
<code>noanim <1|0></code><br />
 
discards animations from the affected files, does not disclude the base pose.<br /><br />
 
  
<code>materialprefix <PREFIX/></code><br />
 
provides a text prefix on the material name, which should make it easier for editors while still honouring shader paths.<br /><br />
 
 
 
<code>start <FIRSTPOSE></code><br />
 
<code>start <FIRSTPOSE></code><br />
 
the fist pose to import.<br /><br />
 
the fist pose to import.<br /><br />
Line 113: Line 109:
 
<code>end <LASTPOSE></code><br />
 
<code>end <LASTPOSE></code><br />
 
the last pose to import.<br /><br />
 
the last pose to import.<br /><br />
+
 
<code>rotate <PITCH> <YAW> <ROLL></code><br />
 
rotates the model<br /><br />
 
 
<code>scale <SCALER></code><br />
 
rescales the model<br /><br />
 
 
<code>origin <X> <Y> <Z></code><br />
 
moves the thing<br /><br />
 
 
 
<code>event [ANIM,]<POSE> <EVENTCODE> <"EVENTDATA"></code><br />
 
<code>event [ANIM,]<POSE> <EVENTCODE> <"EVENTDATA"></code><br />
 
embeds event info within the animation, for stuff like footsteps. How this is used depends on the engine... If used at global scope, can be reset with 'event reset' in order to not apply to later files.<br /><br />
 
embeds event info within the animation, for stuff like footsteps. How this is used depends on the engine... If used at global scope, can be reset with 'event reset' in order to not apply to later files.<br /><br />

Revision as of 03:37, 14 June 2020

Simple Example File

output output.iqm
scene reference_mesh.smd
scene animation1.smd fps 25

Advanced Example File

output view_tommygun.iqm
bone "Bone55" rename "Muzzleflash"
scene ref_tommygun.smd
rotate 0 -90 0
scene idle.smd fps 20
scene idle_fidget1.smd fps 20
scene idle_fidget2.smd fps 20
scene reload.smd fps 22
scene draw.smd fps 25
scene holster.smd fps 25
scene shoot.smd fps 34
scene shoot_last.smd fps 34
scene shoot_empty.smd fps 34

Header Data

output <FILENAME>
specified the output file name. you should only have one of these.

exec <FILENAME>
exec the specified command file, before parsing the rest of the current file.

hitbox <BODY NUM> <BONE NAME> <MIN POS VECTOR> <MAX POS VECTOR>
generates a hitmesh as a bbox centered around the bone in the base pose (the hitbox will rotate/move with animations). The bodynum will be visible to gamecode, and may merge with other hitboxes with the same group.

modelflags <NAME OR HEX>
enables the specified bit in the iqm header. supported names include q1_rocket, q1_grenade, q1_gib, q1_rotate, q1_tracer1, q1_zomgib, q1_tracer2, q1_tracer3

mesh <NAME> [MESH PROPERTIES LIST]
provides overrides for a single named mesh (properties used will be those as they're already defined, if not otherwise listed).

bone <SOURCENAME> [rename <NEWNAME>] [group <GROUPNUM>]
provides bone renaming and grouping. try to avoid renaming two bones to the same resulting name... groups may have limitations if a parent/child relationship cannot be honoured. lowest group numbers come before higher groups. by default bones will inherit their group from their parent.

import <FILENAME> [IMPORT PROPERTIES] [MESH PROPERTIES]
imports the meshes and animations from the specified file.


Shared Scene Import Properties

rotate <PITCH> <YAW> <ROLL>
rotates the model

scale <SCALER>
rescales the model

origin <X> <Y> <Z>
moves the thing

materialprefix <PREFIX/>
provides a text prefix on the material name, which should make it easier for editors while still honouring shader paths.

nomesh <1|0>
discards all meshed from the affected files.

noanim <1|0>
discards animations from the affected files, does not exclude the base pose.


Reference Mesh Properties (for the base mesh)

contents <NAMES OR 0xBITS>
'body' or 'empty' are the two that are most likely to be used. 'solid' may also be desired, or possibly also 'corpse'.

surfaceflags <NAMES OR 0xBITS>
'q3_nodraw/fte_nodraw'

body <NUMBER>
this is the 'body' value reported to gamecode when a trace hits this surface.

geomset <GEOMGROUP> <GEOMID>
by configuring this, you can have models display different body parts for different character models.

lodrange <MINDIST> <MAXDIST>
not yet implemented by the engine. 0 for both is the default.


Animation Properties

name <NAME>
the imported animations will be assigned this name. May be problematic if the imported file(s) share the same name, so try to avoid using this at global scope.

fps <RATE>
framerate for any imported animations.

loop
flags animations as looping.

clamp
disables looping.

unpack
seperates each pose of the animations into a seperate single-pose animation for compat with q1 or q2-style model animations.

pack
disables unpacking again.

start <FIRSTPOSE>
the fist pose to import.

end <LASTPOSE>
the last pose to import.

event [ANIM,]<POSE> <EVENTCODE> <"EVENTDATA">
embeds event info within the animation, for stuff like footsteps. How this is used depends on the engine... If used at global scope, can be reset with 'event reset' in order to not apply to later files.