作者 by WIMI / 2021-08-14 / 1 评论 / 3156 个足迹
设置 | 方法描述 | 备注 |
---|---|---|
Open | 脚本全局的开关 | |
OpenObjectPool | 对象池的开关 | 不开对象池也可以生成子弹也可以射击 |
设置 | 方法描述 | 备注 |
---|---|---|
Name | 枪的名字 | |
Bullet_Distance | 开火的距离(float/秒) | |
Firing_Iinterval | 开火间隔(float/秒) | 如全自动一直按开火第一发和第二发间隔 |
Cartridge_Clip | 弹夹(int) | 主弹夹,就是你发射一颗消耗的子弹 |
Spare_Cartridge_Clip | 备用弹夹(int) | 换弹的时候消耗的弹夹数量 |
Replacement_Cartridge_Clip | 换弹时间(float/秒) | 按下换弹的时候消耗的时间(换弹默认是R) |
Hurt | 伤害(int) | 打到物体时候扣除的血量/你也可以自定义修改打中后的效果 |
Bullet_Speed | 子弹移动速度(float) | 子弹射出的速度/射线也有实体子弹射出 |
Choice | 枪械的射击方式选择 | 有半自动和全子弹/开火间隔对半自动也有效果 |
ShootingDetection | 射中检测方式 | 射线检测是最好的可以防止速度太快而,检测不到(可以使用时间判断是否击中有效算法没写,没实现),碰撞器检测是目前实现射击速度 |
layer | 可射击的物体层的检测 | 可射击物体的区分 |
设置 | 方法描述 | 备注 |
---|---|---|
character | 人物的绑定 | 辅助动画 |
Muzzle | 绑定枪口 | 子弹发出的位置 |
Bullet_Prefabricated | 子弹的预制体 | 发射出来的子弹样子(对象池有引用) |
ObjectPool | 对象池的绑定 | 如果没开对象池可以不用理 |
如果模型没拆分你可以自己定一个枪口,绑定好,需要自己新建一个空物体存放对象池
人物模型这样放可以防止旋转变形,最外面那层是不要有缩放否则会导致变形
部分代码可能写的不是很规范,不过看别人代码也很烦,遇到不懂的可以私聊我
如果子弹不消失,请看一下Bullet的判断中的
if (System.Math.Abs(transform.localPosition.x - Bullet_Position) > Bullet_Distance)
是否要按照自己的需求改动
如果有什么BUG,可以评论区,私信,邮件告知
 评论 1 条