Data/Models/Generic

## Generic

### Description

* Properties associated with the 3D model artwork used by the game which is used by the Actors data type

### Hint

* Contains fields referenced by the Texture Select By Id event action and Model Event event for actors

## Fields Description

### (None): Bounding Box Padding

* (Unknown)Potentially an increment to the size of the model hit sphere?

### (None): Anim Aliases

* Maps animations to different animation names. This is especially useful if you want to group animations under the same name and consecutive variations.

### (None): Fuzzy Geometry Padding

* (Unknown) Increments the size of physics interacting geometries?

### (None): PortraitOffset

* This seems to move the Portrait Actor around in the Console UI Depending on the type of  Camera Used.
	+ It is Assumed (X,Y,Z) is the Coordinate System but not Verified

### (None): Texture Declarations - Slot

* (Unknown)
* Potentially part of a simplified way of texture swapping?

### (None): Tipability Blend Rate

* Rate at which actors with the Site Operation (Tipability) SOp using this model rotate to conform with the terrain topography

### (None): Tipability Pitch Maximum

* Maximum actors with the Site Operation (Tipability) SOp using this model can rotate along the y axis to conform with the terrain topography

### (None): Tipability Roll Maximum

* Maximum actors with the Site Operation (Tipability) SOp using this model can rotate along the x axis to conform with the terrain topography

### (None): Walk Animation Move Speed

* Calibrates the number of hypothetical terrain tiles traveled per second by the walk animation of the model

### Animation: Animation Speed

* Speed multiplier for all of the model's animations

### Animation: Animation (Optional)

* Adds additional animations to models using **.m3a** format files
* Used by the campaign cinematic models to give them their animations

### Animation: Animation (Required)

* Adds animations to models that lack any of their own (like many campaign unit variants) using **.m3a** format files
* Used by the campaign cinematic models and the Civilian/Civilian Female models to give them their animations
* Has potential for easy custom animation imports

### Animation: Events - Animation

* The model animation that triggers the model event
* Use the Cutscene Editor to find the exact name of the desired animation
* Hint: When using an event for a death animation, consider covering not only "Death" animation, but also all others animation proprieties that are played by death from fire, eviscerate, etc.

### Animation: Events - Attachment

* Attachment point used to attach objects spawned directly by the model event

### Animation: Events - Model Quality

* Graphics setting requirement for the model event to occur

### Animation: Events - Name

* The string name the Model Event actor event refers to when looking for this model event

### Animation: Events - Payload

* The action performed by the model event
* Exact capabilities are **Unknown** and it probably can do more
* Able to create sounds from the Sounds data type
* Able to create footprint models?

### Animation: Events - Time

* The delay from the animation starting and the model event occurring
* Use the Cutscene Editor Scene Time window (far lower left) to find the desired time point of the animation to trigger the event

### Animation: Events - Type

* The type of model event created
	+ **Actor:** Sends a model event signal to the actor using this model
		- Use the "Name" box to imput the actor's ID. The payload box is not necessary for this.
	+ **Custom:** Perform an unspecified action as a result of the model event
		- The most flexible option as it can perform the functions of all other model event types
	+ **Footprint Left:** (Unknown) Used to create a footprint model specified under the **Payload**?
	+ **Footprint Right:** (Unknown) Used to create a footprint model specified under the **Payload**?
	+ **None:** The default which does nothing
	+ **Sound:** Plays the sound specified under the **Payload** originating from the **Attachment**
		- If not attached to a unit, will most likely not work. In this case, use an actor selection instead, that casts an actor using the sound.

### Animation: Events - Variation

* Used only if there are several model variations to determine which variation(s) have the model event on playing a certain animation

### Animation: Required Animation Ex - Path

* (Unknown)
* Accepts **.m3a** format files

### Art: Facial Controller

* Facial file used to move the lips. Used on Portrait types of models. For example, if using a custom portrait of a battlecruiser, you can still use the Battlercruiser.fxa. Once set, check the flag: "Facial". Then, on each sound data used by the CActor Unit that uses this portrait model, set the Facial Animation related to this file like this: Facial Animation: Battlecruiser\_What00 for the first sound assets located in the Battlecruiser\_What file. 01 for the second, etc. Also, on each, make sure to set the Facial Group to "Default".

It is possible to make the lips move of almost every portrait model. However, like in the example above, if using a battlecruiser fxa file, but using another character's sounds, expect the lips to not be sync with the spoken words delay.

