我如何使用vector3作为浮点变量?

时间:2017-05-27 23:07:06

标签: c# unity3d unity5

在脚本的顶部我做了:

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);

1 个答案:

答案 0 :(得分:2)

我只是觉得我模糊地理解你想要说的话所以如果我错了请原谅我,但是你正在寻找最小和最大的X,Y和Z.而不是在检查员窗口中有六行,你可以有两个:

public Vector3 MinRandScale;
public Vector3 MaxRandScale;

RandScaleMin表示随机比例的最小X,Y和Z限制,RandScaleMax表示随机比例的最大X,Y和Z限制。 enter image description here

编辑以显示如何使用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);