checkForDuplicatePositions | 是否检查重复的光探测位置,这会导致性能下降。 |
positions | 要设置的位置。 |
bool true
当位置设置成功时。否则为 false
。
设置此 LightProbes
对象中存储的烘焙光探测的位置。
当您使用此方法更改烘焙光探测的位置时,必须调用 LightProbes.Tetrahedralize 或 LightProbes.TetrahedralizeAsync 以完全应用更改。
设置重复的光探测位置会导致不正确的行为,例如出现黑色光探测。
以下脚本累加加载包含烘焙光探测的场景并移动光探测
using System.Collections; using UnityEngine; using UnityEngine.SceneManagement;
public class MoveLightProbesExample : MonoBehaviour { void Start() { StartCoroutine(LoadSceneAndMoveLightProbes()); }
IEnumerator LoadSceneAndMoveLightProbes() { // Fully load a scene containing light probes additively. Scene additiveScene = SceneManager.LoadScene("AdditiveScene", new LoadSceneParameters(LoadSceneMode.Additive)); yield return null;
// Get the light probes for the scene. LightProbes lightProbes = LightProbes.GetInstantiatedLightProbesForScene(additiveScene);
// Move the light probes slightly. Vector3[] positions = lightProbes.GetPositionsSelf(); for (int i = 0; i < positions.Length; i++) { positions[i] += Vector3.one; } lightProbes.SetPositionsSelf(positions, true);
// Tetrahedralize to apply the changes to light probe positions. LightProbes.TetrahedralizeAsync(); } }
其他资源: LightProbes.countSelf.