Data/Models/Foliage

## Foliage

### Description

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

### Hint

* Contains fields referenced by the Texture Select By Id event action and Model Event event for actors
* Used for the **Generate Foliage** feature of the Terrain Editor

### Fields Specific to Foliage

1. Art: Drag Coefficient
2. Art: Flexibility
3. Art: Force Normals Up
4. Art: Layer
5. Art: Random Deviation
6. Art: Spring Dampening
7. Art: Spring Strength
8. Art: Wind Influence

## Fields Description

### (None): Bounding Box Padding

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

### (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 factor 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

### 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
	+ **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**

### 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: Drag Coefficient

* (Unknown) Has to do with the physics engine of debris moving through?

### Art: Facial Controller

* (Unknown) used for some portraits like Tauren Marine, some mercs and other campaign portraits

### Art: Flags -

* **Adjust Terrain**
	+ (Unknown)
* **Always Use Portrait Model**
	+ (Unknown)
* **AO Data**
	+ (Unknown)
* **Auto Add**
	+ (Unknown)
* **Auto Unload**
	+ (Unknown)
* **Cloaked Detected Is Fully Visible**
	+ (Unknown)
* **Cloaked Undetected Is Hidden**
	+ (Unknown)
* **Download**
	+ (Unknown)
* **Dynamic Z Changer**
	+ (Unknown)
* **Embedded Splats Respect Opacity**
	+ (Unknown)
* **Facial**
	+ (Unknown) used by humanoid portraits which have a \*\*Facial Controller\*\*
* **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**
	+ (Unknown)
* **Ignore Aspect Ratio Scale**
	+ (Unknown)
* **Level Off Tipability**
	+ (Unknown)
* **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**
	+ (Unknown)
* **Require Physics To Operate**
	+ (Unknown)
* **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: Flexibility

* (Unknown) How far the model can bend in the wind?

### Art: Force Normals Up

* (Unknown) The model is directed into an upright position?

### Art: Image

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

### Art: Layer

* What kind of foliage layer this model is known as
	+ **Brush**
	+ **Grass**
	+ **Tree**

### 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

* Determines how opaque a Model is when another Model is behind it with Occlusion set to **show**

### Art: Occlusion

* **Hide:** Does not show units underneath the actor with this model
* **None:**
	+ (Unknown)
* **Show:** Reveals units underneath the actor with this model

### 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: Random Deviation

* (Unknown) Random x,y offset of the model?

### 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 TD, to make sure 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: Spring Dampening

* The rate of decay of foliage oscillations

### 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

### Art: Variations - Probability

* Probability of having each variation be created

### Art: Visual Radius

* Has to do with the creation of a sphere around the model used for updating of the model when in the fog of war if set to a value other than 0

### Art: Wind Influence

* How much the wind affects the oscillations of the foliage

### Attachment: Attachment Properties - ID

* The attachment point on the model referenced

### Attachment: Attachment Properties - Keys

* (Unknown)
* According to the editor tool-tip it can change one point type into another which might be useful for creating TurretZ attachment points

### 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

### 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

### 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
* Most map makers have little use for this field

### 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

### 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

Actors
Events
Generic
Terrain Textures
Textures