本地Unity3D随机vector3 space

Unity3D random vector3 in local space

我必须在 X 轴和 Y 轴的 -variable 和 variable 之间随机化 vector3。所以 Z 轴是向前的,我需要在该矢量周围的圆圈中找到随机矢量 3,但都在局部 space 中。创建 vector3 并将其添加到本地 space 是一个坏主意。 玩家可以绕 Y 轴行走和旋转,他的脸可以绕 X 轴移动。

这是你想要的吗?

var cam       = Camera.main;
var distance  = 1000f;
var tolerance = 1f;
var offset    = cam.transform.forward * distance;
var direction = (offset + new Vector3(Random.Range(0f, tolerance), Random.Range(0f, tolerance), 0f)).normalized;

var lineOfSight = new Ray(cam.transform.position, direction);