Синтаксис:
Используется javascript
var transf : Transform;
class hitmat1 {
var enabled : boolean = true;
var texturehit : Texture2D;
var Layer : LayerMask = 1;
var distance : float = 5;
@HideInInspector var tranglind : int;
@HideInInspector var tr : Transform;
}
var hitmat1 : hitmat1 = hitmat1();
function Update() {
var hit : RaycastHit;
if (hitmat1.enabled == true && Physics.Raycast(transf.position, transf.TransformDirection(Vector3.forward), hit, hitmat1.distance, hitmat1.Layer) == true)
if (hitmat1.tranglind != hit.triangleIndex || hitmat1.tr != hit.transform) {
hitmat1.tranglind = hit.triangleIndex;
hitmat1.tr == hit.transform;
var mee : Mesh = hit.collider.mesh;
var mre : Renderer = hit.collider.renderer;
if (mee != null && mre != null) {
if (mre.sharedMaterials.Length > 1) {
var vcount : int;
for (var submesh = 0; submesh < mee.subMeshCount; submesh++) {
var indices = mee.GetTriangles(submesh);
if (hit.triangleIndex * 3 + 2 >= vcount && hit.triangleIndex * 3 + 2 < vcount + indices.Length)
if (mre.sharedMaterials[submesh].HasProperty("_MainTex") == true)
hitmat1.texturehit = mre.sharedMaterials[submesh].mainTexture;
else
hitmat1.texturehit = null;
vcount += indices.Length;
}
}else{
if (mre.renderer.sharedMaterial.HasProperty("_MainTex") == true)
hitmat1.texturehit = mre.renderer.sharedMaterial.mainTexture;
else
hitmat1.texturehit = null;
}
}
}
}
class hitmat1 {
var enabled : boolean = true;
var texturehit : Texture2D;
var Layer : LayerMask = 1;
var distance : float = 5;
@HideInInspector var tranglind : int;
@HideInInspector var tr : Transform;
}
var hitmat1 : hitmat1 = hitmat1();
function Update() {
var hit : RaycastHit;
if (hitmat1.enabled == true && Physics.Raycast(transf.position, transf.TransformDirection(Vector3.forward), hit, hitmat1.distance, hitmat1.Layer) == true)
if (hitmat1.tranglind != hit.triangleIndex || hitmat1.tr != hit.transform) {
hitmat1.tranglind = hit.triangleIndex;
hitmat1.tr == hit.transform;
var mee : Mesh = hit.collider.mesh;
var mre : Renderer = hit.collider.renderer;
if (mee != null && mre != null) {
if (mre.sharedMaterials.Length > 1) {
var vcount : int;
for (var submesh = 0; submesh < mee.subMeshCount; submesh++) {
var indices = mee.GetTriangles(submesh);
if (hit.triangleIndex * 3 + 2 >= vcount && hit.triangleIndex * 3 + 2 < vcount + indices.Length)
if (mre.sharedMaterials[submesh].HasProperty("_MainTex") == true)
hitmat1.texturehit = mre.sharedMaterials[submesh].mainTexture;
else
hitmat1.texturehit = null;
vcount += indices.Length;
}
}else{
if (mre.renderer.sharedMaterial.HasProperty("_MainTex") == true)
hitmat1.texturehit = mre.renderer.sharedMaterial.mainTexture;
else
hitmat1.texturehit = null;
}
}
}
}