###前提・実現したいこと
あるエリアをクリックするとクリックした座標にカプセルのオブジェクトが生成され、そのままドラッグするとそのオブジェクトがマウスの座標まで伸びるように実装したいと思っています。
###問題点
しかしマウスがある方向に合わせてオブジェクトの角度を変える方法がわかりません。
一応作成したオブジェクトの伸縮も正しいのかどうか最後までテストができず不完全かもしれません。
よい方法を教えていただければと思います。どうぞお願いします。
###該当のソースコード
void OnMouseDown() {
bar.transform.localScale = new Vector3 (0.25f, 0.25f, 0.25f);
newSca = bar.transform.localScale;
if (!racket.activeInHierarchy) {
bar.gameObject.SetActive (true);
}
barPos = Camera.main.ScreenToWorldPoint (new Vector3 (Input.mousePosition.x, Input.mousePosition.y, 9.5f));
bar.transform.position = barPos;
}
void OnMouseDrag() { mousePos = Camera.main.ScreenToWorldPoint (new Vector3 (Input.mousePosition.x, Input.mousePosition.y, 9.5f)); dist = Vector3.Distance (barPos, mousePos); newSca.y = 0.25f + dist/2; newPos = new Vector3 (barPos.x, barPos.y, barPos.z + dist/2); if (dist < 1.25f) { bar.transform.position = (newPos); bar.transform.localScale = newSca; } }
###補足情報
unity3Dで作成していますが、xとzのみでゲーム画面を表示する擬似的な2Dで作成しています。
###補足情報2
角度に対する理解が浅いため、検索した情報では思うような結果が得られませんでした。
FromToRotationが一番理想に近かったのですが、回転の軸がどうにも思うようにいかず失敗しました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/05/09 13:26
退会済みユーザー
2016/05/09 18:28