Skip to content
HotWeaponAimComponent

玩法 / HotWeaponAimComponent

HotWeaponAimComponent Class

热武器瞄准组件,瞄准状态下持枪角色的视角会拉近

使用示例: 创建一个名为"HotWeaponAimSample1"的脚本,放置在对象管理器中,打开脚本,输入以下代码保存,运行游戏,代码如下:
ts
@Component
export default class HotWeaponAimSample1 extends Script {
    protected onStart(): void {
        // 构造
        const hotWeapon = this.gameObject as HotWeapon;

        if (SystemUtil.isServer()) {
            hotWeapon.aimEnabled = true;
            hotWeapon.aimComponent.aimMode = HotWeaponAimMode.ThirdPerson;
            hotWeapon.aimComponent.aimingZoom = 16;
            hotWeapon.aimComponent.cameraOffsetDistanceInThirdPersonMode = 300;
            hotWeapon.aimComponent.onStartAim.add(() => { console.log("aimComponent.onAimStartClient") });
            hotWeapon.aimComponent.onEndAim.add(() => { console.log("aimComponent.onAimEndClient") });
        } else if (SystemUtil.isClient()) {
            hotWeapon.aimComponent.onStartAim.add(() => { console.log("aimComponent.onAimStartClient") });
            hotWeapon.aimComponent.onEndAim.add(() => { console.log("aimComponent.onAimEndClient") });
        }
    }
}
@Component
export default class HotWeaponAimSample1 extends Script {
    protected onStart(): void {
        // 构造
        const hotWeapon = this.gameObject as HotWeapon;

        if (SystemUtil.isServer()) {
            hotWeapon.aimEnabled = true;
            hotWeapon.aimComponent.aimMode = HotWeaponAimMode.ThirdPerson;
            hotWeapon.aimComponent.aimingZoom = 16;
            hotWeapon.aimComponent.cameraOffsetDistanceInThirdPersonMode = 300;
            hotWeapon.aimComponent.onStartAim.add(() => { console.log("aimComponent.onAimStartClient") });
            hotWeapon.aimComponent.onEndAim.add(() => { console.log("aimComponent.onAimEndClient") });
        } else if (SystemUtil.isClient()) {
            hotWeapon.aimComponent.onStartAim.add(() => { console.log("aimComponent.onAimStartClient") });
            hotWeapon.aimComponent.onEndAim.add(() => { console.log("aimComponent.onAimEndClient") });
        }
    }
}

Table of contents

Properties

onEndAim: MulticastDelegateInterface<() => void>
服务器端开始瞄准代理。使用示例见类 HotWeaponAimComponent 使用示例
onStartAim: MulticastDelegateInterface<() => void>
服务器端开始瞄准代理

Accessors

aimMode(): HotWeaponAimMode
Get瞄准时的第一/第三人称模式。
aimingZoom(): number
Get第一人称瞄准时的瞄准镜放大倍数。
cameraOffsetDistanceInThirdPersonMode(): number
Get第三人称瞄准时的连接相机弹簧组件的长度。
defaultCameraSpringArmLength(): number
Get第三人称常态下相机弹簧组件的默认长度。

Methods

enableAiming(enabled: boolean): void other
打开/关闭瞄准

Properties

onEndAim

onEndAim: MulticastDelegateInterface<() => void>

服务器端开始瞄准代理。使用示例见类 HotWeaponAimComponent 使用示例


onStartAim

onStartAim: MulticastDelegateInterface<() => void>

服务器端开始瞄准代理

Accessors

aimMode

get aimMode(): HotWeaponAimMode

set aimMode(NewAimMode): void other

Get瞄准时的第一/第三人称模式。

Returns

HotWeaponAimMode当前瞄准时的第一/第三人称模式

Set瞄准时的第一/第三人称模式。

Parameters

NewAimMode HotWeaponAimMode新设置的瞄准模式
default: 第三人称 HotWeaponAimMode.ThirdPerson

aimingZoom

get aimingZoom(): number

set aimingZoom(newAimingZoom): void other

Get第一人称瞄准时的瞄准镜放大倍数。

Precautions

合法范围为[1.0 , 18.0],对应[0° , 90°]的FOV值每增加1.0,对应FOV增加5°

Returns

number当前第一人称瞄准时的瞄准镜放大倍数

Set模拟瞄准时的瞄准镜放大倍数。使用示例见类 HotWeaponAimComponent 使用示例

Precautions

合法范围为[1.0 , 18.0],对应[0° , 90°]的 FOV 值每增加1.0,对应 FOV 增加5°

Parameters

newAimingZoom number新设置的瞄准镜放大倍数
default: 1
range:[0, 16] type:浮点数

cameraOffsetDistanceInThirdPersonMode

get cameraOffsetDistanceInThirdPersonMode(): number

set cameraOffsetDistanceInThirdPersonMode(NewCameraOffsetDistance): void other

Get第三人称瞄准时的连接相机弹簧组件的长度。

Returns

number当前连接相机弹簧组件的长度

Set第三人称瞄准时的连接相机弹簧组件的长度。

Precautions

相机弹簧组件长度有一个闭区间范围,目的是为了防止相机离Character太近导致穿模,太远则没有必要

Parameters

NewCameraOffsetDistance number新设置的连接相机弹簧组件的长度
default: 400
range: [300, 600] type:浮点数

defaultCameraSpringArmLength

get defaultCameraSpringArmLength(): number

set defaultCameraSpringArmLength(NewCameraArmLength): void other

Get第三人称常态下相机弹簧组件的默认长度。

Returns

number第三人称常态下相机弹簧组件的默认长度

Set第三人称常态下相机弹簧组件的默认长度。

Precautions

相机弹簧组件长度有一个闭区间范围,目的是为了防止相机离Character太近导致穿模,太远则没有必要

Parameters

NewCameraArmLength number新设置的连接相机弹簧组件的默认长度
default: 400
range: [300, 600] type:浮点数

Methods

enableAiming

enableAiming(enabled): void other

打开/关闭瞄准

Parameters

enabled boolean是否开启瞄准功能 default:
  • 切换相机View
  • 切换准星UI
  • 修改子弹发射精度-上升到用户层,开发者自己在瞄准时设置默认精准度