質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Q&A

1回答

349閲覧

オブジェクトの回転に連動して他のオブジェクトを動かしたい

Miya_kp

総合スコア21

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

0グッド

0クリップ

投稿2022/08/15 05:27

実現したいこと

obj1を軸にobj2を回転させた際にobj2とobj4、obj3とobj4の距離を一定に保ちつつ、obj4の位置を動かしたいです。
スクリプトはobj1を軸にobj2を回転を回転させるところまでしかできていません。ご教授いただければ幸いです。
イメージ説明

イメージ説明

途中までのコード

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class test : MonoBehaviour 6{ 7 public GameObject obj1; 8 public GameObject obj2; 9 public GameObject obj3; 10 public GameObject obj4; 11 12 float speed = 20f; 13 float dist; 14 15 void Start() 16 { 17 dist = Vector3.Distance(obj2.transform.position, obj4.transform.position); 18 } 19 20 void Update() 21 { 22 //キー"a"を押している間obj1を軸にobj2を回転 23 if (Input.GetKey("a")) 24 { 25 obj2.transform.RotateAround(obj1.transform.position, obj1.transform.right, speed * Time.deltaTime); 26 } 27 if (Input.GetKey("s")) 28 { 29 obj2.transform.RotateAround(obj1.transform.position, obj1.transform.right, -speed * Time.deltaTime); 30 } 31 } 32}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

イメージ説明

移動したあとのobj2の座標見て、そこから円を描いて、その円とobj3の円の交点がobj4が行くべきとこ、交点は2つあるから、そこは今のobj4の距離一番近いとこ行けばいい。

もうひとつの簡単な方法は一ループの中でobj4をobj2に向けて距離24の距離を保てながら移動して、そしてもう一回obj3に向けて距離43の距離保てながら移動して、完璧に距離を保てないけどたぶんobj2止まっていればいずれは丁度いい距離のとこいくだろう。

投稿2022/08/15 17:30

編集2022/08/17 12:45
shishin

総合スコア73

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Miya_kp

2022/08/17 12:02

obj4をobj2に向けて距離24の距離を保てながら移動というのはobj2を中心に円移動という認識で合っていますか?すみませんが、「もう一回obj3に向けて距離43の距離保てながら移動」というのはどういうことでしょうか。obj2に向けて距離24の距離を保てながら移動した場合、43の距離保てないと思うのですが、、、 理解力がなくて申し訳ありませんが返信して頂ければ幸いです。
shishin

2022/08/17 12:44

よくよく考えたら簡単じゃなかったわ、やっぱ交点計算してそこへ行ったほうがいいね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問