unity鼠标拾取问题

qq_41634507 2018-07-02 12:40:02
using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class shiqu : MonoBehaviour
{


// Use this for initialization
void Start()
{

}


// Update is called once per frame
void Update()
{
if (Input.GetMouseButton(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
Debug.DrawLine(ray.origin, hit.point);
print(hit.collider.gameObject.name);
}
}
}
}
我想做鼠标点击拾取物品的效果,用这个代码只会有射线,而物体不会消失也不会跟随鼠标动,想请问如何才能做到那种效果
...全文
307 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
无名剑 2018-07-02
  • 打赏
  • 举报
回复
鼠标产生的坐标是2D的 而你的游戏空间是3D的,所以你点击产生的只能是一条射线而不可能是一个点

你可以给需要拾取的对象增加 collider box一类的碰撞体,然后利用射线与碰撞体直接的碰撞检测来判定是否拾取

2,543

社区成员

发帖
与我相关
我的任务
社区描述
Unity3D相关内容讨论专区
游戏unity 技术论坛(原bbs)
社区管理员
  • Unity3D
  • 芝麻粒儿
  • 「已注销」
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

Unity3D社区公告:

  1. 社区致力于解决各种Unity3D相关的“疑难杂症”。
  2. 社区不允许发布与Unity3D或相关技术无关内容。
  3. 社区版主邀请各位一道为打造优秀社区不懈努力。

试试用AI创作助手写篇文章吧