CocosCreator-3D 3D物体触摸移动(跟随移动)

 版本:cocoscreator3.4.0
基本原理:

通过触摸屏幕上的点生成一个射线,通过物理射线检测,获得是否点击到物体

通过射线的检测结果(raycastResults)获得碰撞点(hitPoint)

设置物体的x,z为碰撞点的x,y即可

import { _decorator, Component, Node, Camera, geometry, input, Input, EventTouch, PhysicsSystem, math, clamp, Vec3 } from 'cc';
const { ccclass, property } = _decorator;

@ccclass('move')
export class move extends Component {

    @property(Camera)
    readonly cameraCom!: Camera;

    @property(Node)
    public targetNode!: Node

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

    _position = new math.Vec3();

    start() {
        math.Vec3.copy(this._position, this.targetNode.position);
    }


    onDestroy() {
        this._removeEvents();
    }

    onEnable() {
        this._addEvents();
    }

    onDisable() {
        this._removeEvents();
    }

    private _addEvents() {
      
        input.on(Input.EventType.TOUCH_MOVE, this.onTouc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值