我如何使用vector3数组在检查器中列出列表中的所有vector3?

时间:2017-10-17 18:28:21

标签: c# unity3d unity5

在剧本的顶部:

public Vector3[] positionsList;
List<Vector3> positions = new List<Vector3>();

在更新中:我正在更新列表,但我也想更新数组,这样我就可以在游戏运行时观察检查器中的vector3位置。

var position = GenerateRandomPositions(objects[0]);

        if (!positions.Contains(position))
        {
             positions.Add(position);
        }

2 个答案:

答案 0 :(得分:0)

只需将列表公开,检查员就可以处理它。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ListInInspectorTest : MonoBehaviour {

    public List<Vector3> superawesomeListOfVector3s;

    void Update () {

        if(superawesomeListOfVector3s.Count < 10) {
            superawesomeListOfVector3s.Add(Random.insideUnitSphere);
        }

    }
}

答案 1 :(得分:0)

如果变量是私有的或受其他代码保护很重要。您可以在要在检查器中看到的变量上方添加[SerializeField]标记。来源(https://unity3d.com/learn/tutorials/topics/tips/show-private-variables-inspector