Editor only function to access and modify probe positions.
Probe positions are specified in local space relative to the parent object.
At runtime this function will return an empty Vector3 array and setting it will have no effect.
// Create four probe positions which will form a tetrahedron.
class LightProbePositions extends EditorWindow {
var lightProbes : LightProbeGroup = null;
@MenuItem ("Examples/Set Probe Positions") static function Init () { var window = GetWindow (LightProbePositions); window.Show (); }
function OnGUI () { lightProbes = EditorGUILayout.ObjectField ( "Find Dependency", lightProbes, LightProbeGroup, true);
if (lightProbes) { if (GUILayout.Button ("Set Probe Positions")) { lightProbes.probePositions = [ Vector3 (0,0,0), Vector3 (1,0,0), Vector3 (0,1,0), Vector3 (1,1,1) ]; } } else { EditorGUILayout.LabelField ("Missing:", "Please select an object first!"); } } }
using UnityEngine; using UnityEditor;
public class ExampleScript : EditorWindow { private LightProbeGroup lightProbes = null;
[MenuItem("Example/Set Probe Positions")] static void Init() { var window = GetWindowWithRect<ExampleScript>(new Rect(0, 0, 350, 50)); window.Show(); }
void OnGUI() { lightProbes = (LightProbeGroup)EditorGUILayout.ObjectField( "Find Dependency", // string lightProbes, // Object typeof(LightProbeGroup), // Type true);
if (lightProbes) { if (GUILayout.Button("Set Probe Positions")) { Vector3[] positions = new Vector3[4]; positions[0] = new Vector3(0.0f, 0.0f, 0.0f); positions[1] = new Vector3(1.0f, 0.0f, 0.0f); positions[2] = new Vector3(0.0f, 1.0f, 0.0f); positions[3] = new Vector3(1.0f, 1.0f, 1.0f); lightProbes.probePositions = positions; } } else { EditorGUILayout.LabelField("Missing:", "Please select an object first!"); } } }