あなたの世界を作りなさい
世界環境
ZEPETOワールドでのPost-Processingの適用
6分
ワールドに印象的なビジュアル効果を追加したり、グラフィックのクオリティを向上させたい場合は、unityのpost processing機能を活用してみましょう。 さまざまな視覚効果を加えることで、より没入感のある、完成度の高いワールドを作ることができます。 post processingの始め方 post processingパッケージをインストールします。 unityで window > package manager を開き、packagesオプションを unity registry に設定した後、リストから post processing パッケージを探してインストールします。 zepetocameraのprefabを複製します。 プロジェクトフォルダで packages > zepeto character controller > runtime > resources > camera に移動し、 zepetocamera のprefabをコピーして、assetsフォルダに貼り付けます。 その後、複製したprefabの名前を zepetocameracopy に変更してください。 zepetocameracopyをリンクします。 hierarchyで managers > zepetoplayers を選択し、inspectorのprefabフィールドにzepetocameracopyをドラッグ&ドロップします。 新しいレイヤーを作成します。 zepetocameracopyのinspectorで layer > add layer をクリックし、新しいレイヤーを作成して、 layer フィールドに割り当てます。 📘 注意 使用できるレイヤーはlayer 3とlayer 6以上です。 layer 0~2および4~5はunityのデフォルトレイヤーであり、編集できません。 post processingの適用方法 post processingの適用方法は主に2つあります。 global :ワールド全体に効果を適用する方法 local :キャラクターが特定のエリアに入ったときのみ効果を適用する方法 globalの適用方法 zepetocameracopyにpost process layerとpost process volumeを追加します。 inspectorでadd componentをクリックし、 post process layer と post process volume を追加します。 post process layerの volume blending > layer フィールドに、先ほど作成したレイヤーを指定します。 次に、post process volumeの is global オプションにチェックを入れ、 profile フィールドに使用したいエフェクトが含まれたpost process profileを割り当てます。 まだpost process profileがない場合は、profileフィールド横の new ボタンをクリックして新しく作成できます。 post process profileにエフェクトを追加します。 新しいpost process profileを作成した場合は、それを選択して add effect ボタンをクリックし、エフェクトを追加します。 設定値を調整して、好みのビジュアル効果を演出してください。 設定値を変更するには、各フィールドの左側にあるチェックボックスにチェックを入れる必要があります。 ✏️ ヒント effectはplay mode中にも自由に調整でき、play mode終了後も変更内容は保持されます。 シーン実行中にinspectorで設定をリアルタイムに調整しながら、効果の見え方を確認しましょう。より細かい演出が可能になります。 \<effectの例> localの適用方法 zepetocameracopyにpost process layerを追加します。 zepetocameracopyのinspectorで post process layer を追加し、 this ボタンをクリックしてtriggerを設定し、 layer フィールドに新しく作成したレイヤーを指定します。 post process volumeオブジェクトを作成します。 hierarchyで + > 3d object > post process volume をクリックして、新しいpost process volumeオブジェクトを作成します。 このオブジェクトの layer を新しく作成したレイヤーに設定し、 is global フィールドのチェックを外します。 post process volumeにエフェクトを追加します。 add effect ボタンをクリックし、必要な効果を追加した後、設定値を調整してください。 post process volumeを配置します。 post processingを適用したい位置に、post process volumeを配置してください。 \<local適用の例> スクリプトでpost process volumeを制御する 作成したpost process volumeは、スクリプトを使って制御することもできます。 以下は、toggleを使ってpost process volumeをオン/オフする例です。 新しいgameobjectを作成します。 hierarchyで + > create empty をクリックして新しいgameobjectを作成し、名前を postprocessmanager に変更します。 新しいtoggle uiを作成します。 hierarchyで + > ui > toggle をクリックして、toggle uiを作成します。 新しいスクリプトを作成します。 projectウィンドウで + > zepeto > typescript をクリックして新しいスクリプトを作成し、名前を postprocessscript に変更します。 作成したスクリプトを開き、以下のコードを貼り付けてください。 import { zepetoscriptbehaviour } from 'zepeto script'; import { gameobject } from 'unityengine'; import { postprocessvolume } from 'unityengine rendering postprocessing'; import { toggle } from 'unityengine ui'; export default class postprocessscript extends zepetoscriptbehaviour { public onofftoggle toggle; public postprocessobj gameobject; private postprosessvolume postprocessvolume; start() { this postprosessvolume = this postprocessobj getcomponent\<postprocessvolume>(); this onofftoggle onvaluechanged addlistener(()=>{ this postprosessvolume profile settings foreach( // 현재 profile settings의 모든 설정을 on/off합니다 (setting)=>{ setting active = !setting active; } ); }); } } postprocessmanagerにスクリプトを追加します。 hierarchyでpostprocessmanagerを選択し、inspectorで add component > zepeto script をクリックします。 script フィールドにpostprocessscriptをドラッグ&ドロップしてください。 次に、hierarchyで作成したtoggleとpost process volumeをそれぞれ on off toggle フィールドと post process obj フィールドにドラッグ&ドロップします。 <例示> これで、post process volumeがある場所でtoggleを押すと、post processingがオン/オフされるようになります。