unity3d 碰撞中不检测图片透明部分怎么弄啊

FrankWang 2020-04-10 09:57:07
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//从摄像机发出到点击坐标的射线
RaycastHit hitInfo;
if (Physics.Raycast(ray, out hitInfo))
{
//Debug.DrawLine(ray.origin, hitInfo.point);//划出射线,在scene视图中能看到由摄像机发射出的射线
GameObject gameObj = hitInfo.collider.gameObject;
//Debug.Log(gameObj.name);
selectObj = gameObj;
Vector3 Mousepoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
MouseDownPostion = new Vector3(gameObj.transform.position.x - Mousepoint.x, gameObj.transform.position.y - Mousepoint.y, 0);
isMouseDown = true;
}

用的collider box来检测碰撞,但是目标是sprite,包含透明通道,所以想点在透明的部分就不被碰撞检测到该怎么办或者提供下思路呢
...全文
583 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianmao111 2020-04-14
  • 打赏
  • 举报
回复
算出MouseDownPostion向量与世界中的图片的焦点,再通过焦点获取图片上的Teature2d.GetPixcel(x,y).alpha是否==0

2,535

社区成员

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

Unity3D社区公告:

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

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