feat(skill): 改进贝塞尔曲线弹道运动实现
- 为技能配置添加贝塞尔曲线参数控制:起始高度、中间高度和弧度系数 - 重构贝塞尔曲线控制点计算逻辑,移除冗余的水平投影计算 - 优化控制点生成算法,考虑距离、弧度系数和最小峰值高度 - 增加速度安全检查和最小时间限制,避免除零和异常情况 - 将多个射击技能从直线运动改为贝塞尔曲线运动,提供更自然的弹道效果
This commit is contained in:
@@ -145,6 +145,9 @@ export interface SkillConfig {
|
||||
IType:IType, // 技能类型(近战/远程/辅助)
|
||||
RType:RType, // 技能运行类型(直线/贝塞尔/固定起点/固定终点)
|
||||
EType:EType, // 结束条件(动画结束/时间结束/距离结束/碰撞/次数结束)
|
||||
bezier_start_y?:number, // 贝塞尔起始抬升高度
|
||||
bezier_mid_y?:number, // 贝塞尔中间高度增量
|
||||
bezier_arc?:number, // 贝塞尔弧度系数
|
||||
time?:number, // timeEnd 持续时间(秒)
|
||||
kind?:SkillKind, // 主效果类型
|
||||
crt?:number, // 额外暴击率
|
||||
@@ -199,17 +202,17 @@ export const SkillSet: Record<number, SkillConfig> = {
|
||||
6101: {
|
||||
uuid:6101,name:"普通射击",sp_name:"arrow",icon:"1135",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk",
|
||||
DTType:DTType.single,ap:100,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.1,EAnm:0,DAnm:"",IType:IType.remote,
|
||||
RType:RType.linear,EType:EType.collision,buffs:[],info:"对单个目标造成100%攻击的伤害",
|
||||
RType:RType.bezier,EType:EType.collision,bezier_start_y:20,bezier_mid_y:140,bezier_arc:1.05,buffs:[],info:"对单个目标造成100%攻击的伤害",
|
||||
},
|
||||
6102: {
|
||||
uuid:6102,name:"冰冻射击",sp_name:"arrow_blue",icon:"1135",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk",
|
||||
DTType:DTType.single,ap:100,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.1,EAnm:0,DAnm:"",IType:IType.remote,
|
||||
RType:RType.linear,EType:EType.collision,buffs:[],info:"对单个目标造成100%攻击的伤害",
|
||||
RType:RType.bezier,EType:EType.collision,bezier_start_y:20,bezier_mid_y:150,bezier_arc:1.1,buffs:[],info:"对单个目标造成100%攻击的伤害",
|
||||
},
|
||||
6103: {
|
||||
uuid:6103,name:"暴击射击",sp_name:"arrow_red",icon:"1135",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk",
|
||||
DTType:DTType.single,ap:100,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.1,EAnm:0,DAnm:"",IType:IType.remote,
|
||||
RType:RType.linear,EType:EType.collision,buffs:[],info:"对单个目标造成100%攻击的伤害",
|
||||
RType:RType.bezier,EType:EType.collision,bezier_start_y:20,bezier_mid_y:145,bezier_arc:1.08,buffs:[],info:"对单个目标造成100%攻击的伤害",
|
||||
},
|
||||
//大招
|
||||
6104: {
|
||||
@@ -222,12 +225,12 @@ export const SkillSet: Record<number, SkillConfig> = {
|
||||
6201: {
|
||||
uuid:6201,name:"蓝波",sp_name:"ball_blue",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk",
|
||||
DTType:DTType.single,frz:0,ap:100,hit_count:1,hitcd:0.3,speed:720,with:90,ready:0.1,EAnm:0,DAnm:"",IType:IType.remote,
|
||||
RType:RType.linear,EType:EType.collision,buffs:[],info:"对单个目标造成100%攻击的伤害,冰冻率20%",
|
||||
RType:RType.bezier,EType:EType.collision,buffs:[],info:"对单个目标造成100%攻击的伤害,冰冻率20%",
|
||||
},
|
||||
6202: {
|
||||
uuid:6202,name:"绿波",sp_name:"ball_green",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk",
|
||||
DTType:DTType.single,ap:100,hit_count:1,hitcd:0.3,speed:720,with:90,ready:0.1,EAnm:0,DAnm:"",IType:IType.remote,
|
||||
RType:RType.linear,EType:EType.collision,buffs:[],info:"对单个目标造成100%攻击的伤害",
|
||||
RType:RType.bezier,EType:EType.collision,buffs:[],info:"对单个目标造成100%攻击的伤害",
|
||||
},
|
||||
6203: {
|
||||
uuid:6203,name:"红波",sp_name:"ball_red",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk",
|
||||
|
||||
Reference in New Issue
Block a user