If you want to help us maintaining this wiki, check out our discord server: https://discord.gg/3u69jMa 

MeshEditProps

From SWRC Wiki
Revision as of 20:10, 11 April 2021 by Plasma (talk | contribs) (Created page with "<source lang="c++"> //============================================================================= // Object to facilitate properties editing //==============================...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
//=============================================================================
// Object to facilitate properties editing
//=============================================================================
//  Animation / Mesh editor object to expose/shuttle only selected editable 
//  parameters from UMeshAnim/ UMesh objects back and forth in the editor.
//  
 
class MeshEditProps extends MeshObject
	hidecategories(Object)
	native;	

// (cpptext)
// (cpptext)
// (cpptext)
// (cpptext)

// Static/smooth parts
struct native FSectionDigest
{
	var() EMeshSectionMethod  MeshSectionMethod;
	var() int     MaxRigidParts;
	var() int     MinPartFaces;
	var() float   MeldSize;
};

// LOD 
struct native LODLevel
{
	var() float   DisplayFactor;
	var() float   ReductionFactor;	
	var() float   Hysteresis;
	var() int     MaxInfluences;
	var() bool    RedigestSwitch;
	var() FSectionDigest Rigidize;
};

struct native AttachSocket
{
	var() vector  A_Translation;
	var() rotator A_Rotation;
	var() name AttachAlias;	
	var() name BoneName;		
	var() float      Test_Scale;
	var() mesh       TestMesh;
	var() staticmesh TestStaticMesh;	
};

struct native MEPBonePrimSphere
{
	var() name		BoneName;
	var() vector	Offset;
	var() float		Radius;
};

struct native MEPBonePrimBox
{
	var() name		BoneName;
	var() vector	Offset;
	var() vector	Radii;
};


var const int WBrowserAnimationPtr;
var(Mesh) vector			 Scale;
var(Mesh) vector             Translation;
var(Mesh) rotator            Rotation;
var(Mesh) vector             ExpandMinVisBound;
var(Mesh) vector			 ExpandMaxVisBound;
// Testing dynamic bound updates
//var(Mesh) vector             VisSphereCenter;
//var(Mesh) float              VisSphereRadius;

var(Redigest) int            LODStyle; //Make drop-down box w. styles...
var(Animation) array<MeshAnimation>	AnimLinkups;

var(Skin) array<Material>					Material;

// To be implemented: - material order specification to re-sort the sections (for multiple translucent materials )
// var(RenderOrder) array<int>					MaterialOrder;
// To be implemented: - originalmaterial names from Maya/Max
// var(OriginalMaterial) array<name>			OrigMat;

var(LOD) float            LOD_Strength;
var(LOD) array<LODLevel>  LODLevels;
var(LOD) float				SkinTesselationFactor;

var(LOD) float            FadeSpecNear;
var(LOD) float            FadeSpecFar;
var(LOD) float            FadeDiffNear;
var(LOD) float            FadeDiffFar;

// Collision cylinder: for testing/preview only, not saved with mesh (Actor property !)
var(Collision) float TestCollisionRadius;	// Radius of collision cyllinder.
var(Collision) float TestCollisionHeight;	// Half-height cyllinder.

/*
var(Collision) array<MEPBonePrimSphere>		CollisionSpheres;		// Array of spheres linked to bones
var(Collision) array<MEPBonePrimBox>		CollisionBoxes;			// Array of boxes linked to bones
*/

var(Attach) array<AttachSocket>   Sockets;  // Sockets, with or without adjustment coordinates / bone aliases.
var(Attach) bool  ApplyNewSockets;			// Explicit switch to apply changes 
var(Attach) bool  ContinuousUpdate;			// Continuous updating (to adjust socket angles interactively)

var(Impostor) bool      bImpostorPresent;
var(Impostor) Material  SpriteMaterial;
var(Impostor) vector    Scale3D;
var(Impostor) rotator   RelativeRotation;
var(Impostor) vector    RelativeLocation;
var(Impostor) color     ImpColor;           // Impostor base coloration.
var(Impostor) EImpSpaceMode  ImpSpaceMode;   
var(Impostor) EImpDrawMode   ImpDrawMode;
var(Impostor) EImpLightMode  ImpLightMode;



cpptext
{
	void PostEditChange();

}

defaultproperties
{
     Scale=(X=1,Y=1,Z=1)
     SkinTesselationFactor=1
     Scale3D=(X=1,Y=1,Z=1)
     ImpSpaceMode=ISM_PivotVertical
}