位移技能释放优化
parent
198a414342
commit
d50b44a096
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c1e2fcr0nucku"
|
||||
path="res://.godot/imported/mask9.png-4358c0d9b828032acfaa12e2c6b20a17.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://render/texture/particle/mask/mask9.png"
|
||||
dest_files=["res://.godot/imported/mask9.png-4358c0d9b828032acfaa12e2c6b20a17.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=0
|
||||
compress/normal_map=2
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=false
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
@ -0,0 +1,59 @@
|
||||
[gd_scene load_steps=12 format=3 uid="uid://cohy1qv35n57q"]
|
||||
|
||||
[ext_resource type="Script" path="res://script/effect/particle.gd" id="1_2o8k8"]
|
||||
[ext_resource type="Shader" path="res://render/shader/effect_slash.gdshader" id="2_f3m3g"]
|
||||
[ext_resource type="Texture2D" uid="uid://c4byf37he3mjt" path="res://render/texture/particle/noise/noise1.png" id="3_paeu0"]
|
||||
[ext_resource type="Texture2D" uid="uid://csjm7d1tg6b50" path="res://render/texture/particle/mask/mask6.png" id="4_0yec6"]
|
||||
[ext_resource type="Texture2D" uid="uid://c1e2fcr0nucku" path="res://render/texture/particle/mask/mask9.png" id="4_btc32"]
|
||||
[ext_resource type="Texture2D" uid="uid://dd3e7ol8qa5eq" path="res://render/texture/particle/noise/noise2.png" id="5_yf7h5"]
|
||||
[ext_resource type="Material" uid="uid://dubkkji6sm8on" path="res://render/process_material/slash_normal.tres" id="6_ceio5"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://dq207a0waxk0j" path="res://render/mesh/slash1.obj" id="7_tkeme"]
|
||||
[ext_resource type="Shader" path="res://render/shader/effect_skew1.gdshader" id="8_7m8x8"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_hupcc"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("2_f3m3g")
|
||||
shader_parameter/tex_main = ExtResource("3_paeu0")
|
||||
shader_parameter/tex_noise = ExtResource("5_yf7h5")
|
||||
shader_parameter/tex_mask = ExtResource("4_btc32")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ntvqm"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("8_7m8x8")
|
||||
shader_parameter/distortionView = 0.03
|
||||
shader_parameter/speedView = 0.5
|
||||
shader_parameter/noise = ExtResource("3_paeu0")
|
||||
shader_parameter/tex_mask = ExtResource("4_0yec6")
|
||||
|
||||
[node name="Particle" type="Node3D"]
|
||||
script = ExtResource("1_2o8k8")
|
||||
|
||||
[node name="Slash" type="GPUParticles3D" parent="."]
|
||||
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
|
||||
layers = 512
|
||||
material_override = SubResource("ShaderMaterial_hupcc")
|
||||
cast_shadow = 0
|
||||
gi_mode = 0
|
||||
amount = 1
|
||||
lifetime = 0.25
|
||||
speed_scale = 1.8
|
||||
fixed_fps = 60
|
||||
local_coords = true
|
||||
process_material = ExtResource("6_ceio5")
|
||||
draw_pass_1 = ExtResource("7_tkeme")
|
||||
|
||||
[node name="Skew1" type="GPUParticles3D" parent="."]
|
||||
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
|
||||
layers = 512
|
||||
material_override = SubResource("ShaderMaterial_ntvqm")
|
||||
cast_shadow = 0
|
||||
gi_mode = 0
|
||||
emitting = false
|
||||
amount = 1
|
||||
lifetime = 0.25
|
||||
one_shot = true
|
||||
speed_scale = 1.8
|
||||
fixed_fps = 60
|
||||
local_coords = true
|
||||
process_material = ExtResource("6_ceio5")
|
||||
draw_pass_1 = ExtResource("7_tkeme")
|
||||
@ -0,0 +1,36 @@
|
||||
extends Area3D
|
||||
class_name PushBox
|
||||
|
||||
@export var pushbox_curve : Curve
|
||||
|
||||
@onready var character = (get_owner() as Character)
|
||||
@onready var radius = $CollisionShape3D.shape.radius * scale.x
|
||||
|
||||
var pushbox_list = []
|
||||
|
||||
func _process(delta):
|
||||
var speed_dir = character.get_status("speed_dir") as Vector2
|
||||
if speed_dir.length() == 0:
|
||||
return
|
||||
var speed_down_push_rate = 0
|
||||
var pos = character.pos2D()
|
||||
for pushbox:PushBox in pushbox_list:
|
||||
var target_pos = pushbox.character.pos2D()
|
||||
var dir = target_pos - pos
|
||||
if speed_dir.dot(dir) <= 0:
|
||||
continue
|
||||
var dist = dir.length()
|
||||
if dist == 0:
|
||||
continue
|
||||
var dist_rate = clamp(dist/(radius+pushbox.radius),0,1)
|
||||
speed_down_push_rate = max(speed_down_push_rate,pushbox_curve.sample(dist_rate))
|
||||
character.set_status("speed_down_push_rate",speed_down_push_rate)
|
||||
|
||||
func on_area_entered(area:Area3D):
|
||||
if area is PushBox:
|
||||
pushbox_list.append(area)
|
||||
|
||||
func on_area_exited(area:Area3D):
|
||||
if area is PushBox:
|
||||
pushbox_list.erase(area)
|
||||
|
||||
Loading…
Reference in New Issue