73 GameObject obj=
new GameObject(
"Clip");
75 obj.AddComponent<SkinnedMeshRenderer>();
77 SkinnedMeshRenderer renderer_= obj.GetComponent<SkinnedMeshRenderer>();
81 Mesh _mesh=
new Mesh();
83 _mesh.vertices =
new Vector3[] {
new Vector3(-1f, -1f, 0),
new Vector3(1f, -1f, 0),
new Vector3(-1f, 1f, 0),
new Vector3(1f, 1f, 0)};
86 _mesh.uv =
new Vector2[] {
new Vector2(0, 0),
new Vector2(1, 0),
new Vector2(0, 1),
new Vector2(1, 1)};
88 _mesh.triangles =
new int[] {0, 1, 2, 1, 3, 2};
90 _mesh.RecalculateNormals();
92 renderer_.material =
new Material (Shader.Find(
" Diffuse"));
100 BoneWeight[] weights=
new BoneWeight[4];
104 weights[0].boneIndex0 = 0;
106 weights[0].weight0 = 1;
110 weights[1].boneIndex0 = 0;
112 weights[1].weight0 = 1;
116 weights[2].boneIndex0 = 1;
118 weights[2].weight0 = 1;
122 weights[3].boneIndex0 = 1;
124 weights[3].weight0 = 1;
128 _mesh.boneWeights = weights;
134 Transform[] bones=
new Transform[2];
136 Matrix4x4[] bindPoses=
new Matrix4x4[2];
140 bones[0] =
new GameObject (
"Lower").transform;
142 bones[0].parent = obj.transform;
146 bones[0].localRotation = Quaternion.identity;
149 bones[0].localPosition =
new Vector3 (0, -1f, 0);
157 bindPoses[0] = bones[0].worldToLocalMatrix * obj.transform.localToWorldMatrix;
159 bones[1] =
new GameObject (
"Upper").transform;
161 bones[1].parent = obj.transform;
165 bones[1].localRotation = Quaternion.identity;
168 bones[1].localPosition =
new Vector3 (0, 1f, 0);
175 bindPoses[1] = bones[1].worldToLocalMatrix * obj.transform.localToWorldMatrix;
179 _mesh.bindposes = bindPoses;
183 renderer_.bones = bones;
185 renderer_.sharedMesh = _mesh;
static GameObject CreateClip()