我使用ScreenPointToRay沿鼠标拖动绘制一条线。获取鼠标位置的代码如下所示:
public static RaycastHit RaycastScreenPoint(Vector2 mousePosition, LayerMask mask, Camera cam)
{
var ray = cam.ScreenPointToRay(mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, float.PositiveInfinity, mask))
{
Deb
我正在制作一个自上而下的射击游戏,我不知道如何让图片框旋转到特定的点。
private void Game_MouseMove(object sender, MouseEventArgs e) // this is to handle all the tracking of the mouse
{
this.Cursor = System.Windows.Forms.Cursors.Cross; // changes the mouse to a crosshair
int RotationAngle = 0;
我有一个3D游戏,我想要一个箭头指向方向的基础上,该物体的鼠标角度在2D视图。
现在,从相机俯视从90度x角的立场来看板,它工作得很好。下面的图片是当我在一个90度的x角相机角度朝下面对我的游戏,我有箭头脸,我的光标是:
但现在,当我们后退一步,让相机以45度x角,箭头面对的方向是有点偏离。下面的图片是当我的相机处于45度x角时,光标面对我的鼠标光标时:
现在让我们看看上面的图像,但是当相机移回90度x角时:
我目前的代码是:
// Get the vectors of the 2 points, the pivot point which is
我使用下面的代码来处理将我的玩家模型旋转到鼠标的位置。
void Update() {
// Generate a plane that intersects the transform's position with an upwards normal.
Plane playerPlane = new Plane(Vector3.up, transform.position);
// Generate a ray from the cursor position
Ray ray = Camera.main.ScreenPointToRay(Input