E-mote3.9.6リリースノート
2018/12/05 ・ 5:01 pm
本日E-mote3.9.6をリリースしました。
アップデート内容を詳しく紹介します。
SDK最適化による高速化
SDK内部で使用しているコンテナクラスの取扱いを見直し、メモリコピーのロスを減らすことで5%~10%の高速化を実現しました。
モデルデータのデータ構造最適化による高速化
内部構造を最適化した形式のモデルデータを新たに導入し、最新のSDKでそのモデルデータを再生出来るようになりました。
これにより、(モデルデータにもよりますが)30%程度の高速化が見込めます。
エクスポート設定に新たに追加となった「データ構造を最適化する」オプションを有効にすることで、最適化したモデルデータを出力することが出来ます。
(なお、最適化したデータは3.9.5以前のSDKでは再生出来ません)。
ツールパネルとミラー編集モードを追加しました
ツールパネル
各種ツールを集約「ツールパネル」を追加しました。
メニューから「表示→ツールパネル」にチェックを入れることで表示出来ます。
特定のリストアイテムへのフォーカス移動、参照画像の表示切り替え、メッシュの変形などのショートカットを持っています。
また、ここで「ミラー編集」にチェックを入れることで、左右対象に編集を行う「ミラー編集モード」に入ることが出来ます。
ミラー編集モード
ミラー編集モードでは、メッシュの「左側、もしくは右側」だけを編集すれば、反対側も同時に編集されるようになります。
正面タイプのテンプレートでの編集作業が大幅に省力化できます。
パーツ名称に「L」や「R」が含まれていない パーツのメッシュ 例:頭部頭向きの[左右]編集時 |
|
パーツ名称に「L」や「R」が含まれている パーツのメッシュ 例:目Lや目Rの[左右]編集時 |
|
パーツ名称に「L」と「R」が含まれていて編集するメッシュが「上」と「下」の パーツのメッシュ 例:目Lや目Rの[頭向き上下]編集時 |
|
パーツ名称に「L」と「R」が含まれておらず編集するメッシュが「上」と「下」の パーツのメッシュ 例:クチの[頭向き上下]編集時 |
PSDインポート機能を拡張しました
不足レイヤの一覧表示
インポート時に、不足しているレイヤの一覧を表示するようになりました。
これにより、命名を誤って正しく読み込めていないレイヤなどがひと目でわかるようになります。
左右型パーツの取り込み優先順位指定
目や眉といった、単一のレイヤ画像から左右のパーツを切り出す左右型パーツでは、レイヤ画像を自動的に左右に分割します。
このケースで、左右分割が出来なかった際にレイヤをどちらのパーツへ割り当てるか、優先順位を設定できるようになりました。
デフォルト状態の「両側」に左右両方のパーツにレイヤ全体のバウンズが設定されますが、
これを「左側」または「右側」に設定することで、左右どちらかのパーツのみに割り当てを強制することが出来るようになっております。
Unity SDK を改善しました
Unity TYPE2 SDK に多数の有用な改良を加えました。
簡単に紹介します。
GCの軽減
GCを発生させていた多数の処理を見直し、なるべくGCが発生しないように改修を行いました。これにより動作安定度が改善しました。
Sorting Layer の設定
RenderTextureを描画対象とした場合に限り、Sorting Layer および Order In Layer の設定が行えるようになりました。
描画の際の優先度設定がより行いやすくなります。
物理系の速度制限
E-mote Global Settings に追加した「Global Translate Limit Velocity」を設定することにより、物理系を適用するキャラの速度に「制限」をかけることが出来るようになりました。
値の単位は「m/s」です。0ではない値を設定すると、キャラの移動速度が設定速度を越えた場合でも、この値を上限として物理演算が行われるようになります。
これにより、キャラが激しい動きをした際に物理演算が暴れる問題を抑制することが出来ます。
一般的に、0.4~0.5程度の値を設定すると程よい挙動をしてくれます。
ツール
新機能
- エクスポート時にデータ構造を最適化するオプションを指定出来るようになりました。モデルデータの内部構造を最適化し、高速な動作を可能にします。
- 各種ショートカットを搭載した「ツールパネル」を追加しました。
- 左右対称なメッシュを同時編集する「ミラー編集モード」を追加しました。
- 「設定」で、モデルエクスポート時のデフォルト拡張子を設定出来るようになりました。
- 解像度の高いモニタ向けに、ウィンドウの表示倍率を変更する機能を実装しました。
変更点
- E-mote3.9で廃止した、メッシュをポイント単位で操作できる「ポイントアンカー」の機能を復活させました。また、ポイントアンカーとエッジアンカーは表示を自由に切り替えられるようになりました。
- テクスチャアトラスのプレビュー時に、テクスチャの表示をこれまでの「原寸大」だけでなく、ウィンドウサイズに「フィット」するモードも選べるようになりました。
- 複数のパーツを同時選択して、まとめて無効化・有効化を指定出来るようになりました。
- 今までPSDインポート時にしか設定出来なかった追加パーツのパーツタイプを、後から変更出来るようになりました。
- タイムライン動画出力のプリセットコンフィグ設定に「コミケWebカタログ(WMV)」を追加しました。
- PSDインポート時、不足しているレイヤの一覧を表示し、レイヤの命名ミスがひと目でわかるようにしました。
- PSDインポートでレイヤを左右に自動分割するタイプのパーツについて、片側の画像しかない場合に左右どちらのパーツの割り当てを優先するか選択できるようになりました。
バグ修正
- PS比較(暗) のレイヤのエッジの描画がエディタ上でおかしくなる問題を修正しました。
- PS焼き込みカラの表示色がオーバーフローする問題を修正しました。
- 追加パーツの削除が出来なくなっていた問題を修正しました。
- 腕差分など、セレクタ変数にぶら下がっている追加パーツを直接画像を見ながら編集出来ない問題を修正しました。
- PSD取り込み時のズームスライダーの値が初期化されなくなっていた問題を修正しました。
- ボイスボリューム解析ダイアログのプレビューで「再生」ボタンを押すとハングする問題を修正しました。
- WAV解析時に、WAVの無音部を「音がある」と解釈して値が上ずる問題を修正しました。
- PSDインポート時、全体枠の枠をリセットすると、その直後のインポートでは枠の大きさが反映されない問題を修正した。
SDK
新機能
- データ構造の最適化をしたモデルデータを再生出来るようになりました。モデルにもよりますがCPU処理でおよそ30%程度の高速化になります。
- APIの呼び出し履歴を記録・再生できるAPIを実装しました。
- Unity TYPE2 SDK で、E-mote Global Settings に「Global Translate Velocity Limit」の設定を追加しました。物理演算系に効かせるモデルの内部的移動速度の上限を設定出来ます。
- Unity TYPE2 SDK で、RenderTargetへ描画する際に、Sorting LayerとSorting Order を指定出来るようになりました。
変更点
- Unity TYPE2 SDK に実装漏れをしていた EmotePlayer.UnloadData() 関数を実装しました。
- Unity TYPE2 SDK で、UnityのGCを避けるため、すべてのプラットフォームでE-mote SDK用の独自ヒープを使うように設定しました。
- Unity TYPE2 SDK で、余計なGCを抑制するために各種のコード修正を行いました。
- SDK内のコンテナクラスの扱いを見直し、高速化をしました。CPU処理でおよそ5~10%の高速化になります。
バグ修正
- 一部の表情変数(face_cheek, face_tears, face_eye_hi)がインスタント変数と判定されず差分タイムラインで値が足し込まれて表情指定が誤動作する問題を修正しました。
- Windows/D3D9 SDKで同じ設定のBBMが連続して描画されるとキャプチャが最初の一回しかされない問題を修正しました。
- Windows/D3D11 SDK でレンダーターゲットへの描画時に上下が反転する問題を修正しました。
- Unity TYPE2 SDK でUnity2017以降でBBM使用時にエラーが出ていた問題を修正しました。
- 覆い焼き(リニア)の値が0除算が原因でオーバーフローする問題を修正しました。