C# Unityのオイラー角(eulerAngles)を使わないQuaternionの角度計算

予算
10,000
納品希望日
ご相談
募集期限
募集終了 締切日 2023年9月8日 /
掲載日 2023年8月25日
応募状況
応募人数 1
契約人数 1
閲覧数 103
用途・種類
アプリ開発
対応範囲
フロントエンド開発
用意してあるもの
開発言語
C#

募集内容

依頼の概要・目的・背景
UnityのQuaternionの角度計算について、数日調べたり考えたのですが答えがでず、スクリプト制作を依頼させてください オイラー角(eulerAngles)を使うと特定の角度の時にバグるので、Quaternionだけで計算した物が欲しいです 【やりたいこと】 キューブ(Unityのデフォルトの立方体)が3つありまして 1つ目のキューブの角度をStartでランダム角度にして 2つ目のキューブの角度を1つ目のキューブのX軸(0.9倍) Y軸(0.8倍) Z軸(0.7倍) 3つ目のキューブの角度を1つ目のキューブのX軸(0.9倍) Y軸(0.9倍) Z軸(0.9倍) にしたいです。 Quaternionや数学的知識詳しそうな方優先で依頼させて頂こうと思っています よろしくお願いいたします 現在不具合発生している、作成中のオイラー角を使ったCube回転スクリプトも以下文章と添付ファイルに張っておきます。 using UnityEngine; public class QuaternionTest : MonoBehaviour { public Transform Cube1; public Transform Cube2; public Transform Cube3; void Start() { Cube1.rotation = Random.rotation; } void Update() { Vector3 eulerRot = NormalVector(Cube1.rotation.eulerAngles); Vector3 adjustedRot = new Vector3( eulerRot.x * 0.9f, eulerRot.y * 0.8f, eulerRot.z * 0.7f ); Cube2.rotation = Quaternion.Euler(adjustedRot); adjustedRot = new Vector3( eulerRot.x * 0.9f, eulerRot.y * 0.9f, eulerRot.z * 0.9f ); Cube3.rotation = Quaternion.Euler(adjustedRot); } private Vector3 NormalVector(Vector3 vec) { return new Vector3( Mathf.Repeat(vec.x + 180f, 360f) - 180f, Mathf.Repeat(vec.y + 180f, 360f) - 180f, Mathf.Repeat(vec.z + 180f, 360f) - 180f ); } }
添付ファイル
参考URL
求めるスキル
Unity,Quaternion,数学的知識
特記事項
経験者優遇
品質重視

応募者一覧

応募者
応募日時

募集内容についての質問

質問と回答の履歴

質問はまだありません。不明なことがあれば質問してみましょう。
募集終了
ブックマーク
予算
10,000
募集終了

募集者情報

FALStar
FALStar
5.0 (69)
4
発注件数
50%
発注率
100%
取引完了率
認証状況
本人確認
機密保持契約(NDA)

この募集内容に似ている仕事