简体   繁体   English

如何在鼠标位置生成对象?

[英]How to spawn object on mouse position?

When I click right click I want to create new sphere.当我单击右键单击时,我想创建新球体。 And I don't know why this don't work.我不知道为什么这不起作用。 It creates a sphere, but definitely not on mouse position!它创建了一个球体,但绝对不是鼠标位置!

Vector2 mousePos;
public Transform mousePointer;
float mouseX, mouseY;
Vector3 spawnPoint;

void Start () {

}

void Update () {
    if(Input.GetMouseButtonDown(1)){
        mousePos = Input.mousePosition;
        mouseX = Input.mousePosition.x;
        mouseY = Input.mousePosition.y;
        spawnPoint = new Vector3(mouseX, mouseY, 0);
        Instantiate(mousePointer, spawnPoint, Quaternion.identity);
    }
}

Try spawning the object relative to the camera.尝试相对于相机生成对象。

For example, use spawnPoint = cameraPosition + new Vector3(mouseX, mouseY, 0);例如,使用spawnPoint = cameraPosition + new Vector3(mouseX, mouseY, 0); or something similar.或类似的东西。 Check out the related post: Create a cube relative to camera mouse position .查看相关帖子: 创建一个相对于相机鼠标位置的立方体

The object is being spawned in global coordinates.该对象正在全局坐标中生成。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM