LightProbes.SetPositionsSelf
Declaration
public bool SetPositionsSelf(Vector3[] positions, bool checkForDuplicatePositions);Параметры
| Параметр | Описание |
|---|---|
| checkForDuplicatePositions | Проверка на наличие дублирующихся позиций световых зондов в ущерб производительности. |
| должностей | Позиции для установки. |
Возвращаемое значение
логическое 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,.