Materials

From Data Realms Wiki

Revision as of 23:31, 6 July 2012 by Brendan (Talk | contribs)
Jump to: navigation, search

Materials are simply what different objects are made of, be it concrete, metal, flesh...
Some materials are naturally harder than others. Mega metal, for one, is a very tough
material, which will deflect low caliber bullets from guns like the SMG.

Material Definitions

Shelled Flesh of the local crabs is a good example because it uses almost all the Material definition types.

AddMaterial = Material
	Index = 146
	PresetName = Shelled Flesh
	Bounce = 0.6
	Friction = 0.6
	StructuralIntegrity = 40
	DensityKGPerVolumeL = 1.4
	GibImpulseLimitPerVolumeL = 18
	GibWoundLimitPerVolumeL = 0.2
	Priority = 15
	SettleMaterial = 149
	TransformsInto = 161
	Color = Color
		R = 210
		G = 120
		B = 85
	UseOwnColor = 1

This doesn't look too bad, does it? Now for an explanation of what each definition type is and does.

AddMaterial = Material // The instance call, defines the next text as parts of a Material.

	Index = 146 // Index in the Material palette - must not be one that is already used or the game will crash.

	PresetName = Shelled Flesh // The name used with CopyOf to define what Material things are made of.

	Bounce = 0.6 // Kinetic energy reflected or absorbed from collisions. 1.0 = reflects all, 0.0 = absorbs all. (Rubber, oddly enough, has 0.01 Bounce; Military Stuff has 0.85)

	Friction = 0.6 // The friction of the material. 0 is like ice, while 1 snags on to everything.

	StructuralIntegrity = 40 // How big an impulse is required to knock off a particle of this material. Mass * Velocity = Impulse

	DensityKGPerVolumeL = 1.4 // Mass in Kilograms per Liter. Water is 1KG per Liter, metals around 8.

	GibImpulseLimitPerVolumeL = 18 // Mass*Velocity per Liter an Actor or Device can take before limbs are torn or parts gibbed. 

	GibWoundLimitPerVolumeL = 0.2 // Number of wounds per Liter an Actor or Device can take before gibbing.

	Priority = 15 // The priority that a pixel of this material has to be displayed; lower numbers are lower priority. 15 is typical.

	SettleMaterial = 149 // Index of the Material to create instead of this one for special effects when knocked loose, etc. (In this case, Flesh Scraps.)

	TransformsInto = 161 // Index of the Material to create in addition to the SettleMaterial when gibbed. (In this case, Blood.)

	Color = Color // In image files defining Materials of Bunker, Terrain, or Scene objects, pixels this color are this Material.

		R = 165 // Red value

		G = 165 // Green value

		B = 165 // Blue value

	UseOwnColor = 1 // Whether to use natural color above when a pixel of terrain of this material is knocked loose [1], or not [0].

The GibWound and GibImpulse limits are used for Actors but do not figure into anything else (thus the default 15 and 0.1 values on everything from Bullet Metal to Water).

Material Textures

As shown below you can also set the texture of a material for use in maps. Put the texture just after UseOwnColor, or, if omitted, the RGB values.

...
	Color = Color
		R = 230
		G = 240
		B = 240
	TextureFile = ContentFile
		Path = Base.rte/Scenes/Textures/Snow.bmp

Custom Materials

You can create your own Materials using one of the undefined indexes, but this can complicate your use of other people's mods which might have gone ahead and used some index numbers and create a game-crashing index collision.

For anything with its own .ini file, such as Actors or Devices (but not Bunker pieces), it is safer to add your own custom Material definitions as in the example below:

	Atom = Atom
		Material = Material
			CopyOf = Bullet Metal
			PresetName = Incendiary Shotgun Flames
			Bounce = 0.0
			Friction = 1.0

This will locally override the values for the Material without affecting its use by anything else. Thus you can define them however you want without messing up your install of Cortex Command and enjoy other people's mods.

For Bunker pieces or Scenes you want to use custom materials, look at major mods like Map Pack 3 to see how they've done it without much alteration to the core Base.rte files.

Personal tools