[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart9 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
700: 名前は開発中のものです。 [] 2023/02/28(火) 14:48:30.16 ID:kwozJVo5(2/3) AAS
>>699699(1): 名前は開発中のものです。 [] 2023/02/28(火) 13:19:58.07 ID:k9aU4PRZ(2/5) AAS
一応テストしてみた
コードがこんな感じで1度づつ回転
i.gyazo.com/2dcde0250b2b9be151fa3361abed5f7e.png
ジフアニがこちら
d.くく.lu/as7n6pahg
くく=ローマ字ね
ごめんあんまり上手く文章を書けてなかった
やりたいのは「あるQuaternionから回転量が1%少ないQuaternionを作ること」で、
そのQuaternionを毎フレームTransformに与えることで
例えばベイブレードが時間とともに徐々に回転力が落ちるような表現をしたい
でも >>687687(3): 名前は開発中のものです。 [] 2023/02/26(日) 19:11:55.29 ID:PPXQyhF8(1) AAS
var before= Quaternion.AngleAxis(0.1370561f, new Vector3(0.12f, 0.06f, -0.98f));
before.ToAngleAxis(out var beforeAngle, out var beforeAxis);
var after = Quaternion.AngleAxis(beforeAngle * 0.99f, beforeAxis);
after.ToAngleAxis(out var afterAngle, out var afterAxis);
Debug.Log($"before:{beforeAngle} : after:{afterAngle}");
before:0.1370561 : after:0.1370561
角度を1%ずつ小さくする処理を作りたいんですが、これってなんでbeforeとafterで同じ値が返ってくるんでしょうか?
のコードだと回転量がある値(0.1370561f)から小さくならないから、どこが間違っているのか知りたい
質問を投稿してからもっと試してみたんだけど、
Quaternion.AngleAxis(0.1370561f, new Vector3(0.12f, 0.06f, -0.98f)).ToAngleAxis(var out beforeAngle, var out _);
Quaternion.AngleAxis(0.1370561f * 0.99f, new Vector3(0.12f, 0.06f, -0.98f)).ToAngleAxis(var out afterAngle, var out _);
Debug.Log($"{beforeAngle} == {afterAngle}");
で差が発生しない
ToAngleAxisでfloatの切り捨てが発生しているのかもしれない?
上下前次1-新書関写板覧索設栞歴
あと 302 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.018s