位移技能释放优化
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