DecalCreator.CreateDynamicDecal (UnityEngine.Mesh, UnityEngine.GameObject, Frameshift.Decal.DecalType, UnityEngine.Material) Method

DecalFramework

DropDown image DropDownHover image Collapse image Expand image CollapseAll image ExpandAll image Copy image CopyHover image

Create Decal GameObject with material override.

Namespace: Frameshift.Decal
Assembly: Frameshift.Decal (in Frameshift.Decal.dll)

Expand  imageSyntax

C#
public static GameObject CreateDynamicDecal( 
Mesh decalMesh
GameObject obj
DecalType decalType
Material materialOverride 
);

Parameters

decalMesh

Decal mesh in world space

obj

Parent(Holder) for Decal

decalType

Type of this Decal

materialOverride

Material override for Decal

Return Value

DecalExpeditor for this decalType on this obj

Expand image Example

 CopyCode imageCopy Code
 
RaycastHit hit; 
Ray ray = Camera.main.ViewportPointToRay(new Vector3(0.5F, 0.5F, 0)); 
bool wasHit = Physics.Raycast(ray, out hit); 
if (wasHit) 

Material m = null; 
if (hit.collider.gameObject.renderer) 

//Get material instanse 
m = Instantiate(i_decalType.i_material) as Material; 
//Get bump from hited surface 
Texture2D bumpMap = 
hit.collider.gameObject.renderer.sharedMaterial.GetTexture("_BumpMap") as 
Texture2D; 
Vector2 bumpScale = 
hit.collider.gameObject.renderer.sharedMaterial.GetTextureScale("_BumpMap"); 
Vector2 bumpOffset = 
hit.collider.gameObject.renderer.sharedMaterial.GetTextureOffset("_BumpMap"); 
//Setup new bump 
m.SetTexture("_SourceBumpMap", bumpMap); 
m.SetTextureScale("_SourceBumpMap", bumpScale); 
m.SetTextureOffset("_SourceBumpMap", bumpOffset); 
 
//Burn decal 
Mesh decalMesh = DecalCreator.CreateDecalMesh(i_decalType, hit.point, 
-hit.normal, hit.collider.gameObject); 
//Create Decal Object 
DecalCreator.CreateDynamicDecal(decalMesh, hit.collider.gameObject, 
i_decalType, m); 
 

}

Expand image Platforms

Unity 2.6.1

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

Expand image See Also