[過去ログ] 【3Dゲームエンジン】Unity質問スレッド40 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
198(1): 2019/06/12(水)14:44 ID:8lg3BCoG(1/3) AAS
Unity2日目の3D屋さんです。
Unityには4*4マトリックスがあるようですが、ゲームオブジェクトからマトリックスを取り出して、
変換して、ゲームオブジェクトに戻す、という処理はできるのでしょうか?
transformというクラスの実体がマトリックスのようなのですが、直接の読み書きができません。
「GetGlobalTransform」とか「SetGlobalTransform」みたいな関数があるといいのですが。
それとも、「transform.position」とか「transform.forward」を使ってベクトル単位でチマチマやるしかないのでしょうか?
200: [198] 2019/06/12(水)16:03 ID:8lg3BCoG(2/3) AAS
>>199
情報ありがとうございます。
このサンプル見ると、新規に4*4マトリックス作って「Mesh.bindposes」という関数でボーンのバインド情報(4*4マトリックス)を渡しています。
つまり、4*4マトリックスというのはボーンを扱うためのローカルな機能で、一般のオブジェクトでは扱えないようです。
ボーンでマトリックスを使うのは、ウエイトに応じて階層に含まれる全部のボーンの影響を考慮する必要があるからでしょう。
一般的なゲームオブジェクトの場合は、グローバルとローカルの二つが判ればほとんどの場合困りません。
つまり、階層の途中のマトリックスは無視できるわけです。
省7
203: 198 2019/06/12(水)18:10 ID:8lg3BCoG(3/3) AAS
>>201
そもそも>>199のサンプルが遅いし、複製したメッシュをGPUに送らずに(もしくは表示させずに)捨てられれば、
少なくとも同じ程度の速度で動くはず。3Dの世界では標準的なテクニック。
GPUの中で変形させてるから複製もGPUが関与するとかなら重くなるだろう。
そこらへんはやってないので判らない。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.034s