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