在脚本的顶部我做了:
public float setRandScaleXMin, setRandScaleXMax;
public float setTandScaleYMin, setTandScaleYMax;
public float setTandScaleZMin, setRandScaleZMax;
但这将创造6条线。 我想做的是在检查员中:
setRandScaleXMin
setRandScaleXMax
setRandScaleYMin
setRandScaleYMax
setRandScaleZMin
setRandScaleZMax
为此,他们将在检查员中显示一行中的每两个变量:
setRandScaleXMin 10 setRandScaleXMax 111
setRandScaleYMin 12 setRandScaleYMax 22
setRandScaleZMin 11 setRandScaleZMax 15
而是6行只有3行。
然后我就这样使用它:
float randScaleX = Random.Range(setRandScaleXMin, setRandScaleXMax);
float randScaleY = Random.Range(setTandScaleYMin, setTandScaleYMax);
float randScaleZ = Random.Range(setTandScaleYMax, setRandScaleZMax);
和
objInstance = Instantiate(objectToInstantiate, new Vector3(randX, yVal, randZ), Quaternion.identity);
答案 0 :(得分:2)
我只是觉得我模糊地理解你想要说的话所以如果我错了请原谅我,但是你正在寻找最小和最大的X,Y和Z.而不是在检查员窗口中有六行,你可以有两个:
public Vector3 MinRandScale;
public Vector3 MaxRandScale;
RandScaleMin表示随机比例的最小X,Y和Z限制,RandScaleMax表示随机比例的最大X,Y和Z限制。
编辑以显示如何使用Random.Range():
Random.Range
有两个值:最小边界和最大边界。因此,您只需执行以下操作即可获得具有随机组件的Vector3:
var randX = Random.Range(MinRandScale.x, MaxRandScale.x);
var randY = Random.Range(MinRandScale.y, MaxRandScale.y);
var randZ = Random.Range(MinRandScale.z, MaxRandScale.z);
var randVector3 = new Vector3(randX, randY, randZ);