MultipleMaids.IK.cs 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812
  1. using System.IO;
  2. using UnityEngine;
  3. namespace CM3D2.MultipleMaids.Plugin
  4. {
  5. public partial class MultipleMaids
  6. {
  7. private void SetIKInit6(int k)
  8. {
  9. gHead2[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  10. gHead2[k].GetComponent<Renderer>().enabled = false;
  11. mHead2[k] = gHead2[k].AddComponent<MouseDrag5>();
  12. mHead2[k].obj = gHead2[k];
  13. gHead2[k].transform.localScale = new Vector3(0.2f, 0.24f, 0.2f);
  14. gHead2[k].layer = 8;
  15. gMaid2[k] = GameObject.CreatePrimitive(PrimitiveType.Capsule);
  16. gMaid2[k].GetComponent<Renderer>().enabled = false;
  17. mMaid2[k] = gMaid2[k].AddComponent<MouseDrag5>();
  18. mMaid2[k].obj = gMaid2[k];
  19. gMaid2[k].transform.localScale = new Vector3(0.2f, 0.3f, 0.24f);
  20. gMaid2[k].layer = 8;
  21. }
  22. private void SetIKInit7(int k)
  23. {
  24. gIKMuneL[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  25. gIKMuneL[k].GetComponent<Renderer>().enabled = false;
  26. mIKMuneL[k] = gIKMuneL[k].AddComponent<MouseDrag>();
  27. mIKMuneL[k].obj = gIKMuneL[k];
  28. gIKMuneL[k].transform.localScale = new Vector3(0.12f, 0.12f, 0.12f);
  29. gIKMuneL[k].layer = 8;
  30. gIKMuneR[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  31. gIKMuneR[k].GetComponent<Renderer>().enabled = false;
  32. mIKMuneR[k] = gIKMuneR[k].AddComponent<MouseDrag>();
  33. mIKMuneR[k].obj = gIKMuneR[k];
  34. gIKMuneR[k].transform.localScale = new Vector3(0.12f, 0.12f, 0.12f);
  35. gIKMuneR[k].layer = 8;
  36. }
  37. private void SetIKInit5(int k)
  38. {
  39. gIKHandL[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  40. gIKHandL[k].GetComponent<Renderer>().enabled = false;
  41. mIKHandL[k] = gIKHandL[k].AddComponent<MouseDrag4>();
  42. mIKHandL[k].obj = gIKHandL[k];
  43. gIKHandL[k].transform.localScale = new Vector3(0.12f, 0.12f, 0.12f);
  44. gIKHandR[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  45. gIKHandR[k].GetComponent<Renderer>().enabled = false;
  46. mIKHandR[k] = gIKHandR[k].AddComponent<MouseDrag4>();
  47. mIKHandR[k].obj = gIKHandR[k];
  48. gIKHandR[k].transform.localScale = new Vector3(0.12f, 0.12f, 0.12f);
  49. }
  50. private void SetIKInit4(int k)
  51. {
  52. gHead[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  53. gHead[k].GetComponent<Renderer>().enabled = false;
  54. mHead[k] = gHead[k].AddComponent<MouseDrag3>();
  55. mHead[k].obj = gHead[k];
  56. gHead[k].transform.localScale = new Vector3(0.2f, 0.24f, 0.2f);
  57. gJotai[k] = GameObject.CreatePrimitive(PrimitiveType.Capsule);
  58. gJotai[k].GetComponent<Renderer>().enabled = false;
  59. mJotai[k] = gJotai[k].AddComponent<MouseDrag3>();
  60. mJotai[k].obj = gJotai[k];
  61. gJotai[k].transform.localScale = new Vector3(0.2f, 0.19f, 0.24f);
  62. gJotai[k].layer = 8;
  63. gKahuku[k] = GameObject.CreatePrimitive(PrimitiveType.Capsule);
  64. gKahuku[k].GetComponent<Renderer>().enabled = false;
  65. mKahuku[k] = gKahuku[k].AddComponent<MouseDrag3>();
  66. mKahuku[k].obj = gKahuku[k];
  67. gKahuku[k].transform.localScale = new Vector3(0.2f, 0.15f, 0.24f);
  68. gKahuku[k].layer = 8;
  69. }
  70. private void SetIKInit3(int k)
  71. {
  72. gMaid[k] = GameObject.CreatePrimitive(PrimitiveType.Capsule);
  73. gMaid[k].GetComponent<Renderer>().enabled = false;
  74. mMaid[k] = gMaid[k].AddComponent<MouseDrag2>();
  75. mMaid[k].obj = gMaid[k];
  76. gMaid[k].transform.localScale = new Vector3(0.2f, 0.3f, 0.24f);
  77. gMaid[k].layer = 8;
  78. gMaidC[k] = GameObject.CreatePrimitive(PrimitiveType.Cube);
  79. gMaidC[k].GetComponent<Renderer>().enabled = true;
  80. mMaidC[k] = gMaidC[k].AddComponent<MouseDrag2>();
  81. mMaidC[k].obj = gMaidC[k];
  82. gMaidC[k].transform.localScale = new Vector3(0.12f, 0.12f, 0.12f);
  83. gMaidC[k].GetComponent<Renderer>().material =
  84. new Material(Shader.Find("Transparent/Diffuse")) {color = new Color(0.5f, 0.5f, 1f, 0.8f)};
  85. gMaidC[k].layer = 8;
  86. }
  87. private void SetIKInit2(int k)
  88. {
  89. for (int index = 0; index < 30; ++index)
  90. {
  91. gFinger[k, index] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  92. if (index % 3 != 0)
  93. ;
  94. mFinger[k, index] = gFinger[k, index].AddComponent<MouseDrag>();
  95. mFinger[k, index].obj = gFinger[k, index];
  96. float num = 0.0f;
  97. switch (index)
  98. {
  99. case 0:
  100. case 15:
  101. num = 0.024f;
  102. break;
  103. case 1:
  104. case 16:
  105. num = 0.018f;
  106. break;
  107. case 2:
  108. case 17:
  109. num = 0.014f;
  110. break;
  111. case 3:
  112. case 6:
  113. case 9:
  114. case 18:
  115. case 21:
  116. case 24:
  117. num = 0.017f;
  118. break;
  119. case 4:
  120. case 7:
  121. case 10:
  122. case 19:
  123. case 22:
  124. case 25:
  125. num = 0.015f;
  126. break;
  127. case 5:
  128. case 8:
  129. case 11:
  130. case 20:
  131. case 23:
  132. case 26:
  133. num = 0.013f;
  134. break;
  135. case 12:
  136. case 27:
  137. num = 0.015f;
  138. break;
  139. case 13:
  140. case 28:
  141. num = 0.013f;
  142. break;
  143. case 14:
  144. case 29:
  145. num = 0.012f;
  146. break;
  147. }
  148. gFinger[k, index].transform.localScale = new Vector3(num, num, num);
  149. var material = new Material(Shader.Find("Transparent/Diffuse"));
  150. gFinger[k, index].GetComponent<Renderer>().material = material;
  151. gFinger[k, index].GetComponent<MeshRenderer>().material.color = new Color(0.0f, 0.0f, 1f, 0.2f);
  152. }
  153. for (int index = 0; index < 12; ++index)
  154. {
  155. gFinger2[k, index] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  156. mFinger2[k, index] = gFinger2[k, index].AddComponent<MouseDrag>();
  157. mFinger2[k, index].obj = gFinger2[k, index];
  158. float num = 0.0f;
  159. switch (index)
  160. {
  161. case 0:
  162. case 6:
  163. num = 0.017f;
  164. break;
  165. case 1:
  166. case 7:
  167. num = 0.016f;
  168. break;
  169. case 2:
  170. case 8:
  171. num = 0.024f;
  172. break;
  173. case 3:
  174. case 9:
  175. num = 0.017f;
  176. break;
  177. case 4:
  178. case 10:
  179. num = 0.024f;
  180. break;
  181. case 5:
  182. case 11:
  183. num = 0.018f;
  184. break;
  185. }
  186. gFinger2[k, index].transform.localScale = new Vector3(num, num, num);
  187. var material = new Material(Shader.Find("Transparent/Diffuse"));
  188. gFinger2[k, index].GetComponent<Renderer>().material = material;
  189. gFinger2[k, index].GetComponent<MeshRenderer>().material.color = new Color(0.0f, 0.0f, 1f, 0.2f);
  190. }
  191. }
  192. private void SetIKInit(int k)
  193. {
  194. var material = new Material(Shader.Find("Transparent/Diffuse"));
  195. material.color = new Color(0.4f, 0.4f, 1f, 0.3f);
  196. m_material2 = new Material(Shader.Find("Transparent/Diffuse"));
  197. m_material2.color = new Color(0.4f, 0.4f, 1f, 0.26f);
  198. m_material3 = new Material(Shader.Find("Transparent/Diffuse"));
  199. m_material3.color = new Color(0.4f, 0.4f, 1f, 0.36f);
  200. gHandL[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  201. gHandL[k].GetComponent<Renderer>().enabled = false;
  202. gHandL[k].layer = 8;
  203. mHandL[k] = gHandL[k].AddComponent<MouseDrag>();
  204. mHandL[k].obj = gHandL[k];
  205. gArmL[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  206. gArmL[k].GetComponent<Renderer>().enabled = false;
  207. gArmL[k].layer = 8;
  208. mArmL[k] = gArmL[k].AddComponent<MouseDrag>();
  209. mArmL[k].obj = gArmL[k];
  210. gFootL[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  211. gFootL[k].GetComponent<Renderer>().enabled = false;
  212. gFootL[k].layer = 8;
  213. mFootL[k] = gFootL[k].AddComponent<MouseDrag>();
  214. mFootL[k].obj = gFootL[k];
  215. gHizaL[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  216. gHizaL[k].GetComponent<Renderer>().enabled = false;
  217. gHizaL[k].layer = 8;
  218. mHizaL[k] = gHizaL[k].AddComponent<MouseDrag>();
  219. mHizaL[k].obj = gHizaL[k];
  220. gHandR[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  221. gHandR[k].GetComponent<Renderer>().enabled = false;
  222. gHandR[k].layer = 8;
  223. mHandR[k] = gHandR[k].AddComponent<MouseDrag>();
  224. mHandR[k].obj = gHandR[k];
  225. gArmR[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  226. gArmR[k].GetComponent<Renderer>().enabled = false;
  227. gArmR[k].layer = 8;
  228. mArmR[k] = gArmR[k].AddComponent<MouseDrag>();
  229. mArmR[k].obj = gArmR[k];
  230. gFootR[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  231. gFootR[k].GetComponent<Renderer>().enabled = false;
  232. gFootR[k].layer = 8;
  233. mFootR[k] = gFootR[k].AddComponent<MouseDrag>();
  234. mFootR[k].obj = gFootR[k];
  235. gHizaR[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  236. gHizaR[k].GetComponent<Renderer>().enabled = false;
  237. gHizaR[k].layer = 8;
  238. mHizaR[k] = gHizaR[k].AddComponent<MouseDrag>();
  239. mHizaR[k].obj = gHizaR[k];
  240. gClavicleL[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  241. gClavicleL[k].GetComponent<Renderer>().enabled = false;
  242. gClavicleL[k].layer = 8;
  243. mClavicleL[k] = gClavicleL[k].AddComponent<MouseDrag>();
  244. mClavicleL[k].obj = gClavicleL[k];
  245. gClavicleR[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  246. gClavicleR[k].GetComponent<Renderer>().enabled = false;
  247. gClavicleR[k].layer = 8;
  248. mClavicleR[k] = gClavicleR[k].AddComponent<MouseDrag>();
  249. mClavicleR[k].obj = gClavicleR[k];
  250. if (!isBone[k])
  251. {
  252. gHandL[k].transform.localScale = new Vector3(0.12f, 0.12f, 0.12f);
  253. gHandR[k].transform.localScale = new Vector3(0.12f, 0.12f, 0.12f);
  254. gArmL[k].transform.localScale = new Vector3(0.12f, 0.12f, 0.12f);
  255. gArmR[k].transform.localScale = new Vector3(0.12f, 0.12f, 0.12f);
  256. gFootL[k].transform.localScale = new Vector3(0.15f, 0.15f, 0.15f);
  257. gFootR[k].transform.localScale = new Vector3(0.15f, 0.15f, 0.15f);
  258. gHizaL[k].transform.localScale = new Vector3(0.15f, 0.15f, 0.15f);
  259. gHizaR[k].transform.localScale = new Vector3(0.15f, 0.15f, 0.15f);
  260. gClavicleL[k].transform.localScale = new Vector3(0.13f, 0.13f, 0.13f);
  261. mClavicleR[k].transform.localScale = new Vector3(0.13f, 0.13f, 0.13f);
  262. }
  263. else
  264. {
  265. gHandL[k].transform.localScale = new Vector3(0.07f, 0.07f, 0.07f);
  266. gHandR[k].transform.localScale = new Vector3(0.07f, 0.07f, 0.07f);
  267. gArmL[k].transform.localScale = new Vector3(0.07f, 0.07f, 0.07f);
  268. gArmR[k].transform.localScale = new Vector3(0.07f, 0.07f, 0.07f);
  269. gFootL[k].transform.localScale = new Vector3(0.07f, 0.07f, 0.07f);
  270. gFootR[k].transform.localScale = new Vector3(0.07f, 0.07f, 0.07f);
  271. gHizaL[k].transform.localScale = new Vector3(0.07f, 0.07f, 0.07f);
  272. gHizaR[k].transform.localScale = new Vector3(0.07f, 0.07f, 0.07f);
  273. gClavicleL[k].transform.localScale = new Vector3(0.06f, 0.06f, 0.06f);
  274. gClavicleR[k].transform.localScale = new Vector3(0.06f, 0.06f, 0.06f);
  275. gHandL[k].GetComponent<Renderer>().enabled = true;
  276. gHandR[k].GetComponent<Renderer>().enabled = true;
  277. gArmL[k].GetComponent<Renderer>().enabled = true;
  278. gArmR[k].GetComponent<Renderer>().enabled = true;
  279. gFootL[k].GetComponent<Renderer>().enabled = true;
  280. gFootR[k].GetComponent<Renderer>().enabled = true;
  281. gHizaL[k].GetComponent<Renderer>().enabled = true;
  282. gHizaR[k].GetComponent<Renderer>().enabled = true;
  283. gClavicleL[k].GetComponent<Renderer>().enabled = true;
  284. gClavicleR[k].GetComponent<Renderer>().enabled = true;
  285. gHandL[k].GetComponent<Renderer>().material = m_material2;
  286. gHandR[k].GetComponent<Renderer>().material = m_material2;
  287. gArmL[k].GetComponent<Renderer>().material = m_material2;
  288. gArmR[k].GetComponent<Renderer>().material = m_material2;
  289. gFootL[k].GetComponent<Renderer>().material = m_material2;
  290. gFootR[k].GetComponent<Renderer>().material = m_material2;
  291. gHizaL[k].GetComponent<Renderer>().material = m_material2;
  292. gHizaR[k].GetComponent<Renderer>().material = m_material2;
  293. gClavicleL[k].GetComponent<Renderer>().material = m_material2;
  294. gClavicleR[k].GetComponent<Renderer>().material = m_material2;
  295. }
  296. var gameObject1 = new GameObject();
  297. gameObject1.transform.SetParent(transform, false);
  298. gizmoHandL[k] = gameObject1.AddComponent<GizmoRender>();
  299. gizmoHandL[k].eRotate = true;
  300. gizmoHandL[k].offsetScale = 0.25f;
  301. gizmoHandL[k].lineRSelectedThick = 0.25f;
  302. gizmoHandL[k].Visible = false;
  303. var gameObject2 = new GameObject();
  304. gameObject2.transform.SetParent(transform, false);
  305. gizmoHandR[k] = gameObject2.AddComponent<GizmoRender>();
  306. gizmoHandR[k].eRotate = true;
  307. gizmoHandR[k].offsetScale = 0.25f;
  308. gizmoHandR[k].lineRSelectedThick = 0.25f;
  309. gizmoHandR[k].Visible = false;
  310. var gameObject3 = new GameObject();
  311. gameObject3.transform.SetParent(transform, false);
  312. gizmoFootL[k] = gameObject3.AddComponent<GizmoRender>();
  313. gizmoFootL[k].eRotate = true;
  314. gizmoFootL[k].offsetScale = 0.25f;
  315. gizmoFootL[k].lineRSelectedThick = 0.25f;
  316. gizmoFootL[k].Visible = false;
  317. var gameObject4 = new GameObject();
  318. gameObject4.transform.SetParent(transform, false);
  319. gizmoFootR[k] = gameObject4.AddComponent<GizmoRender>();
  320. gizmoFootR[k].eRotate = true;
  321. gizmoFootR[k].offsetScale = 0.25f;
  322. gizmoFootR[k].lineRSelectedThick = 0.25f;
  323. gizmoFootR[k].Visible = false;
  324. gNeck[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  325. gNeck[k].GetComponent<Renderer>().material = material;
  326. gNeck[k].layer = 8;
  327. mNeck[k] = gNeck[k].AddComponent<MouseDrag3>();
  328. mNeck[k].obj = gNeck[k];
  329. gNeck[k].transform.localScale = new Vector3(0.055f, 0.055f, 0.055f);
  330. gNeck[k].SetActive(false);
  331. gSpine[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  332. gSpine[k].GetComponent<Renderer>().material = material;
  333. gSpine[k].layer = 8;
  334. mSpine[k] = gSpine[k].AddComponent<MouseDrag3>();
  335. mSpine[k].obj = gSpine[k];
  336. gSpine[k].transform.localScale = new Vector3(0.04f, 0.04f, 0.04f);
  337. gSpine[k].SetActive(false);
  338. gSpine0a[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  339. gSpine0a[k].GetComponent<Renderer>().material = material;
  340. gSpine0a[k].layer = 8;
  341. mSpine0a[k] = gSpine0a[k].AddComponent<MouseDrag3>();
  342. mSpine0a[k].obj = gSpine0a[k];
  343. gSpine0a[k].transform.localScale = new Vector3(0.04f, 0.04f, 0.04f);
  344. gSpine0a[k].SetActive(false);
  345. gSpine1a[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  346. gSpine1a[k].GetComponent<Renderer>().material = material;
  347. gSpine1a[k].layer = 8;
  348. mSpine1a[k] = gSpine1a[k].AddComponent<MouseDrag3>();
  349. mSpine1a[k].obj = gSpine1a[k];
  350. gSpine1a[k].transform.localScale = new Vector3(0.04f, 0.04f, 0.04f);
  351. gSpine1a[k].SetActive(false);
  352. gSpine1[k] = GameObject.CreatePrimitive(PrimitiveType.Sphere);
  353. gSpine1[k].GetComponent<Renderer>().material = material;
  354. gSpine1[k].layer = 8;
  355. mSpine1[k] = gSpine1[k].AddComponent<MouseDrag3>();
  356. mSpine1[k].obj = gSpine1[k];
  357. gSpine1[k].transform.localScale = new Vector3(0.04f, 0.04f, 0.04f);
  358. gSpine1[k].SetActive(false);
  359. gPelvis[k] = GameObject.CreatePrimitive(PrimitiveType.Cube);
  360. gPelvis[k].GetComponent<Renderer>().material = m_material3;
  361. gPelvis[k].layer = 8;
  362. mPelvis[k] = gPelvis[k].AddComponent<MouseDrag3>();
  363. mPelvis[k].obj = gPelvis[k];
  364. gPelvis[k].transform.localScale = new Vector3(0.045f, 0.045f, 0.045f);
  365. gPelvis[k].SetActive(false);
  366. }
  367. private void SetIK(Maid maid, int i)
  368. {
  369. Head = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 Neck", true);
  370. Head1[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 Neck", true);
  371. Head2[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 Head", true);
  372. Head3[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 HeadNub", true);
  373. IKHandL[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "_IK_handL", true);
  374. IKHandR[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "_IK_handR", true);
  375. IKMuneL[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Mune_L", true);
  376. IKMuneLSub[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Mune_L_sub", true);
  377. IKMuneR[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Mune_R", true);
  378. IKMuneRSub[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Mune_R_sub", true);
  379. Spine = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 Spine", true);
  380. Spine0a = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 Spine0a", true);
  381. Spine1 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 Spine1", true);
  382. Spine1a = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 Spine1a", true);
  383. Pelvis = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 Pelvis", true);
  384. Neck[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 Neck", true);
  385. Pelvis2[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01", true);
  386. Spine12[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 Spine1", true);
  387. Spine0a2[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 Spine0a", true);
  388. Spine2[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 Spine", true);
  389. Spine1a2[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 Spine1a", true);
  390. HandL1[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Hand", true);
  391. UpperArmL1[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L UpperArm", true);
  392. ForearmL1[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Forearm", true);
  393. HandR1[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Hand", true);
  394. UpperArmR1[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R UpperArm", true);
  395. ForearmR1[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Forearm", true);
  396. HandL2[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Foot", true);
  397. UpperArmL2[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Thigh", true);
  398. ForearmL2[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Calf", true);
  399. HandR2[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Foot", true);
  400. UpperArmR2[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Thigh", true);
  401. ForearmR2[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Calf", true);
  402. ClavicleL1[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Clavicle", true);
  403. ClavicleR1[i] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Clavicle", true);
  404. Finger[i, 0] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger0", true);
  405. Finger[i, 1] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger01", true);
  406. Finger[i, 2] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger02", true);
  407. Finger[i, 3] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger0Nub", true);
  408. Finger[i, 4] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger1", true);
  409. Finger[i, 5] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger11", true);
  410. Finger[i, 6] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger12", true);
  411. Finger[i, 7] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger1Nub", true);
  412. Finger[i, 8] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger2", true);
  413. Finger[i, 9] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger21", true);
  414. Finger[i, 10] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger22", true);
  415. Finger[i, 11] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger2Nub", true);
  416. Finger[i, 12] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger3", true);
  417. Finger[i, 13] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger31", true);
  418. Finger[i, 14] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger32", true);
  419. Finger[i, 15] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger3Nub", true);
  420. Finger[i, 16] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger4", true);
  421. Finger[i, 17] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger41", true);
  422. Finger[i, 18] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger42", true);
  423. Finger[i, 19] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Finger4Nub", true);
  424. Finger[i, 20] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger0", true);
  425. Finger[i, 21] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger01", true);
  426. Finger[i, 22] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger02", true);
  427. Finger[i, 23] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger0Nub", true);
  428. Finger[i, 24] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger1", true);
  429. Finger[i, 25] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger11", true);
  430. Finger[i, 26] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger12", true);
  431. Finger[i, 27] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger1Nub", true);
  432. Finger[i, 28] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger2", true);
  433. Finger[i, 29] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger21", true);
  434. Finger[i, 30] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger22", true);
  435. Finger[i, 31] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger2Nub", true);
  436. Finger[i, 32] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger3", true);
  437. Finger[i, 33] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger31", true);
  438. Finger[i, 34] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger32", true);
  439. Finger[i, 35] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger3Nub", true);
  440. Finger[i, 36] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger4", true);
  441. Finger[i, 37] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger41", true);
  442. Finger[i, 38] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger42", true);
  443. Finger[i, 39] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Finger4Nub", true);
  444. Finger2[i, 0] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe0", true);
  445. Finger2[i, 1] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe01", true);
  446. Finger2[i, 2] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe0Nub", true);
  447. Finger2[i, 3] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe1", true);
  448. Finger2[i, 4] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe11", true);
  449. Finger2[i, 5] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe1Nub", true);
  450. Finger2[i, 6] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe2", true);
  451. Finger2[i, 7] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe21", true);
  452. Finger2[i, 8] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe2Nub", true);
  453. Finger2[i, 9] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe0", true);
  454. Finger2[i, 10] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe01", true);
  455. Finger2[i, 11] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe0Nub", true);
  456. Finger2[i, 12] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe1", true);
  457. Finger2[i, 13] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe11", true);
  458. Finger2[i, 14] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe1Nub", true);
  459. Finger2[i, 15] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe2", true);
  460. Finger2[i, 16] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe21", true);
  461. Finger2[i, 17] = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe2Nub", true);
  462. }
  463. private void CopyIK(Maid maid, int i, Maid maid2, int i2)
  464. {
  465. poseIndex[i] = poseIndex[i2];
  466. if (!(bool) maid || !maid.Visible)
  467. return;
  468. var strArray = poseArray[poseIndex[i]].Split(',');
  469. isStop[i] = false;
  470. if (strArray[0].Contains("_momi") || strArray[0].Contains("paizuri_"))
  471. {
  472. maid.body0.MuneYureL(0.0f);
  473. maid.body0.MuneYureR(0.0f);
  474. }
  475. else
  476. {
  477. maid.body0.MuneYureL(1f);
  478. maid.body0.MuneYureR(1f);
  479. }
  480. if (strArray[0].Contains("MultipleMaidsPose"))
  481. {
  482. string path = strArray[0].Split('/')[1];
  483. var numArray = new byte[0];
  484. try
  485. {
  486. using (var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read))
  487. {
  488. numArray = new byte[fileStream.Length];
  489. fileStream.Read(numArray, 0, numArray.Length);
  490. }
  491. }
  492. catch { }
  493. if (0 < numArray.Length)
  494. {
  495. long hashCode = Path.GetFileName(path).GetHashCode();
  496. maid.body0.CrossFade(hashCode.ToString(), numArray, false, false, false, 0.0f, 1f);
  497. var autoTwistArray = new Maid.AutoTwist[6]
  498. {
  499. Maid.AutoTwist.ShoulderL, Maid.AutoTwist.ShoulderR, Maid.AutoTwist.WristL, Maid.AutoTwist.WristR,
  500. Maid.AutoTwist.ThighL, Maid.AutoTwist.ThighR
  501. };
  502. foreach (Maid.AutoTwist f_eType in autoTwistArray)
  503. maid.SetAutoTwist(f_eType, true);
  504. }
  505. }
  506. else
  507. {
  508. int result;
  509. if (strArray[0].StartsWith("p") && int.TryParse(strArray[0].Substring(1), out result))
  510. {
  511. loadPose[i] = strArray[0];
  512. }
  513. else if (!strArray[0].StartsWith("dance_"))
  514. {
  515. maidArray[i].CrossFade(strArray[0] + ".anm", false, true, false, 0.0f, 1f);
  516. }
  517. else
  518. {
  519. if (!(bool) maid.body0.m_Bones.GetComponent<Animation>().GetClip(strArray[0] + ".anm"))
  520. maid.body0.LoadAnime(strArray[0] + ".anm", GameUty.FileSystem, strArray[0] + ".anm", false, false);
  521. maid.body0.m_Bones.GetComponent<Animation>().Play(strArray[0] + ".anm");
  522. }
  523. }
  524. if (strArray.Length > 1)
  525. {
  526. maid.body0.m_Bones.GetComponent<Animation>()[strArray[0] + ".anm"].time = float.Parse(strArray[1]);
  527. isStop[i] = true;
  528. if (strArray.Length > 2)
  529. {
  530. CMT.SearchObjName(maidArray[i].body0.m_Bones.transform, "Bip01", true);
  531. isPoseIti[i] = true;
  532. poseIti[i] = maidArray[i].transform.position;
  533. maidArray[i].transform.position = new Vector3(100f, 100f, 100f);
  534. }
  535. }
  536. }
  537. private void CopyIK2(Maid maid, int i, Maid maid2, int i2)
  538. {
  539. isStop[i] = true;
  540. isLock[i] = true;
  541. maid.transform.position = new Vector3(maid.transform.position.x, maid2.transform.position.y, maid.transform.position.z);
  542. SetIK(maid2, i2);
  543. Transform transform1 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 L Toe0", true);
  544. Transform transform2 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 R Toe0", true);
  545. Transform transform3 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 L Toe01", true);
  546. Transform transform4 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 R Toe01", true);
  547. Transform transform5 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 L Toe0Nub", true);
  548. Transform transform6 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 R Toe0Nub", true);
  549. Transform transform7 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 L Toe1", true);
  550. Transform transform8 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 R Toe1", true);
  551. Transform transform9 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 L Toe11", true);
  552. Transform transform10 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 R Toe11", true);
  553. Transform transform11 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 L Toe1Nub", true);
  554. Transform transform12 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 R Toe1Nub", true);
  555. Transform transform13 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 L Toe2", true);
  556. Transform transform14 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 R Toe2", true);
  557. Transform transform15 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 L Toe21", true);
  558. Transform transform16 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 R Toe21", true);
  559. Transform transform17 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 L Toe2Nub", true);
  560. Transform transform18 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01 R Toe2Nub", true);
  561. Transform transform19 = CMT.SearchObjName(maid2.body0.m_Bones.transform, "Bip01", true);
  562. Vector3 eulerAngles1 = Head.eulerAngles;
  563. Vector3 eulerAngles2 = Spine.eulerAngles;
  564. Vector3 eulerAngles3 = Spine0a.eulerAngles;
  565. Vector3 eulerAngles4 = Spine1.eulerAngles;
  566. Vector3 eulerAngles5 = Spine1a.eulerAngles;
  567. Vector3 eulerAngles6 = Pelvis.eulerAngles;
  568. Vector3 eulerAngles7 = ClavicleL1[i2].eulerAngles;
  569. Vector3 eulerAngles8 = ClavicleR1[i2].eulerAngles;
  570. Vector3 localEulerAngles1 = transform1.localEulerAngles;
  571. Vector3 localEulerAngles2 = transform2.localEulerAngles;
  572. Vector3 localEulerAngles3 = transform3.localEulerAngles;
  573. Vector3 localEulerAngles4 = transform4.localEulerAngles;
  574. Vector3 localEulerAngles5 = transform5.localEulerAngles;
  575. Vector3 localEulerAngles6 = transform6.localEulerAngles;
  576. Vector3 localEulerAngles7 = transform7.localEulerAngles;
  577. Vector3 localEulerAngles8 = transform8.localEulerAngles;
  578. Vector3 localEulerAngles9 = transform9.localEulerAngles;
  579. Vector3 localEulerAngles10 = transform10.localEulerAngles;
  580. Vector3 localEulerAngles11 = transform11.localEulerAngles;
  581. Vector3 localEulerAngles12 = transform12.localEulerAngles;
  582. Vector3 localEulerAngles13 = transform13.localEulerAngles;
  583. Vector3 localEulerAngles14 = transform14.localEulerAngles;
  584. Vector3 localEulerAngles15 = transform15.localEulerAngles;
  585. Vector3 localEulerAngles16 = transform16.localEulerAngles;
  586. Vector3 localEulerAngles17 = transform17.localEulerAngles;
  587. Vector3 localEulerAngles18 = transform18.localEulerAngles;
  588. Vector3 eulerAngles9 = transform19.eulerAngles;
  589. Vector3 localEulerAngles19 = HandL1[i2].localEulerAngles;
  590. Vector3 localEulerAngles20 = HandR1[i2].localEulerAngles;
  591. Vector3 localEulerAngles21 = HandL2[i2].localEulerAngles;
  592. Vector3 localEulerAngles22 = HandR2[i2].localEulerAngles;
  593. var vector3Array = new Vector3[40];
  594. for (int index = 0; index < 20; ++index)
  595. vector3Array[index] = Finger[i2, index].localEulerAngles;
  596. for (int index = 20; index < 40; ++index)
  597. vector3Array[index] = Finger[i2, index].localEulerAngles;
  598. Vector3 eulerAngles10 = UpperArmL1[i2].eulerAngles;
  599. Vector3 eulerAngles11 = ForearmL1[i2].eulerAngles;
  600. Vector3 eulerAngles12 = UpperArmR1[i2].eulerAngles;
  601. Vector3 eulerAngles13 = ForearmR1[i2].eulerAngles;
  602. Vector3 eulerAngles14 = UpperArmL2[i2].eulerAngles;
  603. Vector3 eulerAngles15 = ForearmL2[i2].eulerAngles;
  604. Vector3 eulerAngles16 = UpperArmR2[i2].eulerAngles;
  605. Vector3 eulerAngles17 = ForearmR2[i2].eulerAngles;
  606. maid.transform.localEulerAngles = maid2.transform.localEulerAngles;
  607. SetIK(maid, i);
  608. Transform transform20 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe0", true);
  609. Transform transform21 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe0", true);
  610. Transform transform22 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe01", true);
  611. Transform transform23 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe01", true);
  612. Transform transform24 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe0Nub", true);
  613. Transform transform25 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe0Nub", true);
  614. Transform transform26 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe1", true);
  615. Transform transform27 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe1", true);
  616. Transform transform28 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe11", true);
  617. Transform transform29 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe11", true);
  618. Transform transform30 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe1Nub", true);
  619. Transform transform31 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe1Nub", true);
  620. Transform transform32 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe2", true);
  621. Transform transform33 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe2", true);
  622. Transform transform34 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe21", true);
  623. Transform transform35 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe21", true);
  624. Transform transform36 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe2Nub", true);
  625. Transform transform37 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe2Nub", true);
  626. CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01", true).eulerAngles = eulerAngles9;
  627. Pelvis.eulerAngles = eulerAngles6;
  628. Spine.eulerAngles = eulerAngles2;
  629. Spine0a.eulerAngles = eulerAngles3;
  630. Spine1.eulerAngles = eulerAngles4;
  631. Spine1a.eulerAngles = eulerAngles5;
  632. ClavicleL1[i].eulerAngles = eulerAngles7;
  633. ClavicleR1[i].eulerAngles = eulerAngles8;
  634. Head.eulerAngles = eulerAngles1;
  635. HandL1[i].localEulerAngles = localEulerAngles19;
  636. HandR1[i].localEulerAngles = localEulerAngles20;
  637. HandL2[i].localEulerAngles = localEulerAngles21;
  638. HandR2[i].localEulerAngles = localEulerAngles22;
  639. for (int index = 0; index < 20; ++index)
  640. Finger[i, index].localEulerAngles = vector3Array[index];
  641. for (int index = 20; index < 40; ++index)
  642. Finger[i, index].localEulerAngles = vector3Array[index];
  643. transform20.localEulerAngles = localEulerAngles1;
  644. transform21.localEulerAngles = localEulerAngles2;
  645. transform22.localEulerAngles = localEulerAngles3;
  646. transform23.localEulerAngles = localEulerAngles4;
  647. transform24.localEulerAngles = localEulerAngles5;
  648. transform25.localEulerAngles = localEulerAngles6;
  649. transform26.localEulerAngles = localEulerAngles7;
  650. transform27.localEulerAngles = localEulerAngles8;
  651. transform28.localEulerAngles = localEulerAngles9;
  652. transform29.localEulerAngles = localEulerAngles10;
  653. transform30.localEulerAngles = localEulerAngles11;
  654. transform31.localEulerAngles = localEulerAngles12;
  655. transform32.localEulerAngles = localEulerAngles13;
  656. transform33.localEulerAngles = localEulerAngles14;
  657. transform34.localEulerAngles = localEulerAngles15;
  658. transform35.localEulerAngles = localEulerAngles16;
  659. transform36.localEulerAngles = localEulerAngles17;
  660. transform37.localEulerAngles = localEulerAngles18;
  661. UpperArmL1[i].eulerAngles = eulerAngles10;
  662. UpperArmR1[i].eulerAngles = eulerAngles12;
  663. ForearmL1[i].eulerAngles = eulerAngles11;
  664. ForearmR1[i].eulerAngles = eulerAngles13;
  665. UpperArmL2[i].eulerAngles = eulerAngles14;
  666. UpperArmR2[i].eulerAngles = eulerAngles16;
  667. ForearmL2[i].eulerAngles = eulerAngles15;
  668. ForearmR2[i].eulerAngles = eulerAngles17;
  669. }
  670. private void SetHanten(Maid maid, int i)
  671. {
  672. SetIK(maid, i);
  673. int num = pHandL[selectMaidIndex];
  674. pHandL[selectMaidIndex] = pHandR[selectMaidIndex];
  675. pHandR[selectMaidIndex] = num;
  676. isStop[i] = true;
  677. isLock[i] = true;
  678. Transform transform1 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Hip_L", true);
  679. Transform transform2 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Hip_R", true);
  680. Transform transform3 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe0", true);
  681. Transform transform4 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe0", true);
  682. Transform transform5 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe01", true);
  683. Transform transform6 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe01", true);
  684. Transform transform7 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe0Nub", true);
  685. Transform transform8 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe0Nub", true);
  686. Transform transform9 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe1", true);
  687. Transform transform10 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe1", true);
  688. Transform transform11 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe11", true);
  689. Transform transform12 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe11", true);
  690. Transform transform13 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe1Nub", true);
  691. Transform transform14 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe1Nub", true);
  692. Transform transform15 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe2", true);
  693. Transform transform16 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe2", true);
  694. Transform transform17 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe21", true);
  695. Transform transform18 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe21", true);
  696. Transform transform19 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Toe2Nub", true);
  697. Transform transform20 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Toe2Nub", true);
  698. Transform transform21 = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01", true);
  699. Vector3 eulerAngles1 = Head.eulerAngles;
  700. Vector3 eulerAngles2 = Spine.eulerAngles;
  701. Vector3 eulerAngles3 = Spine0a.eulerAngles;
  702. Vector3 eulerAngles4 = Spine1.eulerAngles;
  703. Vector3 eulerAngles5 = Spine1a.eulerAngles;
  704. Vector3 eulerAngles6 = Pelvis.eulerAngles;
  705. Vector3 eulerAngles7 = ClavicleL1[i].eulerAngles;
  706. Vector3 eulerAngles8 = ClavicleR1[i].eulerAngles;
  707. Vector3 eulerAngles9 = transform1.eulerAngles;
  708. Vector3 eulerAngles10 = transform2.eulerAngles;
  709. Vector3 localEulerAngles1 = transform3.localEulerAngles;
  710. Vector3 localEulerAngles2 = transform4.localEulerAngles;
  711. Vector3 localEulerAngles3 = transform5.localEulerAngles;
  712. Vector3 localEulerAngles4 = transform6.localEulerAngles;
  713. Vector3 localEulerAngles5 = transform7.localEulerAngles;
  714. Vector3 localEulerAngles6 = transform8.localEulerAngles;
  715. Vector3 localEulerAngles7 = transform9.localEulerAngles;
  716. Vector3 localEulerAngles8 = transform10.localEulerAngles;
  717. Vector3 localEulerAngles9 = transform11.localEulerAngles;
  718. Vector3 localEulerAngles10 = transform12.localEulerAngles;
  719. Vector3 localEulerAngles11 = transform13.localEulerAngles;
  720. Vector3 localEulerAngles12 = transform14.localEulerAngles;
  721. Vector3 localEulerAngles13 = transform15.localEulerAngles;
  722. Vector3 localEulerAngles14 = transform16.localEulerAngles;
  723. Vector3 localEulerAngles15 = transform17.localEulerAngles;
  724. Vector3 localEulerAngles16 = transform18.localEulerAngles;
  725. Vector3 localEulerAngles17 = transform19.localEulerAngles;
  726. Vector3 localEulerAngles18 = transform20.localEulerAngles;
  727. Vector3 eulerAngles11 = transform21.eulerAngles;
  728. Vector3 localEulerAngles19 = HandL1[i].localEulerAngles;
  729. Vector3 localEulerAngles20 = HandR1[i].localEulerAngles;
  730. Vector3 localEulerAngles21 = HandL2[i].localEulerAngles;
  731. Vector3 localEulerAngles22 = HandR2[i].localEulerAngles;
  732. var vector3Array = new Vector3[40];
  733. for (int index = 0; index < 20; ++index)
  734. vector3Array[index] = Finger[i, index].localEulerAngles;
  735. for (int index = 20; index < 40; ++index)
  736. vector3Array[index] = Finger[i, index].localEulerAngles;
  737. Vector3 eulerAngles12 = UpperArmL1[i].eulerAngles;
  738. Vector3 eulerAngles13 = ForearmL1[i].eulerAngles;
  739. Vector3 eulerAngles14 = UpperArmR1[i].eulerAngles;
  740. Vector3 eulerAngles15 = ForearmR1[i].eulerAngles;
  741. Vector3 eulerAngles16 = UpperArmL2[i].eulerAngles;
  742. Vector3 eulerAngles17 = ForearmL2[i].eulerAngles;
  743. Vector3 eulerAngles18 = UpperArmR2[i].eulerAngles;
  744. Vector3 eulerAngles19 = ForearmR2[i].eulerAngles;
  745. transform21.eulerAngles = new Vector3((float) (360.0 - (eulerAngles11.x + 270.0) - 270.0),
  746. (float) (360.0 - (eulerAngles11.y + 90.0) - 90.0),
  747. 360f - eulerAngles11.z);
  748. transform1.eulerAngles = getHanten(eulerAngles10);
  749. transform2.eulerAngles = getHanten(eulerAngles9);
  750. Pelvis.eulerAngles = getHanten(eulerAngles6);
  751. Spine.eulerAngles = getHanten(eulerAngles2);
  752. Spine0a.eulerAngles = getHanten(eulerAngles3);
  753. Spine1.eulerAngles = getHanten(eulerAngles4);
  754. Spine1a.eulerAngles = getHanten(eulerAngles5);
  755. ClavicleL1[i].eulerAngles = getHanten(eulerAngles8);
  756. ClavicleR1[i].eulerAngles = getHanten(eulerAngles7);
  757. Head.eulerAngles = getHanten(eulerAngles1);
  758. HandR1[i].localEulerAngles = getHanten2(localEulerAngles19);
  759. HandL1[i].localEulerAngles = getHanten2(localEulerAngles20);
  760. HandR2[i].localEulerAngles = getHanten2(localEulerAngles21);
  761. HandL2[i].localEulerAngles = getHanten2(localEulerAngles22);
  762. for (int index = 0; index < 20; ++index)
  763. Finger[i, index].localEulerAngles = getHanten2(vector3Array[index + 20]);
  764. for (int index = 20; index < 40; ++index)
  765. Finger[i, index].localEulerAngles = getHanten2(vector3Array[index - 20]);
  766. transform4.localEulerAngles = getHanten2(localEulerAngles1);
  767. transform3.localEulerAngles = getHanten2(localEulerAngles2);
  768. transform6.localEulerAngles = getHanten2(localEulerAngles3);
  769. transform5.localEulerAngles = getHanten2(localEulerAngles4);
  770. transform8.localEulerAngles = getHanten2(localEulerAngles5);
  771. transform7.localEulerAngles = getHanten2(localEulerAngles6);
  772. transform10.localEulerAngles = getHanten2(localEulerAngles7);
  773. transform9.localEulerAngles = getHanten2(localEulerAngles8);
  774. transform12.localEulerAngles = getHanten2(localEulerAngles9);
  775. transform11.localEulerAngles = getHanten2(localEulerAngles10);
  776. transform14.localEulerAngles = getHanten2(localEulerAngles11);
  777. transform13.localEulerAngles = getHanten2(localEulerAngles12);
  778. transform16.localEulerAngles = getHanten2(localEulerAngles13);
  779. transform15.localEulerAngles = getHanten2(localEulerAngles14);
  780. transform18.localEulerAngles = getHanten2(localEulerAngles15);
  781. transform17.localEulerAngles = getHanten2(localEulerAngles16);
  782. transform20.localEulerAngles = getHanten2(localEulerAngles17);
  783. transform19.localEulerAngles = getHanten2(localEulerAngles18);
  784. UpperArmR1[i].eulerAngles = getHanten(eulerAngles12);
  785. UpperArmL1[i].eulerAngles = getHanten(eulerAngles14);
  786. ForearmR1[i].eulerAngles = getHanten(eulerAngles13);
  787. ForearmL1[i].eulerAngles = getHanten(eulerAngles15);
  788. UpperArmR2[i].eulerAngles = getHanten(eulerAngles16);
  789. UpperArmL2[i].eulerAngles = getHanten(eulerAngles18);
  790. ForearmR2[i].eulerAngles = getHanten(eulerAngles17);
  791. ForearmL2[i].eulerAngles = getHanten(eulerAngles19);
  792. }
  793. }
  794. }