当前位置: 首页 > news >正文

【cocos creator】2.x里,使用3D射线碰撞检测

注意点:
1、开启射线检测
cc.director.getPhysics3DManager().enabled = true;
2: 响应射线的物体要加3D碰撞盒 BoxCollider3D
3:响应射线的物体分组group要设置为3D,分组管理里需要勾选3D和3D的碰撞

demo下载:
https://download.csdn.net/download/K86338236/89527924


const { ccclass, property } = cc._decorator;@ccclass
export default class CameraTouchCtrl extends cc.Component {@property(cc.Camera)camera: cc.Camera = null;//3D相机@property(cc.Node)touchNode: cc.Node = null;//2D触摸节点start() {//开启射线检测cc.director.getPhysics3DManager().enabled = true;this.touchNode.on(cc.Node.EventType.TOUCH_START, this.onTouchStart, this);}/**检测射线 */onTouchStart(event) {let touchLoc = event.touch.getLocation();let ray = this.camera.getComponent(cc.Camera).getRay(touchLoc);let maxDistance = 1000;//检测的最远距离,如果物体远,需要改大数值let rayColliderGroupName = "3D";//碰撞分组,分组管理里需要勾选3D和3D动碰撞//响应射线的物体要加3D碰撞盒 BoxCollider3D,分组group设置为3Dconst result = cc.director.getPhysics3DManager().raycastClosest(ray, rayColliderGroupName, maxDistance, false);if (result) {let box = result.collider.nodebox.scale += 0.01}}
}

http://www.mrgr.cn/news/4728.html

相关文章:

  • JS SyntaxError: Unexpected token 报错解决
  • ant design pro 技巧之实现列表页多标签
  • Apache CloudStack Official Document 翻译节选(三)
  • 梦与不存在的幻境
  • 数据库原理--关系1
  • 【原创】java+swing+mysql房屋租赁管理系统设计与实现
  • Java基础核心知识学习笔记
  • 跟着GPT学习 Kubernetes ,简称 K8s(二)
  • 【MySQL】mysql异常宕机无法启动处理过程
  • Autosar_MCAL_Adc
  • UE5.4 - 下载和安装
  • Day45 | 99.岛屿数量 深搜 广搜 100.岛屿的最大面积
  • 鸿蒙通过Want传递参数
  • 【GH】【EXCEL】P6: Shapes
  • 格雷编码
  • 0成本学习Liunx系统【只需要一台笔记本电脑,无需购买云服务器】
  • 【论文笔记】LION: Linear Group RNN for 3D Object Detection in Point Clouds
  • 计算机基础知识复习8.22
  • 软考中级网络工程师0822
  • LLM之基于llama-index部署本地embedding与GLM-4模型并初步搭建RAG(其他大模型也可,附上ollma方式运行)