E-mote3.9.7p3リリースノート
2020/06/12 ・ 5:00 pm
本日E-mote3.9.7p3をリリースしました。
アップデート内容を詳しく紹介します。
既知の問題
Unity TYPE2 SDK Androidの一部機種での描画不良
現在、Unity TYPE2 SDKにおいて、Androidの一部の環境においてマスク処理に連動して描画の乱れが起きる現象の報告を受けております。
Unityと当該端末の相性の問題と推測されますが、詳細な原因については現在調査中です。なお、問題はアルファマスクを適用している時に限定して発生するため、マスクタイプを「ステンシル」に変更することで、便宜的に問題を回避することが出来ます。
現在、問題を把握している端末は、 以下のとおりです。
- HUAWEI P9 lite
- HUAWEI BTV-W09
- LUMIERE 503HW
- HUAWEI P8 lite ALE-L02
- Blade L3 g01
- HUAWEI Y6 II
- Ken Brown SKYLAB PLUS 10
重要な修正
レンダーテクスチャへの描画時の半透明ピクセルの色濁りの改善
E-mote SDKを使ってモデルをレンダーテクスチャに対して描画する際『半透明パーツが綺麗に描画されない』という現象が見られます。
今回の更新で、この現象に対処するためのオプションを大幅に拡充しました。
説明が長くなるため、詳細は 以下の別ドキュメントで解説しています。
レンダーテクスチャに対して半透明パーツを綺麗に描画するノウハウ
Android環境での実装の最適化
最新のAndroid開発環境に合わせ、内部的に使用しているSTLをgnustlからlibc++に変更しました。
また、「アプリのPause/Resume時のテクスチャのリストア手法」が、今まで「オンメモリでテクスチャイメージを保持しておく」選択肢しか無かったものを、「オンメモリで保持」「一切ケアしない」「都度E-moteデータをファイルから読み直してリロード」とアプリの環境に合わせて複数の手法の中から手法を選択し、メモリフットプリントの改善が行えるようにしました。
ツール
新機能
- ソース画像の透過属性を「自動判定」「半透明」「不透明」から選択出来るようにしました。
- 「適切なレンダリングテクスチャのクリアカラー」を事前計算して、エクスポート時にモデルデータに含めるようにしました。
変更点
- GPUを使用しUIの描画を高速化しました。
- モード切り替え時の画面暗転が起こらないようにしました。
- ツリーと編集画面の間のスプリッターを動かした時のがたつきを解消しました。
- 今までは 編集可能状態になっていない(グレーアウトされている)項目でメッシュのインポート・エクスポートが出来なかっので、グレーアウトされたままインポート・エクスポートが出来るように動作を変更しました。
バグ修正
- テクスチャ最大枚数を設定しているのに、その最大枚数を超えたテクスチャが出力されてしまうことがある問題を修正しました。
- 不透明ピクセルが多いレイヤが半透明レイヤ判定に失敗するケースがあったので、より適切に半透明判定されるように修正しました。
- データ構造の最適化」にチェックを入れてエクスポートした際に、一部の特殊な構造のパーツが正しい構造で出力されない問題を修正しました。
- タイムライン編集時、「値」の欄を編集して変更を確定せずにツリーのフォーカスを変更しようとするとハングする問題を修正しました。
SDK
新機能
- E-mote Unity TYPE2 SDKで、レンダリングテクスチャへの描画時に乗算済みアルファを生成し、半透明カラーの濁りを発生させない機能を追加しました。
- E-mote Unity TYPE2 SDKで、半透明テクスチャ保護機能の対象パーツの周辺にアウトラインを表示して可視化する機能を追加しました。
- E-mote Unity TYPE2 SDKで、レンダーテクスチャのクリアカラーを設定する機能を追加しました。
- E-mote3.9.7p3 以降のエディタで出力されたモデルデータに含まれる「適切なレンダリングテクスチャのクリアカラー」を取得するAPIを追加しました。
- E-mote Unity TYPE2 SDKで、既存のモデルデータについて「適切なレンダリングテクスチャのクリアカラー」を計算する機能を追加しました。
- E-mote TYPE2 SDKで、圧縮テクスチャ適用時の微細なアーティファクトを抑えるため、シェーダーのアルファカットオフのしきい値を任意の値に設定する機能を追加しました。
- E-mote Android SDKで、 IEmoteDevice::SetResumeMode() 関数を使って、アプリケーションのPause/Resume時のSDKの動作を詳細に設定できるようになりました。
- E-mote WebGL SDK で、E-moteアニメーションの更新タイミングを外部から制御できるようにするための、フック関数の定義を追加しました。
変更点
- E-mote Android SDK のNDKで使用しているSTL実装を、gnustlからlibc++に変更しました。
- E-mote Windows DirectX9 SDK で、DirectX9Exでの動作に対応しました。
- E-mote Windows OpenGL SDKで、64bitビルドに対応しました。
- E-mote NX SDK で、NintendoSDK7.0.0以降に対応しました。
バグ修正
- E-mote Unity TYPE2 SDKで、Legacy Alignmentでマスクのクリア範囲が適切に設定されないことがある問題を修正しました。
- E-mote Android SDKで、 ver3.9.7p2 でのエンバグによりアプリケーションのSuspend/Resume時にE-moteモデルが表示されなくなっていた問題を修正しました。
- E-mote Unity SDKで、Unity2019以降のUnityでWebGLビルドが機能しない問題を修正しました。