v0.46
commit
ce8c
バグ修正
ImporterContext.Destroyの修正
Runtimeのリソース破棄に使えるように仕様変更し ました。
詳細は、APIの変更
- ImporterContext.Destroy
を参照。
BlendShapeProxyでマテリアルのクリア挙動を修正しました
毎フレームマテリアルの基準値にクリアしていたので、変化していないときにセットするのをやめると元に戻ってしまう。
thumbnail設定の復旧
Importer
float値にNan、Infがあったときにパース出来るようにした
- ToDo: ExporterでNan Infを検知すべき
Unity2018.3対応
#if NET_4_6 || NET_STANDARD_2_0
Import時に既存のファイル(BlendShapeClip, BlendShapeAvatar, Material)を上書きしない
改めて作成させるには対象のVRMから作成されたMaterialとBlendShapeClipとBlendShapeAvatarアセットを削除したのちに、vrmファイルをreimportしてください(右クリックのメニューなどからできます)。
Exporter
非アクティブオブジェクトのスキップ
エクスポート時に非アクティブのノードのメッシュエクスポートをスキップするようにしました。
Component
VRMFirstPerson.Setupの最適化
設定が auto
のとき SubMesh の index 配列(mesh.getIndices
)が長い(10万以上)モデルで異常に負荷がかかるのを修正しました。
APIの変更
BlendShapeProxy.SetValue(key, value, immediately)
3引数 SetValue
の代わりに2引数の明示的な関数を用意しました。
AccumulateValue
値を貯めて、後で Apply
したときに反映する。
SetValues
の最後にも Apply
されます。
void BlendShapeProxy.AccumulateValue(key, value)
// [Obsolete] SetValue(key, value, false)
ImmediatelySetValue
即反映する。
void BlendShapeProxy.ImmediatelySetValue(key, value)
// [Obsolete] SetValue(key, value, true)
ImporterContext.Destroy
ImporterContext.Destroy(bool destroySubAssets)
が名前から期待される動作をしていないので Obsolete
にして用途を明確にした関数を用意しました。
DestroyRootAndResources
runtimeインポーター向けのリソース解放。 追加したDisposeはこれを呼びます。
EditorDestroyRoot
editorインポート時のprefabの元になったGameObjectをシーンから削除。 旧Destroy(destroySubAssets=false)
EditorDestroyRootAndAssets
editorインポート時にエラーが発生した場合などに作ったアセットを削除する。 旧Destroy(destroySubAssets=true)