AnyPortrait > マニュアル > Bakeダイアログ
v1.1.0以降、BakeダイアログのUIが部分的に変更されました。
画面の上部にあるBakeボタンを押すと、Bakeダイアログボックスが表示されます。
ダイアログの上部には、 「Bake」タブと 「Setting」タブがあります。
「Setting」タブには、Bake用のapPortraitの設定が含まれています。
[ Bakeタブ ]
1. Portrait : apPortraitは現在編集中です。
2. Bake Scale : AnyPortraitの座標系はUnityの座標系とは異なるので、これに合うのはサイズの比です。
3. Z Per Depth : 各メッシュのZ間隔。 小さすぎると「Z-Fighting」の問題が発生することがあります。
4. Bake : BakeしてUnityに出す。
5. Optimized Baking Target
6. Optimized Bake : 最適化されたBakeをしてUnityに出す。
7. Save scenes after Bake : ワークが安全に保存されるように、Bakeと同時に現在のシーンを保存します。
[ Settingタブ ]
8. Project カテゴリー
: 以下の設定はプロジェクトごとに変更され、保存されます。
9. Color Space
: Unityの色空間(Gamma / Linear)に合わせてBakeをすることができます。
10. Render Pipeline
: プロジェクトの「Render Pipeline(Default / Scriptable Render Pipeline)」に合わせて設定するためのオプションです。
(Unity 2019からサポートされているオプションです。)
このオプションは、クリッピングメッシュが正常に描画されるよう作成されます。
「Render Pipeline」と「マテリアル」に関する設定は、次のページを参照してください。
(マテリアルライブラリ / Universal Render Pipeline)
11. Set Ambient Light to Black color
: Unityシーンの「Ambient色」を黒に作ってキャラクターが過度に明るく表示されることを防止します。
12. Portrait カテゴリー
: 以下の設定は、キャラクター(Portrait)単位で保存されます。
13. Sorting Layer / Order
: メッシュのレンダリング順序を決定するオプションであり、「Sorting Order」を割り当てる方法を決定することができます。 (関連ページ)
- Sorting Layer : レンダリング順序を決定するレイヤーとして、プロジェクト設定で指定されました。
- Sorting Order Option : メッシュに Sorting Order を割り当てる方法のオプションです。同じ値を入れたり、順序に応じて異なる値を指定したりできます。
- Sorting Order : メッシュにこのオプションの値を Sorting Order として一括して割り当てます。
- Order Per Depth : メッシュの Depth の違いに応じて、Sorting Order をどのくらい異なる方法で割り当てるかを決定します。
14. Mecanim
: 「Mecanim」を使うためのオプションです。 ([LINK
- Is Mecanim Animation : Mecanimを使用するかどうか。
- Animation Clip Export Path : Animatorに含まれるAnimation Clipアセットが生成されるパスです。
15. Update Options
: ゲームプレイ時のアップデートがどのようになるかについてのオプションです。
- Main Logic Event : メインロジックがどのイベントで呼び出されるかを設定します。 (関連ページ)
- Is Important : 重要でないオブジェクトまたはNPCの場合は、最適化のためにImportantをオフにして更新を制限できます。 (関連ページ)
- Mesh Update Frequency : 低FPSでアニメーションを再生するオプションです。 (関連ページ)
- Invisible Mesh Update : モディファイアまたはスクリプトによって見えないメッシュを更新するかどうかを設定します。 Physicsモディファイアを適用するなどの場合は、目に見えないメッシュを更新し続けることができます。
- Clipping Process : スクリプトの実行順序の問題によってクリッピングレンダリングの問題が発生した場合は、クリッピングメッシュ処理の時点を変更できます。 (関連ページ)
16. Billboard
: ビルボードがアクティブになると、パースペクティブカメラを利用することが可能になり、キャラクターを3Dシーンに配置することが可能です。 (関連ページ)
- Billboard : ビルボードを適用するかどうかを決定します。
- Set Sort Mode to Orthographic : 現在のプロジェクトの「Sort Mode」を強制的に「Orthographic」に設定して、ビルボードのレンダリングをより良くします。
- Parent's Rotation : 親オブジェクトの回転がビルボードに適用されるかどうか。
17. Shadow / Probe
: 生成される「Mesh Renderer」の「Shadow」と「Probe」に関する属性を指定できます。
(基本的に提供されるShaderでは「Receive Shadows」をつけても影が適用されません。)
18. VR / Multi-Camera
: VRを利用したり、複数のカメラを利用する場合のレンダリングオプションです。
このオプションは、クリッピングメッシュとビルボード計算が実行環境に合わせて作成します。
VRの説明は、次のページを参照してください。
(VRにビルド / 複数のカメラによるレンダリング)
- VR / Multi-Camera : VRまたはマルチカメラによるレンダリング方法を決定するオプション。
- Mask Texture Size : VRでクリッピングマスクのレンダリングテクスチャの解像度を調整できます。
- Check Cameras : ゲーム内のカメラの数を確認する方法に関するオプションです。
19. Flipped Mesh
: これはメッシュの大きさが逆転されると、正常にレンダリングされるように補正する機能に関するオプションです。
このオプションによってリギングされたメッシュもこの処理に含まれるかどうかを決定します。
(関連ページ)
20. Scale of Root Bone
: 「子メッシュグループ」と「ルートのボーン」の間のサイズ演算に関するオプションです。
(関連ページ)
21. Unspecified value in animation transition
: 切り替えられる次のアニメーションで、指定されていない値が「デフォルト値に回復」するか、「最後の値が維持」されるかを決定するオプションです。
- Control Parameter : 制御パラメータが未指定の場合のオプションです。
22. Teleport Calibration
: キャラクターが1フレームの間、該当オプションの距離以上に動く「テレポート」が発生した場合、物理効果を一時的に減少させるオプションです。
- Teleport Calibration : テレポート発生時に物理効果を一時的に減少させるかどうか。
- Position / Rotation / Scaling : 1フレーム中に各属性が一定値を超えて変化すると、「テレポート」が発生したと見なされます。
23. Root Motion Options
: アニメーションの動きを親 GameObject に適用するオプションです。 (関連ページ)
- Root Motion Method : ルートモーションの適用方法です。
- Options Per Axis : 各軸ごとにルートモーションの適用方法を異なる方法で指定できます。
- Parent Transform Type : ルートモーションが適用される親オブジェクトのタイプです。
24. IK Method
: IKコントローラがどのアルゴリズムによって動作するかを決定できます。 (関連ページ)
25. Save Settings as Default
: 現在のBake設定を「デフォルト」として保存して、他のキャラクター(Portrait)にもすばやく適用できるようにします。
AnyPortraitでキャラクターを作成し、「Bake」をすると、文字が過度に明るく表示される経験を一度経験し見たことです。
これAnyPortraitのキャラクターがシーンの「Ambient Light」の適用を受けるためです。
正しく適用するためには、「Ambient Light」を黒に変えなければならが、Bakeダイアログでこの作業を迅速に行うことができます。
Bake直後にUnityシーンでのレンダリング画面です。
元の色と異なって、過度に明るくレンダリングがされていることを見ることができます。
Bakeダイアログの「Setting」タブで「Set Ambient Light to Black Color」ボタンをクリックします。
Ambient設定が変わり、通常の明るさでレンダリングがされていることを見ることができます。
プロジェクトのレンダリングパイプラインをデフォルト以外の「URP」などに設定した場合は、「Bake」設定の「Render Pipeline」オプションを「Scriptable Render Pipeline」に上記のように変更する必要があります。
特にクリッピングメッシュを正常に動作させるには、必須に設定する必要があります。
AnyPortrait v1.3.5では、プロジェクトのレンダリングパイプラインと「Bake」設定が合っていない場合、それを確認して自動的に変更する機能が追加されました。
「Bake」を実行するときに「URP」を使用する場合、またはその逆の状況で「Render Pipeline」オプションが適切でない場合は、上記のメッセージが表示されます。
「Change Now」ボタンを押してみましょう。
現在のプロジェクトのレンダリングパイプライン設定に合わせて自動的に変更されます。
メッセージの「Do not show this message」ボタンを押すと、そのメッセージは表示されなくなります。
メッセージを再表示させたい場合は、「設定ダイアログ」でオプションを有効にしてください。 (関連ページ)
参考
- 「Unity 2020」以降でのみこのメッセージが表示されます。
- 「URP」以外の「Scriptable Render Pipeline」は認識されません。
キャラクターごとにBake設定を毎回設定するのは面倒です。
設定した設定値をデフォルト値に設定して面倒な作業を避ける方法を紹介します。
(1) 「Setting」タブを選択します。
(2) 「Bake」時に適用されるオプションをそれぞれ確認し、適切に設定します。
(3) 「Save Settings as Default」ボタンを押します。
(4) 案内メッセージを確認し、「Okay」ボタンを押します。
(1) Bake設定値が保存されている場合は、上記のようにUIが変更されます。
(2) デフォルト設定が保存されたことを知らせるメッセージが表示されます。
(3) 保存した値を削除したい場合は、「Remove Default Settings」ボタンを押してください。
参考
設定値はプロジェクトフォルダに「AnyPortrait_ProjectSettings.txt」という名前のテキストファイルとして保存されます。
このファイルはバージョン管理ツールと互換性があるため、他の開発環境で同期して活用することをお勧めします。
新しいキャラクターを作成してBakeダイアログを開きましょう。
デフォルトとして保存されたものと同じに設定されていることがわかります。
(ただし、デフォルト値で保存する前に生成されたキャラクターの設定は変更されません。)
(1) 保存したデフォルトとは異なるオプションを選択した場合は、上記のようにUIが変更されます。
(2) ここで「!」ボタンが表示されます。このボタンを押すと、オプションが保存されているデフォルトに戻ります。
Bakeの設定の一部はプロジェクト単位で保存され、一部はキャラクター単位で保存されます。
「Project」カテゴリのオプションを変更すると、それは他のキャラクターにもすぐに適用されます。
逆に、「Portrait」カテゴリのオプションを変更しても、他のキャラクターは影響を受けません。