【发布时间】:2022-08-14 20:44:15
【问题描述】:
我有一个问题一直想知道答案。如何获得玩家角色正在寻找的位置和方向?我想知道这一点,因为我需要制作一个涉及此的系统。
-
你是在问相机在哪里看吗?还是人物模型面对的地方?
-
人物模型面对
我有一个问题一直想知道答案。如何获得玩家角色正在寻找的位置和方向?我想知道这一点,因为我需要制作一个涉及此的系统。
所以在 ROBLOX 中,所有BaseParts 都有一个名为CFrame 的属性,它代表BasePart 的位置和方向。
现在如果你想找到角色正在看的地方,我们可以检查角色Head的方向(因为我们无法获得模型的CFrame)。为此,我们可以引用字符Head,然后获取其CFrame 的LookVector 属性。瞧,你得到了角色面对的方向。但是有个小问题,你看-LookVector不是位置的向量,而是一个定向的向量,因此它将有一个介于 0 和 1 之间的 Magnitude(长度)。因此,如果我们想找到字符正在查看的位置,我们需要将这个 LookVector 乘以一个数字,该数字将表示钉在字符的方向上,然后将其与Head 的位置相加。
所以基于上述,你可以这样做:
local Head: BasePart = LocalPlayer.Character.Head.CFrame
local Direction: Vector3 = Head.LookVector
local Distance: number = 3 -- Look 3 studs in the direction of the `Head`
local Target: Vector3 = Head.Position + (Direction * Distance)
【讨论】: