[過去ログ] 【3Dゲームエンジン】Unity質問スレッド32 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
808(1): 2017/12/12(火)00:36 ID:K5+QKreg(2/3) AAS
>>800
rigidbody.rotation *= Quaternion.Euler(rigidbody.angularVelocity * Mathf.Rad2Deg)
のほうが簡単か
809(2): 2017/12/12(火)02:09 ID:s3bcy12n(1/2) AAS
?angle = Vector3(a, b, c).magnitude * Mathf.Rad2Deg
3Dの場合、angularVelocityは、rad/秒で入力するので、
a,b,cはrad/秒で入れているはずだから、
angleは度での入力になるため、
* Mathf.Rad2Degで、rad→度の変換が必要ですね
?axis = Vector3(a, b. c).normalized
これをQuaternion.AngleAxisに入れると、1秒後の回転状態になります
試してみて下さい
Quaternion.Eulerは、
Z軸回転→X軸回転→Y軸回転の連結回転になるので、
計算結果が、角速度での回転状態と合わないですよ
angularVelocityは全軸同時回転ですから
回転ベクトル=回転角 * 回転軸ベクトル
で計算しないとダメなはず
810: 2017/12/12(火)02:14 ID:K5+QKreg(3/3) AAS
なるほど
勉強になった
ありがとう
811(2): 2017/12/12(火)04:00 ID:kM1br0bK(1) AAS
>>794
"unity shiftjis error"でぐぐって一番上に出てくる内容コピってどやってんじゃねーよw
仰られてる知識や経験は、その問題に関してはとくに必要なさそうです
812: 2017/12/12(火)06:49 ID:yWI4yO+J(2/4) AAS
809
そういう「より優れた仕様奴隷状態」をドヤる話だと思ってたわ
813: 2017/12/12(火)07:26 ID:OlgvJzEy(1) AAS
>>811
うん、そのドヤ顔を期待してたw
全く待たずに回答投下してるのに顔真っ赤でスルーされた事に気づけとか書いてる奴がいたのには驚いたが
だかな、この質問俺が数年前過去スレに質問して回答が得られなかった質問なんだわ、その後自己解決して方法も書いたはず
2017年4月のそのTIPS見て、同じようなことで困ってる奴多かったんだなと懐かしく思った記憶がある
>>800
すまん、昨日は撒き餌撒いて寝てしまったので見てなかった
回答はついてる様なので省略するが、物理エンジンで動かす場合、摩擦やら他のオブジェクトとの衝突やらで結果がズレる可能性があることには注意な
814: 2017/12/12(火)07:26 ID:yWI4yO+J(3/4) AAS
仕様奴隷「俺はこんなにも素晴らしい奴隷なんだ!もっと俺をこき使ってくれぇええ!!」(ドヤァアアア!!!)
815(1): 2017/12/12(火)07:29 ID:QJDJOOiE(1/2) AAS
レベルデザインに使えるツール教えてください
アセットでもいいです
816(1): 2017/12/12(火)07:34 ID:yWI4yO+J(4/4) AAS
回転もデフォで減速するみたいだな
いちいち生意気なんだよUnity
817(1): 2017/12/12(火)08:13 ID:tVhYuHY1(1) AAS
>>815
どんなのを求めているかわからないけどアセットでもいいなら
ProBuilderなんてどうだい?
818: 2017/12/12(火)09:37 ID:QJDJOOiE(2/2) AAS
>>817
アセットのセットみたいなのがほしいです
フリーで
819: 2017/12/12(火)10:39 ID:qFAu6kJp(1) AAS
アセットじゃないけどスケッチアップなんてどうだい?
CADツールだけどUnityでそのままスケッチアップ形式のファイルを読み込むことができるんだ
そしてウェアハウスっていうUnityでいうアセットストアのようなところで他人の作ったオブジェクトをダウンロードできるんだ
ただし無償版でどこまでできるか把握してないから
気になったら調べてごらんよ
820(1): 2017/12/12(火)11:37 ID:V4vKOuq6(1) AAS
VS for Macでコーディングしている人いる?
予測コーディングが効かなかったり、最近のアプデで日本語入力がリアルタイムで表示されなくなったり、子音の入力が反応悪かったり
色々ボロボロで進捗やばいんだけどMacでの開発に向いてるテキストエディタ何か無いかしら?
821: 2017/12/12(火)13:51 ID:awDx9SbB(2/2) AAS
>>811
どうせキムチだよw
822: 2017/12/12(火)15:35 ID:ICWFqCcb(1) AAS
>>820
neovim
823: 2017/12/12(火)17:04 ID:SinzmT6m(1) AAS
VS codeを使うといい
for macは対応が不完全なゴミだがcodeはmacでも完璧に使える
金払ってもいいならRider
824: 2017/12/12(火)17:13 ID:md8fOJvX(1) AAS
VS codeの怒涛の更新ペースは何事かと思うw
825(1): 2017/12/12(火)18:36 ID:w86KIWp6(1/4) AAS
>>807 >>808
>>809
ありがとうございます!
両方やってみました
Quaternion Q;
Vector3 axis, Vdeg, Vrad;
float angle, t;
Rigidbody rb;
void Start () {
rb = GetComponent < Rigidbody > ();
Vdeg = new Vector3(45, 30, 0);
Vrad = new Vector3(45, 30, 0) * Mathf.Deg2Rad;
Q = rb.rotation;
}
826(2): 2017/12/12(火)18:37 ID:w86KIWp6(2/4) AAS
void FixedUpdate () {
t = Time.time;
if (t == 0) {
rb.angularVelocity = Vrad;
} else if (t == 1.0f) {
Debug.Log ("t=" + t);
Debug.Log ("angularVelocity:" + rb.rotation.eulerAngles);
rb.angularVelocity = Vector3.zero;
//angle = Vrad.magnitude * Mathf.Rad2Deg;
//axis = Vrad.normalized
angle = Vdeg.magnitude;
axis = Vdeg.normalized;
rb.rotation = Quaternion.AngleAxis (angle, axis);
Debug.Log ("AngleAxis:" + rb.rotation.eulerAngles);
rb.rotation = Quaternion.Euler(Vdeg);
Debug.Log ("Euler1:" + rb.rotation.eulerAngles);
rb.rotation = Q * Quaternion.Euler(Vdeg);
Debug.Log ("Euler2:" + rb.rotation.eulerAngles);
rb.rotation = Quaternion.Euler(Vdeg) * Q;
Debug.Log ("Euler3:" + rb.rotation.eulerAngles);
}
}
827(2): 2017/12/12(火)18:41 ID:w86KIWp6(3/4) AAS
結果です!
angularVelocity = new Vector3(45, 30, 0) * Mathf.Deg2Rad
を入力すると、
?angularVelocity:Vector3(42.4, 37.4, 15.0)
1秒ピッタリで止めるには、FixedUpdate内でないとダメのようですね
Invoke("Stop", 1.0f)で呼び出すと、
angularVelocity:Vector3(43.1, 38.6, 15.7)と
1フレーム分くらいの遅延が生じる模様・・・
?AngleAxis:Vector3(42.4, 37.4, 15.0)
?Euler1:Vector3(45, 30, 0)
?Euler2:Vector3(45, 30, 0)
?Euler3:Vector3(45, 30, 0)
angularVelocityをEulerでQuaternionに入れちゃうと、
角速度による回転結果のQuaternionと少し違うようです・・・
AngleAxisでQuaternionに入れる方が正しいみたいですね
828: 2017/12/12(火)18:52 ID:w86KIWp6(4/4) AAS
>>816
回転が勝手に減速する話は本当ですか?
AngularDrag = 0にしてない・・・とかではなくて??
RigidbodyをangularVelocityやAddTorqueで回転させて、
1秒ごとにangularVelocityを表示させても、
回転速度は落ちてないようなのですが・・・
829: 2017/12/12(火)20:43 ID:s3bcy12n(2/2) AAS
>>826
RigidbodyもRigidbody2Dも、
LinearDragは0が初期値だけど、
AngularDragは0.05が初期値なのが、
気に入らないということでは?
830: 2017/12/12(火)20:43 ID:WuPRAOqq(1/2) AAS
今までモーションは、簡単だからmmdで作ってたけどx軸とy軸の計算違うような……
blenderに乗り換えた方がいいのだろうか。
831: 2017/12/12(火)20:56 ID:+nER52Ex(1) AAS
はい
832(1): 2017/12/12(火)21:01 ID:WuPRAOqq(2/2) AAS
やっぱか……
blenderの勉強してくるわ。
mmd使うとか俺ってほんとにバカ……
833: 名無し@キムチ 2017/12/12(火)21:17 ID:pZVPZZmh(1) AAS
>>832
Blenderには気を付けたほうがいい
Blender上では問題なくモーションしてても、unityに取り込んで動かすと、手が体に食い込んだりしているから。
何度か行ったり来たりする必要があるw
834(1): 2017/12/12(火)22:25 ID:oOD9NLJB(1) AAS
blender でもやっぱり同じようなこと起きると思うよ
表現力に不満がないならMMDにしとき
835: 2017/12/12(火)22:32 ID:9L2xhVzt(1) AAS
else ifまで読んだ
そんなか入るの?!
836: 2017/12/13(水)00:01 ID:/jokcbje(1/6) AAS
>>827
最初の回転状態が、
rotatiin =Quaternion.identityであれば、
1: rotation = Quaternion
2: rotation = rotation * Quaternion
3: rotation = Quaternion * rotation
1-3は全て同じ結果になります。
position = Vector3.zeroの場合、
1: position = Vector3
2: position = position + Vector3
1-2が同じ結果なのと一緒です。
837: 2017/12/13(水)00:07 ID:/jokcbje(2/6) AAS
rotationの場合も、positionの場合も、
1は、角変位や位置の絶対指定、
2-3は、角変位や位置の相対指定です。
rotatiin =Quaternion.identityでない場合、
position = Vector3.zeroでない場合、
1と、2-3で、結果が変わってきます。
しかも、rotationの場合、
2: rotation * Quaternionと
3: Quaternion * rotationでも、結果が変わってきます。
追加するQuaternionによる角変位の回転軸を、
transform軸を基準にした回転にする場合は2になり、
キャンバスのVector3軸を基準にした回転にする場合は3になります。
上下前次1-新書関写板覧索設栞歴
あと 165 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.017s