* You can't alter the Facial animation names located in each sound assets with this FXA file. This file contains precise files name that must match with each sound assets. It is perhaps impossible to know that it was "Battlecruiser\_What00", but the way to find out, is to check current sound files and copy their build. What mostly changes, if desiring to have a new portrait talk, is to only change the portait model. Else than that, conceiving the FXA file isn't from the editor.

### Art: Flags -

* **Adjust Terrain**
	+ (Unknown)
* **Always Use Portrait Model**
	+ (Unknown)
* **AO Data**
	+ (Unknown)
* **Auto Add**
	+ (Unknown)
* **Auto Unload**
	+ (Unknown)
* **Cloaked Detected Is Fully Visible**
	+ Causes a model to be fully visible when cloaked to players who can detect it, as if no cloaking effects were applied to begin with.
	+ Cloaked units normally have the bluish tint added to their models. When the unit is detected by a player and this flag is disabled, the unit's model will appear to the detecting player with that visual effect the just like how the unit appears from the perspective of the player who owns the unit.
* **Cloaked Undetected Is Hidden**
	+ Causes a model to be invisible to enemies when it is not detected.
	+ (Unsure) Probably completely hides the model as opposed to making it camouflaged with its surroundings
* **Download**
	+ (Unknown)
* **Dynamic Z Changer**
	+ (Unknown)
* **Embedded Splats Respect Opacity**
	+ (Unknown)
* **Facial**
	+ Default setting used by portraits files, which have a \*\*Facial Controller\*\*. This enables the model into linking to the facial controller, which controls the lips moving when talking. Take note that the model must have its relative valid facial controller file in order to link properly; This is especially true when attempting to download and use custom assets. However, owners of those files usually make them suitable with existings files. Ex: A different brand of Medivac Portrait can use a regular Medivac Facial Controller file.
	+ Also be advised that when creating new Portrait data, this flag may not be checked by default.
* **Fog Of War**
	+ When checked, allows the model to be shaded when hidden by the Fog of War. Unchecking it makes the fog snapshot of the model not shaded, but does not otherwise affect the model's visibility.
* **Force Texture Search**
	+ (Unknown)
* **Freeze Particles On Animation Pause**
	+ Freezes the particles from any particle emitters on the model if the animations are paused
* **Grow Bounds**
	+ (Unknown)
* **Ignorable**
	+ Makes it so a model will not be created in game if the asset has not finished loading yet. Only useful for non-critical effects that are created more than once.
	+ Launch and Impact models, such as "Marine Attack Launch" (the muzzle flash from Marine rifles) and "Marine Attack Impact" have this flag enabled.
* **Ignore Aspect Ratio Scale**
	+ (Unknown)
* **Level Off Tipability**
	+ Makes the actor settle back to having no tipability when becoming stationary.
	+ Tipability refers to tilting the model at an angle. This is most commonly observed when units traverse uneven or sloped terrain such as ramps.
* **Participates In Ragdoll On Ragdoll Collisions**
	+ (Unknown)
* **Preload Variations**
	+ (Unknown)
* **Prevent Texture Auto Update**
	+ (Unknown)
* **Prevent Texture File Tokens**
	+ (Unknown)
* **Prevented When Physics Performance Constrained**
	+ Models that are purely ragdolls need to be marked with this flag, so they don't play when the game is in low-performance situations.
* **Require Physics To Operate**
	+ Marks the model as one that will not operate as intended without physics being enabled on the game client. Accordingly, the flag prevents the model from being created without physics.
	+ This flag can be disabled to enable the model to be created regardless of whether physics is enabled, but this is likely to result in visual artifacts.
	+ Some models with physics bodies animate and function properly even when physics is disabled. These models should not be marked with this flag.
* **Show Creep Engulfment For Low Quality**
	+ (Unknown)
* **Teen Safe**
	+ If unticked hides the model if the **Reduced Violence** flag is toggled on under the Menu/Options/Graphics menu of the game
* **Variation Fallback**
	+ (Unknown)
* **Wait**
	+ (Unknown)

### Art: Image

* (Unknown) used for the static version of portraits only

### Art: Lighting

* (Unknown) used for portraits only
* Appears to have no effect on models used by actors

### Art: Low Quality Model

* Model data file used when graphics are set to low

### Art: Model

* Model **.m3** data file used
* The ones you look at in the Cutscene Editor
* Not all .m3 model data files already come with a Model data type associated with them. There are several unused models including the Fatty (old infestor model), the Hurricane Battlecruiser, the Guardian missile, the Devourer Missile, the Lazer Tank and alot more
* Models that refer to several variations do so by referencing the file containing all variations. This cannot be done without having to manually edit the link with the data editor set to XML View
* The model file used determines the basic animations and the attachment points available for actors to use

