[LayaAir3]3.1.0及之后的版本的CharacterController组件BUG

3.1.0及之后的版本的CharacterController组件BUG
1、问题1,调用了characterController.move(this.tempVec);方法之后,就会无限前进下去 2、3.0.11之后的版本没有了isGrounded方法,能否加一下呢
/**
         * 角色是否在地表。
         */
        get isGrounded(): boolean;
已邀请:

小孟

赞同来自:

您好,move方法就是会一直进行下去,这个不是bug。isGrounded方法后续会添加上去,感谢您的反馈。

yi979070830

赞同来自:

我希望能实现一个这样的方法,但是如果move一直前进,就不知道怎么实现该方法了,能帮忙看一下,或者能加一个类型这样的方法
    /**
         * 新增的 translate 方法,用于基于局部或世界空间移动角色。
         * @param translation 移动向量。
         * @param isLocal 是否基于局部空间,默认为 true。
         */
    Laya.CharacterController.prototype["translate"] = function(translation: Laya.Vector3, isLocal: boolean = true): void {
        if (!this._collider || !this.collider.getCapable(Laya.ECharacterCapable.Charcater_Move)) {
            console.warn("CharacterController: move capability is not available.");
            return;
        } 
        let movement = Laya.Transform3D._tempVector30; // 使用 Transform3D 的临时向量 
        if (isLocal) {
            // 将局部移动向量转换为世界空间
            Laya.Vector3.transformQuat(translation, this.owner.transform.localRotation, movement);
       
        } else {
            // 世界空间直接使用传入的向量
            translation.cloneTo(movement);
        } 
        // 调用 move 方法执行移动
        this.move(movement);
    }

要回复问题请先

商务合作
商务合作