[過去ログ] 【3Dゲームエンジン】Unity質問スレッド32 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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になります。
838: 2017/12/13(水)00:35 ID:/jokcbje(3/6) AAS
>>825-827
Invokeが呼び出しの際に1フレーム遅れるとわかっているのであれば、
1フレーム前の時間で呼び出させば大丈夫ですよ。
void Start () {
rb.angularVelocity = new Vector3(45, 30, 0) * Mathf.Deg2Rad;
Invoke ("Stop", 1 - Time.fixedDeltaTime); ←1フレーム前に呼び出し
}
void Stop () {
Debug.Log ("1秒後のrotation:" + rb.rotation.eulerAngles);
rb.angularVelocity = Vector3.zero;
}
「1秒後のrotation:Vector3(42.4, 37.4, 15.0)」が出ましたよ。
>>809の方法で求めた場合と一致する値です。
rb.angularVelocity = new Vector3(45, 30, 0) * Mathf.Deg2Rad
angle = (rb.angularVelocity).magnitude * Mathf.Rad2Deg
V = new Vector3(45, 30, 0)
angle = V.magnitudeでも同じ結果になります。
839: 2017/12/13(水)06:09 ID:EBksqhAl(1/2) AAS
>>834
そうなのか……
大きい移動とかはスクリプトで制御するしかないのか。
ありがとう
840: 2017/12/13(水)18:54 ID:+IrYaRns(1/2) AAS
趣味でUnity使ってゲーム制作してる人と友達になる方法教えてください
841: 2017/12/13(水)18:59 ID:w+IYDO+A(1) AAS
お断りします
842(1): 2017/12/13(水)19:00 ID:EBksqhAl(2/2) AAS
ツイッターでよくね?
現実で探そうとしてもなかなか見つからんもんだぞ。
843(1): 2017/12/13(水)19:11 ID:6lJsdJ22(1) AAS
transformのposition, rotation, scaleって、
なんでtransform.position,transform.rotation,transform.lossyscale
になっていて、transform.scaleじゃないの??
844(1): 2017/12/13(水)19:23 ID:+IrYaRns(2/2) AAS
>>842
日本の活発な交流サイトとかはなさそうですね…ありがとうございます
845: 2017/12/13(水)19:54 ID:IotT1rVx(1) AAS
>>844
ツイッター
FacebookのUnity寄り合い所
あとはリアルのイベント
ゲームジャムやエンジニア向け勉強会に参加して交流、名刺交換、SNS垢の相互フォローなどすれば簡単に知り合いは増える
ちゃんと進捗をSNS上で報告すれば質問とかも答えてもらえる
イベントを探すならdoorkeeper、atnd、peatix
846(1): 2017/12/13(水)20:48 ID:/jokcbje(4/6) AAS
>>843
transform.lossyscale = Vector3.Scale(transform.parent.localscale, transform.localscale)
つまり
transform.lossyscale.x = transform.parent.localscale.x * transform.localscale.x
transform.lossyscale.y = transform.parent.localscale.y * transform.localscale.y
transform.lossyscale.z = transform.parent.localscale.z * transform.localscale.z
localscaleは、インスペクター上で設定するスケールで、
lossyScaleは、自分のlocalscaleと親のlocalscaleの各成分の積になってます。
本当のscaleは、回転が入ると、Vector3ではなくて、3×3行列になってしまいます。
lossyScaleの場合は、回転前のスケールで、Vector3で表せるからだと思います。
847(1): 2017/12/13(水)20:58 ID:Kxr7McTA(1/3) AAS
>>846
おお、中の人?w
848: 2017/12/13(水)22:56 ID:/jokcbje(5/6) AAS
Unityでは、アフィン変換を行う4×4行列であるMatrix4x4が、
TRS(Vector3 position, Quaternion rotation, Vector3 lossy scale)
によって構成されていて、
スケーリング→回転→移動の順に適用するようにしています。
最初にスケーリングを行うことで、
3×3行列の対角成分しか使わず、Vector3で済みます。
RigidbodyのinertiaTensorも一緒で、
本来は3×3行列が必要な慣性モーメントテンソルを、
慣性主軸系に限定することで、対角成分しか使わず、
Vector3の主慣性モーメントで済むようにしています。
849(1): 2017/12/13(水)23:01 ID:/jokcbje(6/6) AAS
>>847
Unity自体はそれほど詳しくないですが、
物理演算系とか、3D数学が専門なので。
850(1): 2017/12/13(水)23:04 ID:bbkFRctl(1) AAS
神になった気分だ。
スキルアップした今、どんなジャンルの仮想世界を作れと言われても
その詳細さえ教えてもらえれば
一瞬でどんなデータ構造/アルゴリズムで作ればいいかや
どんなデザインパターンを使えばいいかが
一瞬で頭にひらめき、スラスラとコードを書きはじめることができ、
予期せぬバグとかがなければ短期間でそのソフトやツールを一人で作る自信がある。
この予期せぬバグとはふだん使ってない昔やったプログラミング言語の細かい文法関連のことだけで
それはすぐ見直してカンを取り戻せばいいから全く問題ない。
851: 2017/12/13(水)23:09 ID:Kxr7McTA(2/3) AAS
>>850
いいから、お前は早く作れ!w
852(1): 2017/12/13(水)23:11 ID:Kxr7McTA(3/3) AAS
>>849
専門?3d系プログラマ?
853(1): 2017/12/13(水)23:36 ID:fbUZmcUU(1) AAS
transform.lossyscale.x = transform.parent.locssyScale.x * transform.localscale.x
じゃないのか?
854: 2017/12/14(木)00:23 ID:AuQKwcV0(1/7) AAS
>>853
そうですね。
parentがrootとは限らないので、parentのlossyscaleじゃないとダメですね。
末枝側へ変換が累積していきますから。
親オブジェクト-子オブジェクトの2者関係だと、
親オブジェクトのlossyscale = localscaleなので、両方localscaleで大丈夫ですけど。
親オブジェクト-子オブジェクト-孫オブジェクトの3者関係だと、
孫オブジェクトの親オブジェクトである子オブジェクトのlossyscaleは、
親オブジェクトのlocalscale * 子オブジェクトのlocalscaleになってますから、
孫オブジェクトのlossyscale
= 子オブジェクトのlossyscale * 孫オブジェクトのlocalscale
= (親オブジェクトのlossyscale * 子オブジェクトのlocalscale) * 孫オブジェクトのlocalscale
= 親オブジェクトのlocalscale * 子オブジェクトのlocalscale * 孫オブジェクトのlocalscale
>>852
仕事じゃなくて学問の方で。
うっかりしてましたが、UnityはCamelCaseだから、localScale,lossyScaleが正しいのでしたね。
855: 2017/12/14(木)00:33 ID:AuQKwcV0(2/7) AAS
Scaleの積は、Vector3の各成分とVector3の各成分の積なので、
Vector3 * Vevtor3 は定義されていないから、
Vector3.Scale(Vector3, Vevtor3) という演算ですね。
いわゆる、アダマール積(シューア積,要素積)です。
Unityでは、アダマール積の逆関数が定義されていないので、
自分でVector3.Scaleの逆関数を定義するか、
アダマール積の逆数を自分で定義する必要がありますね。
856: 2017/12/14(木)02:05 ID:tWpTkhe5(1) AAS
Vuforiaを使ってAR作りたいのですが実行するとマーカーは認識するもののカメラの映像が映らずに画面が黒くなります
誰か分かる方いらっしゃいますか...?
上下前次1-新書関写板覧索設栞歴
あと 146 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.025s