### Art: Occluding Opacity

* If the model's Occlusion is set to **Hide**, this field fetermines how opaque it is when another model is behind it with its Occlusion set to **Show**.

### Art: Occlusion

* If this field is set to **Hide**, then this model will become translucent (the degree of which can be set in **Occluding Opacity**) if there is a model behind it with this field set to **Show**.
* Typically, doodad models have this field set to **Hide**, while models of very large units such as Colossi or very small units such as Zerglings have this field set to **Show**.

### Art: Priority

* (Unknown) If too many models are on the screen at once this sets the priority for rendering the model for them compared to others?

### Art: Radius

* Hint of the model's radius, used by model attachments inheriting the scale from the parent objects and more

### Art: Scale Maximum

* The upper value for randomly choosing a scale for the model in the three dimensions

### Art: Scale Minimum

* The lower value for randomly choosing a scale for the model in the three dimensions

### Art: Selection Layer

* Used to determine what unit(s) or building(s) that get selected when you drag your mouse over them. Units that have a lower **Selection Layer** value will be the ones that get selected. If all units share the same value, then they will all be selected.
* With buildings only structures of the same type are selected with the priority still being affected by the **Selection Layer**.
* This is a very important field to change if you are making a Tower Defense map so that your builder doesn't becomes unreachable below a tower.

### Art: Selection Offset

* Determines the offset of the selection circle from the model if used by a Unit actor

### Art: Selection Radius

* Determines the size of the selection circle compared to the model
* Value is a multiplier: Selection Radius = Actor Scale X \* Model Scale X \* Selection Radius Value
* If you cannot see your selection circle or it is comically large then modify this
* Works together with model actors' **Art - Auto Scale From Selection Factor** field.

### Art: Shadow Radius

* Determines the radius of the blob shadow of the model on low graphics

### Art: Squib Type Default

* The squib type produced when the model is hit by an attack, unless otherwise specified by the **Attachment: Attachment Properties +** fields

### Art: Tech Purchase Camera

* (Unknown) Probably has to do with the campaign tech purchase camera

### Art: Tech Purchase Speed

* (Unknown) Probably has to do with the campaign tech purchase speed at which the model turns

### Art: Texture Applied Groups

* (Unknown) Probably has to do with the Select By Slot actor event
* Used by Civilian model

### Art: Tipability Width

* The width of the area used to determine tipping

### Art: Tipability

* How far the model is allowed to tip when moving over uneven terrain

### Art: Tipability Length

* The length of the area used to determine tipping

### Art: Unit Glossary Camera

* The camera used for the glossary entry for the model
* (Not Sure) Same camera as used for inventory?

### Art: Unit Glossary Variation

* Variation of the model used for the glossary

### Art: Variation Count

* How many variations of the model are there. A good example to understand how this work would be to see the "Zerg Thorn Spire Model". Variation count will seek out any files containing the same words, but is essentially looking for the numbers at the end of the file name. If variation names match, the model will be chosen randomly between the files.

### Art: Variations - Probability

* Probability of having each variation be created

### Art: Visual Radius

* If set to 0 or greater, this overrides the radius of the model's bounding sphere. The model becomes visible when its radius touches the edge of the Fog of War. If this radius is too small, the model will pop in when it becomes visible. When it is too large, the model appears inside the fog.

### Attachment: Attachment Properties - ID

* The attachment point on the model referenced
* Must be an existing point to be valid.

### Attachment: Attachment Properties - Keys

* Used for determintating which "name" of an artificial Attachement Point is created at the same location where indicated at the **Attachement ID** field. Set the value to 0 (or higher) on the new favored name to indicate which point is created. The number used here becomes the index as well for attach methods.
* If creating a shield attachement point, make sure to add more than 0 radius in the **Shield Radius** field. Using the shield point on center is a good way to create a shield point for models that lack it. This solves problematic cases of units that we can to add shield on, but that return a message error saying that there is no shield attach point.
* According to the editor tool-tip it can change one point type into another which might be useful for creating TurretZ attachment points. In fact, Photon cannon's turret is built using it.
* Can be used to assemble points into a set. Useful for attachement query (Action Actors), when it uses a filter method that checks all the same keywords points at once. The Thor Model uses this method to assemble its Weapon Points into "Set A", and has different index numbers for SetA0, SetA01 and SetA02.
* Excellent method for attaching "Damage" points on custom models, when using "Terran Flames [Size]" actors. These actors create the flames on Terran structures when reaching a certain point of health by setting fire on points named "Damage". Some custom assets do not possess those points and this field comes handy to create them (ex: select different Attachement Key Points from the model, and set on "Damage" 0 for a single point, 1 for the next point, 2 for the next, etc.).

