{"id":9243,"date":"2019-07-23T00:59:32","date_gmt":"2019-07-22T15:59:32","guid":{"rendered":"http:\/\/r-dimension.xsrv.jp\/classes_j\/?p=9243"},"modified":"2019-09-11T23:50:48","modified_gmt":"2019-09-11T14:50:48","slug":"multiple-objects","status":"publish","type":"post","link":"https:\/\/r-dimension.xsrv.jp\/classes_j\/multiple-objects\/","title":{"rendered":"\u8907\u6570\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u30b9\u30af\u30ea\u30d7\u30c8\u304b\u3089\u4f5c\u6210"},"content":{"rendered":"\n<p>ExpressionManager\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u306bHead\u3068\u3044\u3046\u30b2\u30fc\u30e0\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u578b\u306e\u5909\u6570\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002Mouth\u306e\u4e0b\u304c\u3044\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<pre lang=\"java\" line=\"1\">[SerializeField]\nprivate GameObject BubblePref; \/\/\u53e3\u304b\u3089\u51fa\u308b\u6ce1\u7528\u30d7\u30ec\u30cf\u30d6\nprivate GameObject[] Bubble; \/\/\u53e3\u304b\u3089\u51fa\u308b\u6ce1\u7528\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\nBubbleBehavior[] bubbleBehavior;\nint bubbleNum;\nbool initFlag;\n<\/pre>\n\n\n\n<p>Start\u30e1\u30bd\u30c3\u30c9\u5185\u3067Bubble\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3057\u3001\u3055\u3089\u306binitFlag\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre lang=\"java\" line=\"1\">\nvoid Start()\n{\n\n    \uff1c\u4e2d\u7565\uff1e\n\n    initFlag = false;\n\n\n    \uff1c\u4e2d\u7565\uff1e\n\n\n    if (BubblePref != null)\n    {\n        bubbleNum = 100;\n        Bubble = new GameObject[bubbleNum];\n        bubbleBehavior = new BubbleBehavior[bubbleNum];\n\n        for (int i = 0; i < Bubble.Length; i++)\n        {\n            Bubble[i] = Instantiate(BubblePref) as GameObject;\n            bubbleBehavior[i] = Bubble[i].GetComponent<BubbleBehavior>();\n        }\n    }\n\n    \uff1c\u4e2d\u7565\uff1e\n\n}\n<\/pre>\n\n\n\n<p>FaceAdded\u30e1\u30bd\u30c3\u30c9\u5185\u3067Bubble[i].SetActive()\u3092true\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre lang=\"java\" line=\"1\">void FaceAdded(ARFaceAnchor anchorData)\n{\n\n    \uff1c\u4e2d\u7565\uff1e\n   \n    for(int i = 0; i < Bubble.Length; i ++) Bubble[i].SetActive(true);\n\n    \uff1c\u4e2d\u7565\uff1e\n}\n<\/pre>\n\n\n\n<p>FaceUpdated\u30e1\u30bd\u30c3\u30c9\u5185\u3067\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002if (Head.activeSelf...\u306e\u5f8c\u304c\u3044\u3044\u3067\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<pre lang=\"java\" line=\"1\">void FaceUpdated(ARFaceAnchor anchorData)\n{\n    \uff1c\u4e2d\u7565\uff1e\n\n    if (Head.activeSelf != anchorData.isTracked)\n    {\n        Head.SetActive(anchorData.isTracked);\n    }\n\n    for (int i = 0; i < Bubble.Length; i++)\n    {\n        if (Bubble[i].activeSelf != anchorData.isTracked)\n        {\n            Bubble[i].SetActive(anchorData.isTracked);\n        }\n    } \n\n    \uff1c\u4e2d\u7565\uff1e\n}\n<\/pre>\n\n\n\n<p>FaceRemoved\u30e1\u30bd\u30c3\u30c9\u306bHead.SetActive(false)\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre lang=\"java\" line=\"1\">void FaceRemoved(ARFaceAnchor anchorData)\n{\n    \uff1c\u4e2d\u7565\uff1e\n\n    for (int i = 0; i < Bubble.Length; i++) Bubble[i].SetActive(false);\n\n    \uff1c\u4e2d\u7565\uff1e\n}\n<\/pre>\n\n\n\n<p>UpdatePositionAndRotation\u30e1\u30bd\u30c3\u30c9\u306b\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre lang=\"java\" line=\"1\">private void UpdatePositionAndRotation(ARFaceAnchor anchorData)\n{\n    if (anchorData.isTracked)\n    {\n        \uff1c\u4e2d\u7565\uff1e\n\n        if (jawOpen > 0.5)\n        {\n            \/\/Bubble\u306e\u521d\u671f\u5316\u3092\u304a\u3053\u306a\u3046\n            if(initFlag == false)\n            {\n                initFlag = true;\n\n                for (int i = 0; i < Bubble.Length; i++)\n                {\n                    bubbleBehavior[i].Init();\n                    bubbleBehavior[i].AddVelX(Random.Range(-0.0002f, 0.0002f));\n                    bubbleBehavior[i].AddVelY(Random.Range(-0.00001f, -0.0002f));\n                    bubbleBehavior[i].AddVelZ(Random.Range(0.00001f, 0.0002f));\n                    Bubble[i].transform.position = new Vector3(center.x, center.y, center.z);\n                }\n            }\n        }\n        else\n        {\n            initFlag = false;\n        }\n\n        for (int i = 0; i < Bubble.Length; i++)\n        {\n            Bubble[i].transform.Translate(Vector3.left * bubbleBehavior[i].GetVelX());\n            Bubble[i].transform.Translate(Vector3.up * bubbleBehavior[i].GetVelY());\n            Bubble[i].transform.Translate(Vector3.back * bubbleBehavior[i].GetVelZ());\n            Bubble[i].transform.rotation = UnityARMatrixOps.GetRotation(anchorData.transform);\n        }\n        \uff1c\u4e2d\u7565\uff1e         \n    }\n}\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>ExpressionManager\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u306bHead\u3068\u3044&#8230; <a href=\"https:\/\/r-dimension.xsrv.jp\/classes_j\/multiple-objects\/\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,36],"tags":[],"class_list":["post-9243","post","type-post","status-publish","format-standard","hentry","category-media_third","category-unity"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/posts\/9243","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/comments?post=9243"}],"version-history":[{"count":5,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/posts\/9243\/revisions"}],"predecessor-version":[{"id":9341,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/posts\/9243\/revisions\/9341"}],"wp:attachment":[{"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/media?parent=9243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/categories?post=9243"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/tags?post=9243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}