Я должен рандомизировать вектор3 между -переменной и переменной по оси X и Y. Поэтому ось Z направлена вперед, и мне нужно найти случайный вектор3 в круге вокруг этого вектора, но все это в локальном пространстве. Создание vector3 и добавление его в локальное пространство - плохая идея. Игрок может ходить и вращаться вокруг оси Y, а лицо может перемещаться вокруг оси X.Unity3D random vector3 в локальном пространстве
ответ
это то, что вы хотите?
Camera cam = Camera.main;
float distance = 1000f;
float tolerance = 1f;
vector3 offset = cam.transform.forward * distance;
Vector3 direction = (offset + new Vector3(Random.Range(0f, tolerance),Random.Range(0f, tolerance), 0f)).normalized;
Ray lineOfSight = new Ray(cam.transform.position, direction);
Это просто создайте луч между центром мира и моей камерой сейчас ... – Konowy
'cam' должен быть камерой с изображением' игрока' – maksymiuk
@LOLslowSTi Я думаю, что у Konowy нет просмотра с первого взгляда , и ожидает, что луч исходит от вектора вперед персонажа. Все, что вам нужно сделать, чтобы принять это, - удалить каждую «кулачку», чтобы использовать «преобразование» текущего объекта. – 31eee384
Я не могу понять, чего вы хотите достичь. – Skyblade
Проверьте ['TransformVector'] (http://docs.unity3d.com/ScriptReference/Transform.TransformVector.html) и друзья. Они могут помочь вам преобразовать ваш случайный вектор между пробелами. Как ваш вопрос стоит, очень неясно, какие пространства вы хотите. (И уже есть много ответов, как делать случайные векторы.) – 31eee384
Добавлена картинка, ясно ли это сейчас? – Konowy