読み込みエフェクト開発ガイド
LCC Unity SDK は読み込みエフェクトに対応しています。読み込みエフェクトは指定した点から 720 度外向きに広がり、無から現れる過程をシミュレートします。以下に読み込みエフェクトを実装する完全な手順を説明します。
手順 1:シーンと GameObject を作成する
Unity で新しいシーンを作成します。Unity はデフォルトで Main Camera と Directional Light を作成します。
Main Camera をセットアップする
Hierarchy ウィンドウで Main Camera を選択し、Inspector ウィンドウでそのプロパティを以下のとおり設定します。

Main Camera のプロパティを設定
LCCManager を作成する
Hierarchy ウィンドウの空の領域を右クリックし、ポップアップメニューから Create Empty を選択して空の GameObject を作成し、LCCManager と名前を付け、その Transform を正規化し、Add Component で LCCManager スクリプトを追加します。

LCCManager GameObject を作成し LCCManager スクリプトを追加
LCCRenderer を作成する
Hierarchy ウィンドウの空の領域を右クリックし、Create Empty を選択して空の GameObject を作成し、LCCRenderer と名前を付け、その Transform を Rotation.x = -90、Scale.x = -1 に設定します。

LCCRenderer を作成し Transform(Rotation.x = -90、Scale.x = -1)を設定
注:
LCCRenderer GameObject の Transform 設定(Rotation.x = -90、Scale.x = -1)は、LCC データ座標系にアライメントするためのものです。座標系アライメントの詳細は Unity SDK の概要 の「LCC データの座標系」を参照してください。
手順 2:エフェクトを発動するスクリプトを書く
VFX.cs という名前の新しい C# スクリプトを以下のコードで作成します。
using LCCCore;
using UnityEngine;
public class VFX : MonoBehaviour
{
public LCCManager m_manager;
public string m_FilePath;
private LCCCore.Renderer m_renderer;
void Start()
{
m_manager.SetPlatformType(PlatformType.PC);
m_manager.SwitchRenderPass(ActiveRenderMode.SingleRender);
Debug.Log("開始、データを読み込み中...");
m_renderer = m_manager.GetRender(this.transform);
m_renderer.Load(m_FilePath, onProgress, onComplete);
}
private void onProgress(float _progress)
{
Debug.Log($"読み込み進捗: {_progress:P1}");
}
private void onComplete()
{
Debug.Log("読み込み完了、VFX を有効化...");
Vector3 pos = Camera.main.transform.position + Camera.main.transform.forward * 2.0f;
m_manager.TriggerVFX(pos);
}
}
注:
エフェクトは LCC シーンの読み込み完了後 に発動する必要があるため、
TriggerVFX()はonCompleteコールバックで呼び出します。この例では、データ読み込み完了後にレンダリングカメラの前方 2 メートルの位置でエフェクトを発動します。
手順 3:スクリプトをアタッチしてデータパスを設定する
VFX.csスクリプトを Hierarchy ウィンドウの LCCManager GameObject にアタッチします。- Inspector ウィンドウで LCCManager GameObject をスクリプトの Manager プロパティへドラッグします。
- スクリプトの File Path プロパティに LCC ファイルパスを入力します。

VFX スクリプトをアタッチして Manager と File Path プロパティを設定
手順 4:実行する
Game ウィンドウの Play ボタンをクリックすると、シーン内のリアルタイム読み込みエフェクトを確認できます。エフェクトは発動点から 720 度外向きに広がります。

実行後のシーンのリアルタイム読み込みエフェクト
重要な手順
3DGS シーンにエフェクトを読み込むための重要な手順は以下のとおりです。
- LCCManager と LCCRenderer GameObject が正しい Transform でシーンに作成されていることを確認します。
- LCC シーンの読み込み完了後(つまり
onCompleteコールバック内)にコードでエフェクトを発動することを確認します。 TriggerVFX()に渡すワールド座標が、エフェクトが広がる原点になります。
エフェクト関連 API
LCC Unity SDK は、LCCManager を通じてエフェクト発動 API を提供します。LCC シーンの読み込み完了後(つまり onComplete コールバック内)に呼び出す必要があります。
TriggerVFX
// 戻り値: void
public void TriggerVFX(Vector3 vfxOriginW, int vfxid = 0)
指定したワールド座標でエフェクトを発動します。エフェクトはその座標点から 720 度外向きに広がります。
| パラメータ | 型 | 説明 |
|---|---|---|
vfxOriginW | Vector3 | エフェクトのワールド座標原点 |
vfxid | int | エフェクト ID。省略可、デフォルトは 0 |
使用例:
Vector3 pos = Camera.main.transform.position + Camera.main.transform.forward * 2.0f;
m_manager.TriggerVFX(pos);
注:
- LCC シーンの読み込み完了後に呼び出す必要があります。
vfxOriginWはエフェクトの開始点のワールド座標です。- 呼び出し後、シェーダーキーワードが
_VFXMIXに切り替わります。