[過去ログ] 【3Dゲームエンジン】Unity質問スレッド32 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
798: 2017/12/11(月)21:09 ID:lT/DnU8s(1) AAS
ID:u584Mmdpに全部丸投げで解決だなw
799: 2017/12/11(月)21:15 ID:L0Sd+qXD(1) AAS
趣味なんて出来なくても死ぬわけじゃないし、
乗れもしない一輪車に勝手に跨って勝手に傷だらけになってるだけじゃない
怪我と弁当は自分持ちで頼むよ
800
(3): 2017/12/11(月)22:02 ID:SkZjimvo(4/4) AAS
詳しい人が降臨しているようなので質問!

角速度
Rigidbody.angularVelocity = new Vector3(a, b, c)
による回転を1秒間行った場合の、

向き(角変位)
Rigidbody.rotation
を、あらかじめ計算でQuaternionを求めておきたいのですが、

Rigidbody.rotation = Quaternion.AngleAxis(angle, axis)
で入力する場合、
float angle = いくつ?
Vector3 axis = いくつ?
に設定すれば良いのでしょうか??

普段は実際に時間をかけて回転させるのですが、
ショートカット入力によって、瞬間的に向き変更したためです。

普段は速度velocityで移動させていたのを、
瞬間的に位置positionで変位させるのと同じ感じです。
801: 2017/12/11(月)23:16 ID:T/JrBtRm(6/8) AAS
初心者は基礎勉強を習得した後に応用問題などで躓く者
無能は怠慢で基礎勉強をせずに全てに躓く者
そして自分は初心者だと勘違いしてる者
無能と初心者は全然違う

初心者には教えるが怠け者なだけの無能には教えたくはないって人が多いと思う
質問する気になれないなんて者は来なくていいと思う
そいつが消えた所でそいつが困るだけでこっちは何も困らない
どうぞ勝手にお帰り下さいなんじゃないかな?
ましてや自分は初心者だから教えてもらって当たり前なんて思ってる勘違いには特に

悔しいなら無能をやめて初心者になり
教えたい人が思わず教えてやりたくなるような質問したら?
802: 2017/12/11(月)23:21 ID:T/JrBtRm(7/8) AAS
>>794
質問ではなく相手を試す問題だと見抜かれてスルーされた事にそろそろ気づこうか

>>797
悪いが発言内容が超明後日方向でずれてるから
803: 2017/12/11(月)23:28 ID:T/JrBtRm(8/8) AAS
>>794>>797の2人は俺の考えに反対やら滑稽やらなら
ニセ初心者のしょーもない今までの質問全てに全部答えてあげてないと
俺そういう場面見てないんだけど
今も俺にレスするよりそっちが先とおもうけど未処理の物が沢山あるよ
明日からもずっと頼むよお2人さん
俺の考えに反対で反論してくるのはそういうことだから
804: 2017/12/11(月)23:32 ID:7N8aCxOe(2/2) AAS
ビッグアップル大丈夫か
805: 2017/12/12(火)00:07 ID:yWI4yO+J(1/4) AAS
まさかツッパリが足りずに弱音を吐いて「大目に見てくださいよ〜〜〜><」とか懇願してるわけじゃあるまいな
806: 2017/12/12(火)00:18 ID:awDx9SbB(1/2) AAS
試行錯誤が大好きなら一生迷走しててええんやで
遠慮すんなよw
807
(1): 2017/12/12(火)00:29 ID:K5+QKreg(1/3) AAS
>>800
偉そうに講釈垂れてる人が大勢いるのにこれにレスがつかないの酷すぎないか…

キッチリ1秒後なら

var r = Mathf.Rad2Deg;
Rigidbody.rotation *= Quaternion.Euler(a * r, b * r, c * r);

でどないでしょ
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に入れる方が正しいみたいですね
1-
あと 175 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.012s