cocos creator 3D学习(五)射线---点击按钮

tech2024-04-12  62

目录

前言步骤1、加碰撞组件2、在import里引入geometry3、定义一个射线4、在onload里面使用射线5、射线的函数 最后

前言

在cocos creator 3D里,canvas的优先级在3D图层之前,那我们需要点击3D模型的某一处时,就要用到射线了

步骤

1、加碰撞组件

给需要点击的元素加一个cc.BoxColliderComponent碰撞组件,记得设置一下Size大小,否则点击不上 例:

2、在import里引入geometry

import { _decorator, Component, Node, Vec3, SkeletalAnimationComponent, macro,ColliderComponent,RigidBodyComponent,AudioSourceComponent,CameraComponent, PhysicsSystem, SystemEvent,systemEvent,ICollisionEvent, ITriggerEvent ,CCInteger, geometry } from 'cc';

3、定义一个射线

private _ray :geometry.ray = new geometry.ray();

4、在onload里面使用射线

onLoad() { systemEvent.on(SystemEvent.EventType.TOUCH_START, this.onTouchStart, this);//射线 }

5、射线的函数

onTouchStart(event){ this.mainCamera.screenPointToRay(event._point.x, event._point.y, this._ray); //基于物理碰撞器的射线检测 //当点击node_touch_1时,控制台打印“点击了外链按钮1” if (PhysicsSystem.instance.raycast(this._ray)) { const r = PhysicsSystem.instance.raycastResults; for (let index = 0; index < r.length; index++) { const element = r[index]; console.log("当前点击: " + element.collider.node.uuid); if (element.collider.node.uuid == this.node_touch_1.uuid) { console.log("点击了外链按钮1"); } } } }

最后

cocos creator 3D学习(一)载入的模型注意事项+画布上查看模型的鼠标键盘操作方法 cocos creator 3D学习(二)总是浮在屏幕最前面的操作按钮及其他 cocos creator 3D学习(三)一些常用的声明 cocos creator 3D学习(四)刚体 cocos creator 3D学习(六)光照+阴影

最新回复(0)