UnityでLive2Dキャラを使った格ゲーを作ろうと思っています。
http://docs.live2d.com/cubism-sdk-tutorials/hittest/
こちらのサンプルコード。
C#
1using UnityEngine; 2using Live2D.Cubism.Framework.Raycasting; 3 4public class CubismHitTest : MonoBehaviour 5{ 6 7 private void Update() 8 { 9 // Return early in case of no user interaction. 10 if (!Input.GetMouseButtonDown(0)) 11 { 12 return; 13 } 14 15 16 var raycaster = GetComponent<CubismRaycaster>(); 17 // Get up to 4 results of collision detection. 18 var results = new CubismRaycastHit[4]; 19 20 21 // Cast ray from pointer position. 22 var ray = Camera.main.ScreenPointToRay(Input.mousePosition); 23 var hitCount = raycaster.Raycast(ray, results); 24 25 26 // Show results. 27 var resultsText = hitCount.ToString(); 28 for (var i = 0; i < hitCount; i++) 29 { 30 resultsText += "\n" + results[i].Drawable.name; 31 } 32 33 34 Debug.Log(resultsText); 35 } 36}
これを参考にして作ろうと考えています。
しかし、このままだとマウスクリックした地点に当たり判定がある感じで、unityで別途用意したオブジェクトとの物理的な当たり判定の設定方法がわかりません。
・たとえば、Live2Dの足の部分に当たり判定を設定して、床と接触している時はbool関数をON、空中にいる場合はOFFにしたりしたいのです。
⇛この場合はvoid onCollisionStay2D~を使用したほうが良いのでしょうか?つまり、colliderを当たり判定のあるパーツに設置する等。
・他にも攻撃判定等にも使う時、敵のLive2Dモデルの当たり判定部分に接触した際に当たり判定を取ることは出来るのでしょうか?
Live2Dに関してはほぼ観賞用と言うか、アクションに向いておらず、参考資料がなくてとても困っています。助けてください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/25 04:00