Unity3D随机vector3在局部空间

问题描述 投票:-1回答:1

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

unity3d vector local space raytracing
1个回答
1
投票

这是你想要的吗?

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);
© www.soinside.com 2019 - 2024. All rights reserved.