jsakurai
(jsakurai)
1
はじめまして、質問させていただきます。
UE4から、インポートできるメッシュのポリゴン数の制限が無いということで実験いたしました。
・Mayaで192万ポリゴンメッシュに分割したキューブモデルを、スタティックメッシュとしてインポート。
インポートに17分少々かかりました。 (40万ポリゴンメッシュに分割した場合は、3分少々)
ポリゴン数に比例してインポート時間も同じ倍数くらいの時間になるようです。
・Mayaから、112ボーンをいれた約76万(766550)のメッシュの人物キャラクターをスケルタルメッシュとしてインポート。
インポートには、2時間以上かかりました。(あまりにも長すぎて放置したため、正確な時間の記録ができていません。)
ちなみに、同じモデルで24万ポリゴンにして、同じボーンでインポートした場合は、4分20秒。
こちらは、スタティックメッシュと違い、ポリゴン数の増加数の倍数にたいして、3乗したような時間がかかっています。
(76万ポリゴンモデルは、24万モデルの約27倍のインポートの時間がかかっている)
インポートに使用した環境:Corei7@3.07GHz, Memory:24Gb, G-force 650
インポート後のモデルには破綻もなく、特に問題がありません。 UE3の65335頂点の制限から考えると、感動を覚えるくらい劇的なことですばらしいと思います。
しかし、インポートに数時間かかるのは、かなり作業に影響がでます。(私のマシンが3年前のスペックなので問題なのかもしれませんが) インポートについての高速化について、何かありますでしょうか? もしくは、インポートの処理速度の改善のリクエストを希望したいと思います。
前にスケルタルメッシュがかなり時間かかった問題があった時に、調べたところはメッシュの頂点骨インフルエンスが多くて、ProcessImportMeshInfluencesという関数が遅かったです。
今週ProcessImportMeshInfluencesを最適化しました(このチェンジが4.2のリリースに出るはずです)が、とりあえず、2つのお勧めがあります:
- UE4では頂点毎にMaxで8骨インフルエンスを対応しますので、メッシュをバインドする時にインフルエンスを限ったら使わない頂点がインポート時にプロセスされません:

- メッシュをインポートする時に、Triangulateしないといけないですが、先にMayaからエクスポートする時にTriangulateしますと、UE4にインポートする時にTriangulateする必要がなくなります:

よろしくお願いします!
jsakurai
(jsakurai)
3
ご回答ありがとうございました。 4.2のリリースが楽しみです。
先日、実質的なポリゴン数での検証をいたしました。
4.02でも Haswell には最適化されているのを確認いたしました。
(A) Core i7 950 @3.07GHz メモリー:24GB グラフィックス:GeForce GTX 650 備考:3年以上前のPC
(B) Core i7 3570 @2.0GHz メモリー:16GB グラフィックス:IntelHD 4000 備考:マックAirなどのノート
インポートに使用したモデル:人物系のモデルをMayaで単純にAdd Divisionsでメッシュを細分化。
ボーン数:112
ポリゴン数
(a)100809
(b) 151419
(c) 302427
========================
(A) Core i7 950 @3.07GHz
・スタティックメッシュ
(a)100809 - 10秒
(b) 151419 - 42秒
(c) 302427 - 85秒(1分25秒)
・スケルタルメッシュ
(a)100809 - 38秒
(b) 151419 - 82秒(1分22秒
(c) 302427 - 497秒(8分17秒)
========================
(B) Core i7 3570 @2.0GHz
・スタティックメッシュ
(a)100809 - 8秒
(b) 151419 - 32秒
(c) 302427 - 65秒(1分5秒)
・スケルタルメッシュ
(a)100809 - 29秒
(b) 151419 - 74秒(1分14秒
(c) 302427 - 368秒(6分8秒)