Version: 2023.2
언어: 한국어
라이트 프로브 및 씬 로딩
Light Probe Proxy Volume 컴포넌트

런타임 시 라이트 프로브 이동

런타임 시 라이트 프로브를 이동해야 할 수도 있습니다. 예를 들어 여러 씬을 추가적으로 로드하여 월드를 생성한 다음 각 씬을 다른 위치로 이동하는 경우, 라이트 프로브를 관련 씬 오브젝트와 함께 이동해야 합니다.

런타임 시 LightProbes API를 사용하여 라이트 프로브를 이동할 수 있습니다. 트랜스폼은 베이킹에만 영향을 주기 때문에 라이트 프로브 그룹 오브젝트의 트랜스폼 컴포넌트를 업데이트하여 라이트 프로브를 이동할 수는 없습니다.

API를 사용하여 라이트 프로브를 이동하면 위치만 변경됩니다. 라이트 프로브에 저장된 베이크된 데이터는 동일하게 유지됩니다.

다음 단계를 따르십시오.

  1. LightProbes.GetInstantiatedLightProbesForScene API를 사용하여 로드된 씬이 사용하는 라이트 프로브 데이터를 복제합니다. 로드된 씬(Scene 오브젝트)은 이제부터 이 복제된 데이터를 사용합니다.
  2. GetPositionsSelfSetPositionsSelf API를 사용하여 새 위치를 설정합니다.
  3. 오브젝트가 올바른 라이트 데이터를 사용하도록 LightProbes.Tetrahedralize 또는 LightProbes.TetrahedralizeAsync API를 사용하여 씬에 있는 라이트 프로브의 내부 구조 데이터를 업데이트합니다.

씬을 라이트 프로브가 포함된 다른 씬과 함께 베이크한 경우 반환된 데이터에는 베이크된 모든 씬의 라이트 프로브가 포함됩니다. 여러 씬에서의 라이트 프로브 사용에 대한 자세한 내용은 라이트 프로브 및 씬 로딩을 참조하십시오.

Tetrahedralize API는 시간이 오래 걸릴 수 있습니다. 여러 라이트 프로브를 이동하는 경우 마지막에 한 번 사면체화하는 것이 가장 좋습니다.

씬에서 라이트 프로브의 위치를 이동하지 않고 읽어야 하는 경우에는 대신에 LightProbes.GetSharedLightProbesForScene API를 사용하면 됩니다.

예제

다음 코드로 현재 씬의 라이트 프로브를 각 프레임마다 새 위치로 이동합니다.

씬의 모든 오브젝트에 스크립트를 첨부합니다. 프로젝트를 실행할 때 라이트 프로브를 사용하는 모든 오브젝트를 선택하면 이동하는 프로브를 볼 수 있습니다. 라이트 프로브 그룹 오브젝트는 이동하지 않습니다.

using UnityEngine;
using UnityEngine.SceneManagement;

public class LoadSingleSceneAndMoveProbes : MonoBehaviour
{
    void Update()
    {
        // Get a copy of the Light Probes in the current scene
        LightProbes lightProbes = LightProbes.GetInstantiatedLightProbesForScene(SceneManager.GetActiveScene());

        // Get the Light Probe positions
        Vector3[] positions = lightProbes.GetPositionsSelf();

        // Update the positions
        for (int i = 0; i < positions.Length; i++)
        {
            positions[i].x = positions[i].x + 0.01f;
        }

        // Copy the new positions back to the Light Probes
        lightProbes.SetPositionsSelf(positions, true);

        // Tetrahedralize to update the data in the LightProbes object of the scene.
        LightProbes.Tetrahedralize();
    }
}
라이트 프로브 및 씬 로딩
Light Probe Proxy Volume 컴포넌트