Пример #1
0
        void SetReferences()
        {
            blade  = gameObject.transform.Find("Blade").gameObject;
            guard  = gameObject.transform.Find("Guard").gameObject;
            handle = gameObject.transform.Find("Handle").gameObject;
            pommel = gameObject.transform.Find("Pommel").gameObject;
            accA   = gameObject.transform.Find("AccessoryA").gameObject;
            accB   = gameObject.transform.Find("AccessoryB").gameObject;

            handlePosOffset = handle.transform.localPosition.z;
            pommelPosOffset = pommel.transform.localPosition.z;

            trail = gameObject.GetComponent <CustomTrail>();

            colorManager = Resources.FindObjectsOfTypeAll <ColorManager>().FirstOrDefault();

            if (gameObject.name == "LeftSaber")
            {
                isLeft = true;
            }
            else
            {
                isLeft = false;
            }

            //flip left ??
        }
Пример #2
0
 public static float GetWidth(this CustomTrail trail)
 {
     if (trail == null)
     {
         return(0);
     }
     return(GetTransfomWidth(trail.PointEnd, trail.PointStart));
 }
Пример #3
0
        //creates a demo quad for displaying trail textures
        public static GameObject CreateTrailQuad(Transform startPosMarker, Transform endPosMarker, CustomTrail trail, Color col)
        {
            GameObject newQuad = new GameObject();

            Mesh quadMesh = new Mesh();

            var vertices = new Vector3[4]

            {
                startPosMarker.position,
                endPosMarker.position,
                startPosMarker.position + new Vector3(0, -0.5f, -0.5f),
                endPosMarker.position + new Vector3(0, -0.5f, -0.5f)
            };

            quadMesh.vertices = vertices;

            var tris = new int[6]
            {
                // lower left triangle
                0, 2, 1,
                // upper right triangle
                2, 3, 1
            };

            quadMesh.triangles = tris;

            var normals = new Vector3[4]
            {
                Vector3.up,
                Vector3.up,
                Vector3.up,
                Vector3.up
            };

            quadMesh.normals = normals;

            var uv = new Vector2[4]
            {
                new Vector2(1, 0),
                new Vector2(0, 0),
                new Vector2(1, 1),
                new Vector2(0, 1)
            };

            var vertexColors = new Color[4]
            {
                col, col, col, col
            };

            quadMesh.colors = vertexColors;

            quadMesh.uv = uv;

            newQuad.AddComponent <MeshFilter>().mesh       = quadMesh;
            newQuad.AddComponent <MeshRenderer>().material = trail.TrailMaterial;
            newQuad.transform.SetParent(startPosMarker.parent);

            return(newQuad);
        }
Пример #4
0
 public CustomSaberTrailHandler(GameObject gameobject, CustomTrail customTrail)
 {
     TrailInstance = gameobject.AddComponent <SFTrail>();
     _customTrail  = customTrail;
 }