### Attachment: Attachment Properties - Radius Target

* If the ID is set to a target type attachment point, this field determines how big an area around the point can be hit by attacks.
* Use this field, associated to any attach point (ex: Center) to solve Target Attach Volume (TAV) errors on custom models. Some models are not well configured and declare to be unable to find a suitable volume attach point, as most Action Actors have the Impact Query set to it.

### Attachment: Attachment Properties - Shield Radius

* If the ID is set to a target type attachment point, this field determines how big an area around the point can be hit by attacks when shields are active
* This field is very sensitive to its value. It's best testing the difference between 0,1 and 1 first ot gage the size of the shield impact.

### Attachment: Attachment Properties - Squib Type

* Determines the squib effect created when the ID attachment point is hit

### Editor: Editor Categories

* Flag for grouping models of a similar race together in the editor
* This field has no effect on gameplay or visuals; it is only used for organizational purposes.

### Editor: Editor Comment

* Personal notes of the map maker about the data object

### Editor: Editor Description

* Text shown in the editor UI when highlighting the data object

### Editor: Editor Name

* Name of the model
* Make this string distinctive and easy to identify relative to other custom models
* **Important**: When searching models in the Cutscene Editor, the search results will only query the text in this field and not the text in **Editor Prefix** and **Editor Suffix** fields. For example, inputting "portrait" in the search bar will include the "Refinery Portrait" model in the search results since the string "portrait" is in this field, but it would not include the "Portrait - Observer" model since the string "portrait" is in the **Editor Prefix** field.

### Editor: Editor Prefix

* Prefix added to the **Editor Name**
* Used for grouping models in the editor
* String that can be added to search for specific groups of models

### Editor: Editor Suffix

* Suffix added to the **Editor Name**
* Used for grouping models in the editor
* String that can be added to search for specific groups of models

### Editor: Editor Texture Expressions - Expression

* (Unknown) Involved with the Select By Slot actor event?

### Editor: Editor Texture Expressions - Slot

* (Unknown) Involved with the Select By Slot actor event?

### Editor: Variations - Editor Texture Expressions - Expression

* (Unknown)
* Probably linked to **Art: Variations - Texture Applied Groups** or **Editor: Editor Texture Expressions - Expression**

### Editor: Variations - Editor Texture Expressions - Slot

* (Unknown)
* Probably linked to **Art: Variations - Texture Applied Groups** or **Editor: Editor Texture Expressions - Slot**

### Texture: Texture Declarations - Adaptions - Texture: Applies to File

* Makes the external file path of the specified texture (mopaq) used by the model able to be modified
* The index used to make textures of the model able to be altered using the Texture Select By Id actor event action
* If a model uses the same texture several times under different folders the upper index value must be different to allow texture swapping

### Texture: Texture Declarations - Adaptions - Applies to Innate

* Makes the innate texture used by the model able to be modified
* The index used to make textures of the model able to be altered using the Texture Select By Id actor event action
* Not known what the enabling part does exactly

### Texture: Texture Declarations - Adaptions - Properties Remove

* (Unknown)
* Destructible Rock 6x6 has something in this field as does Destructible Texture Swapped

### Texture: Texture Declarations - Adaptions - Texture: Slot

* The slots used to refer to the textures when being swapped by the Texture Select By Id actor event action
* Can be used to tell textures apart for models that have several textures of the same type
* Known slots are: Decal, Main, Reflection, Video, Video01, Campaign, Terran, Zerg, Protoss, Merc, Body, Head, Hair, Generic 01, Generic 02, Generic 03, Generic 04 and Generic 05
* The field also accepts values for specific layers to be swapped like main.diffuse

### Texture: Texture Declarations - Adaptions - Trigger On Substring

* The final word of the textures you want to make able to be altered by the Texture Select By Id actor event action
* Some textures give problems unless the full texture name is used
* Can be viewed in the Cutscene Editor using **Show Model Data** (Shift + D) under the **Materials** folder
* Eg. Diffuse for the Aberration model diffuse texture

### Texture: Texture Declarations - Prefix

* The starting phrases of the textures you want to make able to be altered by the Texture Select By Id actor event action
* Some textures give problems unless the full texture name is used
* Can be viewed in the Cutscene Editor using **Show Model Data** (Shift + D) under the **Materials** folder
* Eg. THanson02Baneling for the Aberration model

## Related

Foliage
Actors
Events
Textures