Version: Unity 6.0 (6000.0)
언어 : 한국어
여러 씬에서 라이트 프로브 로드
라이트 프로브 문제 해결

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

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

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

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();
    }
}
여러 씬에서 라이트 프로브 로드
라이트 프로브 문제 해결
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961