고다경

Intro Scene 커서 생성 및 움직임 연동

1 using UnityEngine; 1 using UnityEngine;
2 +using UnityEngine.UI;
2 using System.Collections; 3 using System.Collections;
3 using System.Collections.Generic; 4 using System.Collections.Generic;
4 using Kinect = Windows.Kinect; 5 using Kinect = Windows.Kinect;
6 +using System.IO;
7 +using System;
8 +
5 9
6 public class BodySourceView : MonoBehaviour 10 public class BodySourceView : MonoBehaviour
7 { 11 {
8 public Material BoneMaterial; 12 public Material BoneMaterial;
13 + public Material xbot;
9 public GameObject BodySourceManager; 14 public GameObject BodySourceManager;
10 15
11 private Dictionary<ulong, GameObject> _Bodies = new Dictionary<ulong, GameObject>(); 16 private Dictionary<ulong, GameObject> _Bodies = new Dictionary<ulong, GameObject>();
12 private BodySourceManager _BodyManager; 17 private BodySourceManager _BodyManager;
13 18
19 + public Text IfSpineIsStraight;
20 + public Text HipBalance;
21 + public Text AngleLeftKnee;
22 + public Text AngleRightKnee;
23 + public Text KneeToeLeft;
24 + public Text KneeToeRight;
25 + public Text LeftLegUp;
26 + public Text RightLegUp;
27 +
28 + string hipbal, leftkneewarning, rightkneewarning, leftsidehighkick, rightsidehighkick;
29 +
14 private Dictionary<Kinect.JointType, Kinect.JointType> _BoneMap = new Dictionary<Kinect.JointType, Kinect.JointType>() 30 private Dictionary<Kinect.JointType, Kinect.JointType> _BoneMap = new Dictionary<Kinect.JointType, Kinect.JointType>()
15 { 31 {
16 { Kinect.JointType.FootLeft, Kinect.JointType.AnkleLeft }, 32 { Kinect.JointType.FootLeft, Kinect.JointType.AnkleLeft },
...@@ -43,8 +59,20 @@ public class BodySourceView : MonoBehaviour ...@@ -43,8 +59,20 @@ public class BodySourceView : MonoBehaviour
43 { Kinect.JointType.Neck, Kinect.JointType.Head }, 59 { Kinect.JointType.Neck, Kinect.JointType.Head },
44 }; 60 };
45 61
46 - void Update () 62 +
63 + void Update()
47 { 64 {
65 +
66 + IfSpineIsStraight.text = "허리를 곧게: Tracking";
67 + HipBalance.text = "양쪽 힙 균형: Calculating";
68 + AngleLeftKnee.text = "왼쪽 무릎 각도: Tracking";
69 + AngleRightKnee.text = "오른쪽 무릎 각도: Tracking";
70 + KneeToeLeft.text = "왼쪽 무릎과 발끝: Tracking";
71 + KneeToeRight.text = "오른쪽 무릎과 발끝: Tracking";
72 + LeftLegUp.text = "왼쪽 다리 들어올린 각도: Tracking";
73 + RightLegUp.text = "오른쪽 다리 들어올린 각도: Tracking";
74 +
75 +
48 if (BodySourceManager == null) 76 if (BodySourceManager == null)
49 { 77 {
50 return; 78 return;
...@@ -63,48 +91,49 @@ public class BodySourceView : MonoBehaviour ...@@ -63,48 +91,49 @@ public class BodySourceView : MonoBehaviour
63 } 91 }
64 92
65 List<ulong> trackedIds = new List<ulong>(); 93 List<ulong> trackedIds = new List<ulong>();
66 - foreach(var body in data) 94 + foreach (var body in data)
67 { 95 {
68 if (body == null) 96 if (body == null)
69 { 97 {
70 continue; 98 continue;
71 } 99 }
72 100
73 - if(body.IsTracked) 101 + if (body.IsTracked)
74 { 102 {
75 - trackedIds.Add (body.TrackingId); 103 + trackedIds.Add(body.TrackingId);
76 } 104 }
77 } 105 }
78 106
79 List<ulong> knownIds = new List<ulong>(_Bodies.Keys); 107 List<ulong> knownIds = new List<ulong>(_Bodies.Keys);
80 108
81 // First delete untracked bodies 109 // First delete untracked bodies
82 - foreach(ulong trackingId in knownIds) 110 + foreach (ulong trackingId in knownIds)
83 { 111 {
84 - if(!trackedIds.Contains(trackingId)) 112 + if (!trackedIds.Contains(trackingId))
85 { 113 {
86 Destroy(_Bodies[trackingId]); 114 Destroy(_Bodies[trackingId]);
87 _Bodies.Remove(trackingId); 115 _Bodies.Remove(trackingId);
88 } 116 }
89 } 117 }
90 118
91 - foreach(var body in data) 119 + foreach (var body in data)
92 { 120 {
93 if (body == null) 121 if (body == null)
94 { 122 {
95 continue; 123 continue;
96 } 124 }
97 125
98 - if(body.IsTracked) 126 + if (body.IsTracked)
99 { 127 {
100 - if(!_Bodies.ContainsKey(body.TrackingId)) 128 + if (!_Bodies.ContainsKey(body.TrackingId))
101 { 129 {
102 _Bodies[body.TrackingId] = CreateBodyObject(body.TrackingId); 130 _Bodies[body.TrackingId] = CreateBodyObject(body.TrackingId);
103 -
104 } 131 }
132 +
105 RefreshBodyObject(body, _Bodies[body.TrackingId]); 133 RefreshBodyObject(body, _Bodies[body.TrackingId]);
106 } 134 }
107 } 135 }
136 +
108 } 137 }
109 138
110 private GameObject CreateBodyObject(ulong id) 139 private GameObject CreateBodyObject(ulong id)
...@@ -118,8 +147,13 @@ public class BodySourceView : MonoBehaviour ...@@ -118,8 +147,13 @@ public class BodySourceView : MonoBehaviour
118 LineRenderer lr = jointObj.AddComponent<LineRenderer>(); 147 LineRenderer lr = jointObj.AddComponent<LineRenderer>();
119 lr.SetVertexCount(2); 148 lr.SetVertexCount(2);
120 lr.material = BoneMaterial; 149 lr.material = BoneMaterial;
150 + //////////////////
151 + //lr.material = xbot;
152 +
153 + /////////////////
121 lr.SetWidth(0.05f, 0.05f); 154 lr.SetWidth(0.05f, 0.05f);
122 155
156 +
123 jointObj.transform.localScale = new Vector3(0.3f, 0.3f, 0.3f); 157 jointObj.transform.localScale = new Vector3(0.3f, 0.3f, 0.3f);
124 jointObj.name = jt.ToString(); 158 jointObj.name = jt.ToString();
125 jointObj.transform.parent = body.transform; 159 jointObj.transform.parent = body.transform;
...@@ -128,31 +162,128 @@ public class BodySourceView : MonoBehaviour ...@@ -128,31 +162,128 @@ public class BodySourceView : MonoBehaviour
128 return body; 162 return body;
129 } 163 }
130 164
165 + int num = 0;
166 + string str = "";
167 +
131 private void RefreshBodyObject(Kinect.Body body, GameObject bodyObject) 168 private void RefreshBodyObject(Kinect.Body body, GameObject bodyObject)
132 { 169 {
133 170
171 + //StreamWriter sw = new StreamWriter(new FileStream("a.txt", FileMode.Create));
172 + // sw.WriteLine("Hello");
173 + //sw.Close();
174 + // Debug.Log("바디트래킹됨=================" + num++);
175 + //NewBehaviourScript.test();
176 + // str += "바디트래킹됨=================" + num++ + "\n";
177 +
178 +
179 +
134 for (Kinect.JointType jt = Kinect.JointType.SpineBase; jt <= Kinect.JointType.ThumbRight; jt++) 180 for (Kinect.JointType jt = Kinect.JointType.SpineBase; jt <= Kinect.JointType.ThumbRight; jt++)
135 { 181 {
182 +
136 Kinect.Joint sourceJoint = body.Joints[jt]; 183 Kinect.Joint sourceJoint = body.Joints[jt];
137 - Debug.Log(body.Joints[jt].JointType);
138 - Debug.Log(sourceJoint.Position.X * 10);
139 - Debug.Log(sourceJoint.Position.Y * 10);
140 - Debug.Log(sourceJoint.Position.Z * 10);
141 Kinect.Joint? targetJoint = null; 184 Kinect.Joint? targetJoint = null;
142 185
143 - if(_BoneMap.ContainsKey(jt)) 186 + ///////////////////////////
187 + Angles MyAngles = new Angles();
188 + byte[] ReadAngles = MyAngles.GetVector(body);
189 + // ReadAngles[0].ToString();
190 + //Debug.Log("HipLeft " + ReadAngles[1].ToString());
191 + //Debug.Log("HipRight " + ReadAngles[2].ToString());
192 + //Debug.Log("KneeLeft " + ReadAngles[3].ToString());
193 + //Debug.Log("KneeRight " + ReadAngles[4].ToString());
194 +
195 +
196 + if (ReadAngles[1] - ReadAngles[2] <= 5)
197 + {
198 + hipbal = "양쪽 균형이 잡혀있습니다.";
199 + }
200 + else {
201 + hipbal = "양쪽 힘이 동일하지 않습니다. 균형을 잡으세요";
202 + }
203 +
204 + if (ReadAngles[5] > 90)
205 + {
206 + leftkneewarning = "왼쪽 무릎이 발끝을 넘어갔습니다.";
207 + }
208 + else {
209 + leftkneewarning = "";
210 + }
211 + if (ReadAngles[6] > 90)
212 + {
213 + rightkneewarning = "오른쪽 무릎이 발끝을 넘어갔습니다.";
214 + }
215 + else
216 + {
217 + rightkneewarning = "";
218 + }
219 +
220 + if (ReadAngles[7] < 45)
221 + {
222 + leftsidehighkick = "왼쪽 다리를 좀 더 높이 들어올리세요";
223 + }
224 + else {
225 + leftsidehighkick = "";
226 + }
227 +
228 + if (ReadAngles[8] < 45)
229 + {
230 + rightsidehighkick = "오른쪽 다리를 좀 더 높이 들어올리세요";
231 + }
232 + else
233 + {
234 + rightsidehighkick = "";
235 + }
236 +
237 +
238 + IfSpineIsStraight.text = "허리를 곧게: " + ReadAngles[0].ToString();
239 + HipBalance.text = "양쪽 힙 균형: " + hipbal;
240 + AngleLeftKnee.text = "왼쪽 무릎 각도: " + ReadAngles[3].ToString();
241 + AngleRightKnee.text = "오른쪽 무릎 각도: " + ReadAngles[4].ToString();
242 + KneeToeLeft.text = "올바르지 않은 자세: " + leftkneewarning;
243 + KneeToeRight.text = "올바르지 않은 자세: " + rightkneewarning;
244 + LeftLegUp.text = "왼쪽 다리 운동중: " + leftsidehighkick;
245 + RightLegUp.text = "오른쪽 다리 운동중: " + rightsidehighkick;
246 +
247 + ///////////////////////////
248 +
249 + Debug.Log(body.Joints[Kinect.JointType.SpineBase].Position.X);
250 + if (body.Joints[jt].JointType.ToString() == "SpineBase")
251 + {
252 + Debug.Log(sourceJoint.Position.X);
253 +
254 + //str += sourceJoint.Position.X;
255 + //str += "\n";
256 + Debug.Log(sourceJoint.Position.Y);
257 +
258 + //str += sourceJoint.Position.Y;
259 + //str += "\n";
260 + Debug.Log(sourceJoint.Position.Z);
261 + }
262 + //str += body.Joints[jt].JointType;
263 + //str += "\n";
264 +
265 +
266 + //str += sourceJoint.Position.Z;
267 + //str += "\n";
268 + //Debug.Log("<<<<<<<<<<<<<<<<<");
269 +
270 + // str += "<<<<<<<<<<<<<<<<<<<\n";
271 +
272 +
273 + if (_BoneMap.ContainsKey(jt))
144 { 274 {
145 targetJoint = body.Joints[_BoneMap[jt]]; 275 targetJoint = body.Joints[_BoneMap[jt]];
146 } 276 }
277 +
147 Transform jointObj = bodyObject.transform.Find(jt.ToString()); 278 Transform jointObj = bodyObject.transform.Find(jt.ToString());
148 jointObj.localPosition = GetVector3FromJoint(sourceJoint); 279 jointObj.localPosition = GetVector3FromJoint(sourceJoint);
149 280
150 LineRenderer lr = jointObj.GetComponent<LineRenderer>(); 281 LineRenderer lr = jointObj.GetComponent<LineRenderer>();
151 - if(targetJoint.HasValue) 282 + if (targetJoint.HasValue)
152 { 283 {
153 lr.SetPosition(0, jointObj.localPosition); 284 lr.SetPosition(0, jointObj.localPosition);
154 lr.SetPosition(1, GetVector3FromJoint(targetJoint.Value)); 285 lr.SetPosition(1, GetVector3FromJoint(targetJoint.Value));
155 - lr.SetColors(GetColorForState (sourceJoint.TrackingState), GetColorForState(targetJoint.Value.TrackingState)); 286 + lr.SetColors(GetColorForState(sourceJoint.TrackingState), GetColorForState(targetJoint.Value.TrackingState));
156 } 287 }
157 else 288 else
158 { 289 {
...@@ -180,4 +311,73 @@ public class BodySourceView : MonoBehaviour ...@@ -180,4 +311,73 @@ public class BodySourceView : MonoBehaviour
180 { 311 {
181 return new Vector3(joint.Position.X * 10, joint.Position.Y * 10, joint.Position.Z * 10); 312 return new Vector3(joint.Position.X * 10, joint.Position.Y * 10, joint.Position.Z * 10);
182 } 313 }
314 +
315 +
316 + public class Angles
317 + {
318 + public double AngleBetweenTwoVectors(Vector3 Va, Vector3 Vb)
319 + {
320 + double dotProduct;
321 +
322 + Va.Normalize();
323 + Vb.Normalize();
324 + dotProduct = Vector3.Dot(Va, Vb);
325 +
326 + return (double)Math.Acos(dotProduct) * (180/ Math.PI);
327 +
328 + }
329 +
330 + public byte[] GetVector(Kinect.Body body)
331 + {
332 + Vector3 SpineShoulder = new Vector3(body.Joints[Kinect.JointType.SpineShoulder].Position.X, body.Joints[Kinect.JointType.SpineShoulder].Position.Y, body.Joints[Kinect.JointType.SpineShoulder].Position.Z);
333 + Vector3 RightShoulder = new Vector3(body.Joints[Kinect.JointType.ShoulderRight].Position.X, body.Joints[Kinect.JointType.ShoulderRight].Position.Y, body.Joints[Kinect.JointType.ShoulderRight].Position.Z);
334 + Vector3 LeftShoulder = new Vector3(body.Joints[Kinect.JointType.ShoulderLeft].Position.X, body.Joints[Kinect.JointType.ShoulderLeft].Position.Y, body.Joints[Kinect.JointType.ShoulderLeft].Position.Z);
335 + Vector3 RightElbow = new Vector3(body.Joints[Kinect.JointType.ElbowRight].Position.X, body.Joints[Kinect.JointType.ElbowRight].Position.Y, body.Joints[Kinect.JointType.ElbowRight].Position.Z);
336 + Vector3 LeftElbow = new Vector3(body.Joints[Kinect.JointType.ElbowLeft].Position.X, body.Joints[Kinect.JointType.ElbowLeft].Position.Y, body.Joints[Kinect.JointType.ElbowLeft].Position.Z);
337 + Vector3 RightWrist = new Vector3(body.Joints[Kinect.JointType.WristRight].Position.X, body.Joints[Kinect.JointType.WristRight].Position.Y, body.Joints[Kinect.JointType.WristRight].Position.Z);
338 + Vector3 LeftWrist = new Vector3(body.Joints[Kinect.JointType.WristLeft].Position.X, body.Joints[Kinect.JointType.WristLeft].Position.Y, body.Joints[Kinect.JointType.WristLeft].Position.Z);
339 + Vector3 UpVector = new Vector3((float)0.0, (float)1.0, (float)0.0);
340 + //////////////////////////////////////
341 + Vector3 SpineMid = new Vector3(body.Joints[Kinect.JointType.SpineMid].Position.X, body.Joints[Kinect.JointType.SpineMid].Position.Y, body.Joints[Kinect.JointType.SpineMid].Position.Z);
342 + Vector3 SpineBase = new Vector3(body.Joints[Kinect.JointType.SpineBase].Position.X, body.Joints[Kinect.JointType.SpineBase].Position.Y, body.Joints[Kinect.JointType.SpineBase].Position.Z);
343 + Vector3 HipLeft = new Vector3(body.Joints[Kinect.JointType.HipLeft].Position.X, body.Joints[Kinect.JointType.HipLeft].Position.Y, body.Joints[Kinect.JointType.HipLeft].Position.Z);
344 + Vector3 KneeLeft = new Vector3(body.Joints[Kinect.JointType.KneeLeft].Position.X, body.Joints[Kinect.JointType.KneeLeft].Position.Y, body.Joints[Kinect.JointType.KneeLeft].Position.Z);
345 + Vector3 AnkleLeft = new Vector3(body.Joints[Kinect.JointType.AnkleLeft].Position.X, body.Joints[Kinect.JointType.AnkleLeft].Position.Y, body.Joints[Kinect.JointType.AnkleLeft].Position.Z);
346 + Vector3 HipRight = new Vector3(body.Joints[Kinect.JointType.HipRight].Position.X, body.Joints[Kinect.JointType.HipRight].Position.Y, body.Joints[Kinect.JointType.HipRight].Position.Z);
347 + Vector3 KneeRight = new Vector3(body.Joints[Kinect.JointType.KneeRight].Position.X, body.Joints[Kinect.JointType.KneeRight].Position.Y, body.Joints[Kinect.JointType.KneeRight].Position.Z);
348 + Vector3 AnkleRight = new Vector3(body.Joints[Kinect.JointType.AnkleRight].Position.X, body.Joints[Kinect.JointType.AnkleRight].Position.Y, body.Joints[Kinect.JointType.AnkleRight].Position.Z);
349 + Vector3 FootRight = new Vector3(body.Joints[Kinect.JointType.FootRight].Position.X, body.Joints[Kinect.JointType.FootRight].Position.Y, body.Joints[Kinect.JointType.FootRight].Position.Z);
350 + Vector3 FootLeft = new Vector3(body.Joints[Kinect.JointType.FootLeft].Position.X, body.Joints[Kinect.JointType.FootLeft].Position.Y, body.Joints[Kinect.JointType.FootLeft].Position.Z);
351 +
352 + /*
353 + double AngleRightElbow = AngleBetweenTwoVectors(RightElbow - RightShoulder, RightElbow - RightWrist);
354 + double AngleRightShoulder = AngleBetweenTwoVectors(UpVector, RightShoulder - RightElbow);
355 + double AngleLeftElbow = AngleBetweenTwoVectors(LeftElbow - LeftShoulder, LeftElbow - LeftWrist);
356 + double AngleLeftShoulder = AngleBetweenTwoVectors(UpVector, LeftShoulder - LeftElbow);
357 + */
358 +
359 + double StraightSpine = AngleBetweenTwoVectors(SpineShoulder - SpineMid, SpineBase - SpineMid); //스쿼트, 런지 - Joint 3개로도 가능
360 +
361 + double AngleLeftHip = AngleBetweenTwoVectors(SpineBase - SpineShoulder, HipLeft - KneeLeft); //스쿼트, 런지
362 + double AngleRightHip = AngleBetweenTwoVectors(SpineBase - SpineShoulder, HipRight - KneeRight); //스쿼트, 런지
363 + double AngleLeftKnee = AngleBetweenTwoVectors(KneeLeft - HipLeft, KneeLeft - AnkleLeft); //스쿼트, 런지, 사이드하이킥 - Joint 3개로도 가능
364 + double AngleRightKnee = AngleBetweenTwoVectors(KneeRight - HipRight, KneeRight - AnkleRight); //스쿼트, 런지, 사이드하이킥 - Joint 3개로도 가능
365 +
366 + double KneeToeLeft = AngleBetweenTwoVectors(AnkleLeft - FootLeft, KneeLeft - FootLeft); //스쿼트 - Joint 3개로도 가능
367 + double KneeToeRight = AngleBetweenTwoVectors(AnkleRight - FootRight, KneeRight - FootRight); //스쿼트 - Joint 3개로도 가능
368 + double LeftLegUp = AngleBetweenTwoVectors(SpineMid - SpineShoulder, KneeLeft - HipLeft); //사이드 하이킥
369 + double RightLegUp = AngleBetweenTwoVectors(SpineMid - SpineShoulder, KneeRight - HipRight); //사이드 하이킥
370 +
371 +
372 + byte[] Angles = { Convert.ToByte(StraightSpine),
373 + Convert.ToByte(AngleLeftHip), Convert.ToByte(AngleRightHip),
374 + Convert.ToByte(AngleLeftKnee), Convert.ToByte(AngleRightKnee),
375 + Convert.ToByte(KneeToeLeft), Convert.ToByte(KneeToeRight),
376 + Convert.ToByte(LeftLegUp), Convert.ToByte(RightLegUp)};
377 +
378 + return Angles;
379 + }
380 + }
381 +
382 +
183 } 383 }
......
...@@ -306,6 +306,116 @@ Transform: ...@@ -306,6 +306,116 @@ Transform:
306 m_Father: {fileID: 0} 306 m_Father: {fileID: 0}
307 m_RootOrder: 1 307 m_RootOrder: 1
308 m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} 308 m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
309 +--- !u!1 &485542712
310 +GameObject:
311 + m_ObjectHideFlags: 0
312 + m_CorrespondingSourceObject: {fileID: 0}
313 + m_PrefabInstance: {fileID: 0}
314 + m_PrefabAsset: {fileID: 0}
315 + serializedVersion: 6
316 + m_Component:
317 + - component: {fileID: 485542716}
318 + - component: {fileID: 485542715}
319 + - component: {fileID: 485542714}
320 + - component: {fileID: 485542713}
321 + - component: {fileID: 485542717}
322 + m_Layer: 0
323 + m_Name: Quad
324 + m_TagString: Untagged
325 + m_Icon: {fileID: 0}
326 + m_NavMeshLayer: 0
327 + m_StaticEditorFlags: 0
328 + m_IsActive: 1
329 +--- !u!64 &485542713
330 +MeshCollider:
331 + m_ObjectHideFlags: 0
332 + m_CorrespondingSourceObject: {fileID: 0}
333 + m_PrefabInstance: {fileID: 0}
334 + m_PrefabAsset: {fileID: 0}
335 + m_GameObject: {fileID: 485542712}
336 + m_Material: {fileID: 0}
337 + m_IsTrigger: 0
338 + m_Enabled: 1
339 + serializedVersion: 4
340 + m_Convex: 0
341 + m_CookingOptions: 30
342 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
343 +--- !u!23 &485542714
344 +MeshRenderer:
345 + m_ObjectHideFlags: 0
346 + m_CorrespondingSourceObject: {fileID: 0}
347 + m_PrefabInstance: {fileID: 0}
348 + m_PrefabAsset: {fileID: 0}
349 + m_GameObject: {fileID: 485542712}
350 + m_Enabled: 1
351 + m_CastShadows: 1
352 + m_ReceiveShadows: 1
353 + m_DynamicOccludee: 1
354 + m_MotionVectors: 1
355 + m_LightProbeUsage: 1
356 + m_ReflectionProbeUsage: 1
357 + m_RayTracingMode: 2
358 + m_RenderingLayerMask: 1
359 + m_RendererPriority: 0
360 + m_Materials:
361 + - {fileID: 2100000, guid: baf5dc6a6a18ea54d80a95d5475c91e9, type: 2}
362 + m_StaticBatchInfo:
363 + firstSubMesh: 0
364 + subMeshCount: 0
365 + m_StaticBatchRoot: {fileID: 0}
366 + m_ProbeAnchor: {fileID: 0}
367 + m_LightProbeVolumeOverride: {fileID: 0}
368 + m_ScaleInLightmap: 1
369 + m_ReceiveGI: 1
370 + m_PreserveUVs: 0
371 + m_IgnoreNormalsForChartDetection: 0
372 + m_ImportantGI: 0
373 + m_StitchLightmapSeams: 1
374 + m_SelectedEditorRenderState: 3
375 + m_MinimumChartSize: 4
376 + m_AutoUVMaxDistance: 0.5
377 + m_AutoUVMaxAngle: 89
378 + m_LightmapParameters: {fileID: 0}
379 + m_SortingLayerID: 0
380 + m_SortingLayer: 0
381 + m_SortingOrder: 0
382 +--- !u!33 &485542715
383 +MeshFilter:
384 + m_ObjectHideFlags: 0
385 + m_CorrespondingSourceObject: {fileID: 0}
386 + m_PrefabInstance: {fileID: 0}
387 + m_PrefabAsset: {fileID: 0}
388 + m_GameObject: {fileID: 485542712}
389 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
390 +--- !u!4 &485542716
391 +Transform:
392 + m_ObjectHideFlags: 0
393 + m_CorrespondingSourceObject: {fileID: 0}
394 + m_PrefabInstance: {fileID: 0}
395 + m_PrefabAsset: {fileID: 0}
396 + m_GameObject: {fileID: 485542712}
397 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
398 + m_LocalPosition: {x: 0, y: 0, z: 210}
399 + m_LocalScale: {x: 100, y: 100, z: 100}
400 + m_Children: []
401 + m_Father: {fileID: 0}
402 + m_RootOrder: 8
403 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
404 +--- !u!114 &485542717
405 +MonoBehaviour:
406 + m_ObjectHideFlags: 0
407 + m_CorrespondingSourceObject: {fileID: 0}
408 + m_PrefabInstance: {fileID: 0}
409 + m_PrefabAsset: {fileID: 0}
410 + m_GameObject: {fileID: 485542712}
411 + m_Enabled: 1
412 + m_EditorHideFlags: 0
413 + m_Script: {fileID: 11500000, guid: 4381b5042657b804ba0695ce7a8c7128, type: 3}
414 + m_Name:
415 + m_EditorClassIdentifier:
416 + BodySrcManager: {fileID: 0}
417 + TrackedJoint: 11
418 + multiplier: 10
309 --- !u!1 &566176846 419 --- !u!1 &566176846
310 GameObject: 420 GameObject:
311 m_ObjectHideFlags: 0 421 m_ObjectHideFlags: 0
...@@ -788,99 +898,6 @@ MonoBehaviour: ...@@ -788,99 +898,6 @@ MonoBehaviour:
788 m_StringArgument: 898 m_StringArgument:
789 m_BoolArgument: 0 899 m_BoolArgument: 0
790 m_CallState: 2 900 m_CallState: 2
791 ---- !u!1 &1942547945
792 -GameObject:
793 - m_ObjectHideFlags: 0
794 - m_CorrespondingSourceObject: {fileID: 0}
795 - m_PrefabInstance: {fileID: 0}
796 - m_PrefabAsset: {fileID: 0}
797 - serializedVersion: 6
798 - m_Component:
799 - - component: {fileID: 1942547949}
800 - - component: {fileID: 1942547948}
801 - - component: {fileID: 1942547947}
802 - - component: {fileID: 1942547946}
803 - m_Layer: 0
804 - m_Name: Cube (1)
805 - m_TagString: Untagged
806 - m_Icon: {fileID: 0}
807 - m_NavMeshLayer: 0
808 - m_StaticEditorFlags: 0
809 - m_IsActive: 1
810 ---- !u!65 &1942547946
811 -BoxCollider:
812 - m_ObjectHideFlags: 0
813 - m_CorrespondingSourceObject: {fileID: 0}
814 - m_PrefabInstance: {fileID: 0}
815 - m_PrefabAsset: {fileID: 0}
816 - m_GameObject: {fileID: 1942547945}
817 - m_Material: {fileID: 0}
818 - m_IsTrigger: 0
819 - m_Enabled: 1
820 - serializedVersion: 2
821 - m_Size: {x: 1, y: 1, z: 1}
822 - m_Center: {x: 0, y: 0, z: 0}
823 ---- !u!23 &1942547947
824 -MeshRenderer:
825 - m_ObjectHideFlags: 0
826 - m_CorrespondingSourceObject: {fileID: 0}
827 - m_PrefabInstance: {fileID: 0}
828 - m_PrefabAsset: {fileID: 0}
829 - m_GameObject: {fileID: 1942547945}
830 - m_Enabled: 1
831 - m_CastShadows: 1
832 - m_ReceiveShadows: 1
833 - m_DynamicOccludee: 1
834 - m_MotionVectors: 1
835 - m_LightProbeUsage: 1
836 - m_ReflectionProbeUsage: 1
837 - m_RayTracingMode: 2
838 - m_RenderingLayerMask: 1
839 - m_RendererPriority: 0
840 - m_Materials:
841 - - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
842 - m_StaticBatchInfo:
843 - firstSubMesh: 0
844 - subMeshCount: 0
845 - m_StaticBatchRoot: {fileID: 0}
846 - m_ProbeAnchor: {fileID: 0}
847 - m_LightProbeVolumeOverride: {fileID: 0}
848 - m_ScaleInLightmap: 1
849 - m_ReceiveGI: 1
850 - m_PreserveUVs: 0
851 - m_IgnoreNormalsForChartDetection: 0
852 - m_ImportantGI: 0
853 - m_StitchLightmapSeams: 1
854 - m_SelectedEditorRenderState: 3
855 - m_MinimumChartSize: 4
856 - m_AutoUVMaxDistance: 0.5
857 - m_AutoUVMaxAngle: 89
858 - m_LightmapParameters: {fileID: 0}
859 - m_SortingLayerID: 0
860 - m_SortingLayer: 0
861 - m_SortingOrder: 0
862 ---- !u!33 &1942547948
863 -MeshFilter:
864 - m_ObjectHideFlags: 0
865 - m_CorrespondingSourceObject: {fileID: 0}
866 - m_PrefabInstance: {fileID: 0}
867 - m_PrefabAsset: {fileID: 0}
868 - m_GameObject: {fileID: 1942547945}
869 - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
870 ---- !u!4 &1942547949
871 -Transform:
872 - m_ObjectHideFlags: 0
873 - m_CorrespondingSourceObject: {fileID: 0}
874 - m_PrefabInstance: {fileID: 0}
875 - m_PrefabAsset: {fileID: 0}
876 - m_GameObject: {fileID: 1942547945}
877 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
878 - m_LocalPosition: {x: 0, y: -30, z: 100}
879 - m_LocalScale: {x: 10, y: 10, z: 1}
880 - m_Children: []
881 - m_Father: {fileID: 0}
882 - m_RootOrder: 8
883 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
884 --- !u!1 &1956986139 901 --- !u!1 &1956986139
885 GameObject: 902 GameObject:
886 m_ObjectHideFlags: 0 903 m_ObjectHideFlags: 0
...@@ -1036,55 +1053,9 @@ Transform: ...@@ -1036,55 +1053,9 @@ Transform:
1036 m_PrefabAsset: {fileID: 0} 1053 m_PrefabAsset: {fileID: 0}
1037 m_GameObject: {fileID: 2022046321} 1054 m_GameObject: {fileID: 2022046321}
1038 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1055 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1039 - m_LocalPosition: {x: 0, y: -4.5, z: -13.2} 1056 + m_LocalPosition: {x: 170, y: 17, z: -13.2}
1040 m_LocalScale: {x: 1, y: 1, z: 1} 1057 m_LocalScale: {x: 1, y: 1, z: 1}
1041 m_Children: [] 1058 m_Children: []
1042 m_Father: {fileID: 0} 1059 m_Father: {fileID: 0}
1043 m_RootOrder: 0 1060 m_RootOrder: 0
1044 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1061 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1045 ---- !u!1 &2129455372
1046 -GameObject:
1047 - m_ObjectHideFlags: 0
1048 - m_CorrespondingSourceObject: {fileID: 0}
1049 - m_PrefabInstance: {fileID: 0}
1050 - m_PrefabAsset: {fileID: 0}
1051 - serializedVersion: 6
1052 - m_Component:
1053 - - component: {fileID: 2129455374}
1054 - - component: {fileID: 2129455373}
1055 - m_Layer: 0
1056 - m_Name: GameObject
1057 - m_TagString: Untagged
1058 - m_Icon: {fileID: 0}
1059 - m_NavMeshLayer: 0
1060 - m_StaticEditorFlags: 0
1061 - m_IsActive: 1
1062 ---- !u!114 &2129455373
1063 -MonoBehaviour:
1064 - m_ObjectHideFlags: 0
1065 - m_CorrespondingSourceObject: {fileID: 0}
1066 - m_PrefabInstance: {fileID: 0}
1067 - m_PrefabAsset: {fileID: 0}
1068 - m_GameObject: {fileID: 2129455372}
1069 - m_Enabled: 1
1070 - m_EditorHideFlags: 0
1071 - m_Script: {fileID: 11500000, guid: 4381b5042657b804ba0695ce7a8c7128, type: 3}
1072 - m_Name:
1073 - m_EditorClassIdentifier:
1074 - BodySrcManager: {fileID: 1942547945}
1075 - TrackedJoint: 7
1076 - multiplier: 10
1077 ---- !u!4 &2129455374
1078 -Transform:
1079 - m_ObjectHideFlags: 0
1080 - m_CorrespondingSourceObject: {fileID: 0}
1081 - m_PrefabInstance: {fileID: 0}
1082 - m_PrefabAsset: {fileID: 0}
1083 - m_GameObject: {fileID: 2129455372}
1084 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1085 - m_LocalPosition: {x: 296, y: 148, z: 0}
1086 - m_LocalScale: {x: 1, y: 1, z: 1}
1087 - m_Children: []
1088 - m_Father: {fileID: 0}
1089 - m_RootOrder: 9
1090 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
......
1 +fileFormatVersion: 2
2 +guid: 668a589dfb520f943b00594fc27300e8
3 +folderAsset: yes
4 +DefaultImporter:
5 + externalObjects: {}
6 + userData:
7 + assetBundleName:
8 + assetBundleVariant:
1 +fileFormatVersion: 2
2 +guid: a4cd213c247343748ae189933b9a7fd3
3 +folderAsset: yes
4 +DefaultImporter:
5 + externalObjects: {}
6 + userData:
7 + assetBundleName:
8 + assetBundleVariant:
1 +%YAML 1.1
2 +%TAG !u! tag:unity3d.com,2011:
3 +--- !u!21 &2100000
4 +Material:
5 + serializedVersion: 6
6 + m_ObjectHideFlags: 0
7 + m_CorrespondingSourceObject: {fileID: 0}
8 + m_PrefabInstance: {fileID: 0}
9 + m_PrefabAsset: {fileID: 0}
10 + m_Name: idea
11 + m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0}
12 + m_ShaderKeywords:
13 + m_LightmapFlags: 4
14 + m_EnableInstancingVariants: 0
15 + m_DoubleSidedGI: 0
16 + m_CustomRenderQueue: -1
17 + stringTagMap: {}
18 + disabledShaderPasses: []
19 + m_SavedProperties:
20 + serializedVersion: 3
21 + m_TexEnvs:
22 + - _BumpMap:
23 + m_Texture: {fileID: 0}
24 + m_Scale: {x: 1, y: 1}
25 + m_Offset: {x: 0, y: 0}
26 + - _DetailAlbedoMap:
27 + m_Texture: {fileID: 0}
28 + m_Scale: {x: 1, y: 1}
29 + m_Offset: {x: 0, y: 0}
30 + - _DetailMask:
31 + m_Texture: {fileID: 0}
32 + m_Scale: {x: 1, y: 1}
33 + m_Offset: {x: 0, y: 0}
34 + - _DetailNormalMap:
35 + m_Texture: {fileID: 0}
36 + m_Scale: {x: 1, y: 1}
37 + m_Offset: {x: 0, y: 0}
38 + - _EmissionMap:
39 + m_Texture: {fileID: 0}
40 + m_Scale: {x: 1, y: 1}
41 + m_Offset: {x: 0, y: 0}
42 + - _MainTex:
43 + m_Texture: {fileID: 2800000, guid: 2b8ee8b73c177704fa4d716172354ee1, type: 3}
44 + m_Scale: {x: 1, y: 1}
45 + m_Offset: {x: 0, y: 0}
46 + - _MetallicGlossMap:
47 + m_Texture: {fileID: 0}
48 + m_Scale: {x: 1, y: 1}
49 + m_Offset: {x: 0, y: 0}
50 + - _OcclusionMap:
51 + m_Texture: {fileID: 0}
52 + m_Scale: {x: 1, y: 1}
53 + m_Offset: {x: 0, y: 0}
54 + - _ParallaxMap:
55 + m_Texture: {fileID: 0}
56 + m_Scale: {x: 1, y: 1}
57 + m_Offset: {x: 0, y: 0}
58 + m_Floats:
59 + - _BumpScale: 1
60 + - _Cutoff: 0.5
61 + - _DetailNormalMapScale: 1
62 + - _DstBlend: 0
63 + - _GlossMapScale: 1
64 + - _Glossiness: 0.5
65 + - _GlossyReflections: 1
66 + - _Metallic: 0
67 + - _Mode: 0
68 + - _OcclusionStrength: 1
69 + - _Parallax: 0.02
70 + - _SmoothnessTextureChannel: 0
71 + - _SpecularHighlights: 1
72 + - _SrcBlend: 1
73 + - _UVSec: 0
74 + - _ZWrite: 1
75 + m_Colors:
76 + - _Color: {r: 1, g: 1, b: 1, a: 1}
77 + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
1 +fileFormatVersion: 2
2 +guid: baf5dc6a6a18ea54d80a95d5475c91e9
3 +NativeFormatImporter:
4 + externalObjects: {}
5 + mainObjectFileID: 0
6 + userData:
7 + assetBundleName:
8 + assetBundleVariant:
1 +fileFormatVersion: 2
2 +guid: 2b8ee8b73c177704fa4d716172354ee1
3 +TextureImporter:
4 + internalIDToNameTable: []
5 + externalObjects: {}
6 + serializedVersion: 11
7 + mipmaps:
8 + mipMapMode: 0
9 + enableMipMap: 1
10 + sRGBTexture: 1
11 + linearTexture: 0
12 + fadeOut: 0
13 + borderMipMap: 0
14 + mipMapsPreserveCoverage: 0
15 + alphaTestReferenceValue: 0.5
16 + mipMapFadeDistanceStart: 1
17 + mipMapFadeDistanceEnd: 3
18 + bumpmap:
19 + convertToNormalMap: 0
20 + externalNormalMap: 0
21 + heightScale: 0.25
22 + normalMapFilter: 0
23 + isReadable: 0
24 + streamingMipmaps: 0
25 + streamingMipmapsPriority: 0
26 + grayScaleToAlpha: 0
27 + generateCubemap: 6
28 + cubemapConvolution: 0
29 + seamlessCubemap: 0
30 + textureFormat: 1
31 + maxTextureSize: 2048
32 + textureSettings:
33 + serializedVersion: 2
34 + filterMode: -1
35 + aniso: -1
36 + mipBias: -100
37 + wrapU: -1
38 + wrapV: -1
39 + wrapW: -1
40 + nPOTScale: 1
41 + lightmap: 0
42 + compressionQuality: 50
43 + spriteMode: 0
44 + spriteExtrude: 1
45 + spriteMeshType: 1
46 + alignment: 0
47 + spritePivot: {x: 0.5, y: 0.5}
48 + spritePixelsToUnits: 100
49 + spriteBorder: {x: 0, y: 0, z: 0, w: 0}
50 + spriteGenerateFallbackPhysicsShape: 1
51 + alphaUsage: 1
52 + alphaIsTransparency: 0
53 + spriteTessellationDetail: -1
54 + textureType: 0
55 + textureShape: 1
56 + singleChannelComponent: 0
57 + maxTextureSizeSet: 0
58 + compressionQualitySet: 0
59 + textureFormatSet: 0
60 + applyGammaDecoding: 0
61 + platformSettings:
62 + - serializedVersion: 3
63 + buildTarget: DefaultTexturePlatform
64 + maxTextureSize: 2048
65 + resizeAlgorithm: 0
66 + textureFormat: -1
67 + textureCompression: 1
68 + compressionQuality: 50
69 + crunchedCompression: 0
70 + allowsAlphaSplitting: 0
71 + overridden: 0
72 + androidETC2FallbackOverride: 0
73 + forceMaximumCompressionQuality_BC6H_BC7: 0
74 + spriteSheet:
75 + serializedVersion: 2
76 + sprites: []
77 + outline: []
78 + physicsShape: []
79 + bones: []
80 + spriteID:
81 + internalID: 0
82 + vertices: []
83 + indices:
84 + edges: []
85 + weights: []
86 + secondaryTextures: []
87 + spritePackingTag:
88 + pSDRemoveMatte: 0
89 + pSDShowRemoveMatteOption: 0
90 + userData:
91 + assetBundleName:
92 + assetBundleVariant: