请告诉我如何在Unity for 3D场景中做类似的事情(左侧菜单)
答案 0 :(得分:0)
最好的办法是:点击对象并开始拖动后,获取项目的名称。然后,当释放鼠标时,在场景中发送光线投射(screenpointtoray),最后实例化在光线投射的.point值下拖动的对象。
答案 1 :(得分:0)
你可以使用Ray。这就是我在当前项目中的表现:
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit rayHit;
if (Physics.Raycast(ray, out rayHit))
{
// ... instantiate object here
newObject.transform.position = rayHit.point;
}
这将在光线与物体碰撞的位置实例化一个物体。我的所有网格都在底部有原点,因此我的新对象将完全显示在鼠标下方的任何对象之上。