少し状況が変わったので内容を少し変えさせています。動かないことは変わっていません。
現在ARCoreを用いて振り子を設置して、パラメータを動かすというものを作成しています。
その前提で最初にボールを停止させて、ボタンで動かすというのを作っています。
しかし、別シーンでエディタ上に置いたときは動いたのですが、ARに実装して試したのですが動きませんでした。
FurikoはAssets内にありそれを設定しています。
そのFurikoの子オブジェクトのBallのIs kinematicをオンにしてStartボタンを押すとオフになってボールが揺れるというものを作りたいのです。スクリプトは親オブジェクトのFurikoにつけています。
また、ボタンには上で述べたAssets内にある同じオブジェクトを入れ、下記のプログラムのBall()を設定しています。
![]
親オブジェクトFurikoの子オブジェクトBallに下記のスクリプトをつけています。
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class ball_script : MonoBehaviour 6{ 7 public Rigidbody rb; 8 9 // Start is called before the first frame update 10 void Start() 11 { 12 //Rigidbodyを取得 13 rb = GetComponent<Rigidbody>(); 14 15 //Rigidbodyを停止 16 rb.isKinematic = true; 17 } 18 19 // Update is called once per frame 20 void Update() 21 { 22 } 23 24 public void Ballmove() 25 { 26 //動かす 27 rb.isKinematic = false; 28 } 29}
また、親オブジェクトでは上記のスクリプトを呼び出すスクリプトをつけています。ボタンにはこれのBall()を呼び出そうとしています。
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class Furiko_controller : MonoBehaviour 6{ 7 GameObject ball; 8 ball_script script; 9 10 // Start is called before the first frame update 11 void Start() 12 { 13 ball = GameObject.Find("Ball"); 14 script = ball.GetComponent<ball_script>(); 15 } 16 17 // Update is called once per frame 18 void Update() 19 { 20 } 21 22 public void Ball() 23 { 24 script.Ballmove(); 25 } 26}
エディタ上では動かすことができ、Android端末にARとして設置するとボタンは反応していますがボールは動かないです。
もしかしたら、ボタンにつけたFurikoとAR上に設置したFurikoは違うオブジェクトになってしまっているのではないかと思いましたがどうすればいいかわかりません。
助言お願いいたします。
使用しているもの
Unity2018.4.19f
ARCore
ZenfoneAR(Android7.0)
回答1件
あなたの回答
tips
プレビュー