骑砍开发如何给武器附上火焰(代码层面)
附上效果图
module_item.py
我们注意到火把(在module_item
里就是torch
),注意到它的触发器刚好使用了粒子效果,如下图的红框,因此我们也可依葫芦画瓢。
set_position_delta
就是粒子效果初始位置信息,为(X,Y,Z)
,对于武器来说,我们只需要关注Y
,毕竟武器只需要长度,然后就是particle_system_add_new
这个是重点,在这里它新建了一个粒子系统名为torch_fire
,psys
是前缀。
因此我们去module_particle_systems.py
寻找torch_fire
,战团所使用代码如下:
需要更详细的信息可以去 Module System的简单教程 的版块查看
我们修改emit bos size
那一行,三个参数对应(X,Y,Z)
,我们也主要修改Y
,然后粒子数量我这边加到了500,然后我想偏蓝一点,因此其他两种颜色比例会减少,后面我使用的粒子效果如下:
("dark_blue_fire", psf_billboard_3d | psf_global_emit_dir | psf_always_emit | psf_randomize_size | psf_randomize_rotation,
"prt_mesh_fire_1",
500, 0.35, 0.2, 0.03, 10.0, 0.0,
# num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0.5, 0.8), (1, 0), # alpha keys
(0.5, 0.2), (1, 0.0), # red keys
(0.5, 0.7), (1, 0.3), # green keys
(0.5, 1.0), (1, 0.9), # blue keys
(0, 0.15), (0.4, 0.3), # scale keys
(0.04, 0.8, 0.01), # emit box size
(0, 0, 0.5), # emit velocity
0.0, # emit dir randomness
200, # rotation speed
0.5 # rotation damping
),
在item里面的代码如下:
["dark_sword", "Dark Sword", [("henrysword",0)], itp_crush_through|itp_type_two_handed_wpn|itp_merchandise|itp_primary, itc_bastardsword,
100 , weight(6.0)|difficulty(18)|spd_rtng(96) | weapon_length(140)|swing_damage(40 , pierce) | thrust_damage(36 , pierce),imodbits_sword_high,
[(ti_on_init_item, [(set_position_delta, 0, 80, 0), (particle_system_add_new, "psys_dark_blue_fire"),
(particle_system_add_new, "psys_torch_smoke"), (set_current_color, 112, 243, 255),
(add_point_light, 10, 30),
])]
] ,
后面可能会出个给物品添加描述的教程?
就像这样: