feat(val-blog): add 2026-04-30 dream journey post

This commit is contained in:
Chen Gu
2026-08-13 17:00:22 +08:00
committed by Chen Gu
parent 691f96e8a6
commit 81978704fc
941 changed files with 195468 additions and 755 deletions
BIN
View File
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
@@ -0,0 +1,5 @@
[folding]
node_unfolds=[NodePath("."), PackedStringArray("Transform"), NodePath("Floor"), PackedStringArray("Layout"), NodePath("Rooms/LivingRoom"), PackedStringArray("Transform"), NodePath("Rooms/Kitchen"), PackedStringArray("Transform"), NodePath("Rooms/Bedroom"), PackedStringArray("Transform"), NodePath("Furniture/Sofa"), PackedStringArray("Transform"), NodePath("Furniture/Fridge"), PackedStringArray("Transform"), NodePath("Furniture/Bed"), PackedStringArray("Transform"), NodePath("Furniture/Desk"), PackedStringArray("Transform"), NodePath("Val"), PackedStringArray("Transform")]
resource_unfolds=["res://scenes/apartment.tscn::RectangleShape2D_320x240", PackedStringArray("Resource"), "res://scenes/apartment.tscn::RectangleShape2D_96x48", PackedStringArray("Resource"), "res://scenes/apartment.tscn::RectangleShape2D_48x80", PackedStringArray("Resource"), "res://scenes/apartment.tscn::RectangleShape2D_96x64", PackedStringArray("Resource"), "res://scenes/apartment.tscn::RectangleShape2D_80x64", PackedStringArray("Resource")]
nodes_folded=[]
@@ -0,0 +1,75 @@
[docks]
dock_3_selected_tab_idx=0
dock_4_selected_tab_idx=0
dock_5_selected_tab_idx=0
dock_floating={}
dock_closed=[]
dock_split_2=0
dock_split_3=0
dock_hsplit_1=0
dock_hsplit_2=280
dock_hsplit_3=-280
dock_hsplit_4=0
dock_9_selected_tab_idx=0
dock_3="Scene,Import"
dock_4="FileSystem,History"
dock_5="Inspector,Signals,Groups"
dock_9="Output,Debugger,Audio,Animation,Shader Editor,Search Results,AnimationTree,ResourcePreloader,ShaderFile,SpriteFrames,Theme,Polygon,TileSet,TileMap,Replication,GridMap"
[docks/FileSystem]
h_split_offset=480
v_split_offset=0
display_mode=0
file_sort=0
file_list_display_mode=1
selected_paths=PackedStringArray("res://scenes/main.tscn")
uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scenes/", "res://assets/", "res://assets/sprites/", "res://assets/sprites/val/", "res://assets/sprites/furniture/")
[docks/History]
include_scene=true
include_global=true
[EditorNode]
open_scenes=PackedStringArray()
current_scene=""
bottom_panel_offsets={
"Animation": 0,
"Audio": -450,
"Debugger": 0,
"Output": 0,
"Shader Editor": 0
}
selected_default_debugger_tab_idx=0
selected_main_editor_idx=4
[EditorWindow]
screen=0
mode="windowed"
size=Vector2i(2880, 1610)
position=Vector2i(0, 50)
[ScriptEditor]
open_scripts=[]
selected_script=""
open_help=[]
script_split_offset=400
list_split_offset=0
zoom_factor=1.0
[GameView]
floating_window_rect=Rect2i(790, 348, 1300, 878)
floating_window_screen=0
[ShaderEditor]
open_shaders=[]
split_offset=400
selected_shader=""
text_shader_zoom_factor=1.0
@@ -0,0 +1,3 @@
[folding]
sections_unfolded=PackedStringArray()
@@ -0,0 +1,31 @@
63f7b34db8d8cdea90c76aacccf841ec
::res://::1776185272
export_presets.cfg::TextFile::-1::1776075251::0::1::::<><><>0<>0<><>::
::res://assets/::1776184578
README.md::TextFile::-1::1776058095::0::1::::<><><>0<>0<><>::
::res://assets/sprites/::1776184565
::res://assets/sprites/furniture/::1776185232
bed.svg::CompressedTexture2D::5278534674949913820::1776184565::1776185232::1::::<><><>0<>0<>f072a502c0ec4a388b1d19f93e1b3f8a<>res://.godot/imported/bed.svg-a07b968a692027a8aa2aefa1772c2c93.ctex::
chair.svg::CompressedTexture2D::418479712114932479::1776184565::1776185232::1::::<><><>0<>0<>8623a2d50aab116dc297019daf686eea<>res://.godot/imported/chair.svg-515a52e18809bdefa0bd80f22c216048.ctex::
desk.svg::CompressedTexture2D::7544982083211081171::1776184565::1776185232::1::::<><><>0<>0<>97178e7768223b144e1188e81f08278f<>res://.godot/imported/desk.svg-2c4f75e1d3b2adb95562b394c4b1afdf.ctex::
fridge.svg::CompressedTexture2D::1527439008009270421::1776184565::1776185232::1::::<><><>0<>0<>9bc7081fe9e11f4f5601fe76ec59810a<>res://.godot/imported/fridge.svg-ca2cb042cd2f73a0ad3fb7c2735ad942.ctex::
sofa.svg::CompressedTexture2D::6879322377435535170::1776184565::1776185232::1::::<><><>0<>0<>87839a9c9a69be85a049106238281379<>res://.godot/imported/sofa.svg-e4acbfc9b6bb54125b2212c3ec025133.ctex::
::res://assets/sprites/val/::1776185853
val_idle.png::CompressedTexture2D::4879027226322212573::1776185853::1776185871::0::::<><><>0<>0<>e729f97976b99e2368e07f8193294d34<>::
val_idle.svg::CompressedTexture2D::4154530423991166328::1776184533::1776185232::1::::<><><>0<>0<>543e61a8f20bf341ee283d308a2555e0<>res://.godot/imported/val_idle.svg-255592146823edb30ffe5820e35028ad.ctex::
val_interact.svg::CompressedTexture2D::3517049902790807024::1776184533::1776185232::1::::<><><>0<>0<>bf9d27a380921cb639490134b5b31830<>res://.godot/imported/val_interact.svg-cad5921112661a2dcc6920061d79aa13.ctex::
val_walk.svg::CompressedTexture2D::3552747533911184821::1776184533::1776185232::1::::<><><>0<>0<>d94b1a69f940c5ccbbd5de8e8f28db5c<>res://.godot/imported/val_walk.svg-81e824546797b7f9bc5d8607a57209a3.ctex::
::res://assets/tilesets/::1776185232
floor.svg::CompressedTexture2D::5553555074695382376::1776184578::1776185232::1::::<><><>0<>0<>a4bc43e192c621f64303b0cb55371b44<>res://.godot/imported/floor.svg-39678b8ce86516d425e3baea01760131.ctex::
::res://builds/::1776087645
::res://scenes/::1776089789
apartment.tscn::PackedScene::4302851944041838120::1776184906::0::1::::<><><>0<>0<><>::res://scripts/apartment.gd<>uid://val1234568aa::::res://scenes/val.tscn<>res://assets/sprites/furniture/sofa.svg<>res://assets/sprites/furniture/fridge.svg<>res://assets/sprites/furniture/bed.svg<>res://assets/sprites/furniture/desk.svg
main.tscn::PackedScene::209998081263685520::1776184955::0::1::::<><><>0<>0<><>::res://scripts/main.gd<>res://scripts/bridge_client.gd<>uid://b2kllwl6juoxs::::res://scenes/apartment.tscn
val.tscn::PackedScene::1474681496704589948::1776185867::0::1::::<><><>0<>0<><>::res://scripts/val.gd<>res://assets/sprites/val/val_idle.svg<>res://assets/sprites/val/val_walk.svg<>res://assets/sprites/val/val_interact.svg
::res://scripts/::1776089743
apartment.gd::GDScript::5564681831539226893::1776185053::0::1::::<>Node2D<><>0<>0<><>::
apartment_v2.gd::GDScript::1177481778137648876::1776074490::0::1::::<>Node2D<><>0<>0<><>::
bridge_client.gd::GDScript::1531877486838200347::1776184985::0::1::::<>Node<><>0<>0<><>::
main.gd::GDScript::1574744439970615819::1776185002::0::1::::<>Node2D<><>0<>0<><>::
val.gd::GDScript::3837284454343854921::1776185080::0::1::::Val<>CharacterBody2D<><>0<>0<><>::
val_v2.gd::GDScript::5072138561996067047::1776074490::0::1::::<>Node<><>0<>0<><>::
@@ -0,0 +1,4 @@
res://scenes/val.tscn
res://scenes/apartment.tscn
res://scripts/val.gd
res://scripts/bridge_client.gd
@@ -0,0 +1,5 @@
[folding]
node_unfolds=[NodePath("."), PackedStringArray("Transform"), NodePath("UI/Panel"), PackedStringArray("Layout"), NodePath("UI/Panel/VBoxContainer"), PackedStringArray("Layout"), NodePath("UI/Panel/VBoxContainer/Label"), PackedStringArray("Layout"), NodePath("UI/Panel/VBoxContainer/HSeparator"), PackedStringArray("Layout"), NodePath("UI/Panel/VBoxContainer/AgentState"), PackedStringArray("Layout"), NodePath("UI/Panel/VBoxContainer/Location"), PackedStringArray("Layout"), NodePath("UI/Panel/VBoxContainer/Energy"), PackedStringArray("Layout"), NodePath("UI/Panel/VBoxContainer/Mood"), PackedStringArray("Layout"), NodePath("UI/Panel/VBoxContainer/HSeparator2"), PackedStringArray("Layout"), NodePath("UI/Panel/VBoxContainer/CommandInput"), PackedStringArray("Layout"), NodePath("UI/Panel/VBoxContainer/SendButton"), PackedStringArray("Layout")]
resource_unfolds=[]
nodes_folded=[]
@@ -0,0 +1,11 @@
[game_view]
select_mode=0
[editor_metadata]
executable_path="/Applications/Godot.app/Contents/MacOS/Godot"
[recent_files]
scenes=["res://scenes/apartment.tscn", "res://scenes/main.tscn"]
@@ -0,0 +1 @@
res://scenes/
@@ -0,0 +1,9 @@
list=[{
"base": &"CharacterBody2D",
"class": &"Val",
"icon": "",
"is_abstract": false,
"is_tool": false,
"language": &"GDScript",
"path": "res://scripts/val.gd"
}]
@@ -0,0 +1,3 @@
source_md5="a13eaaf5069c9779ff3cf5e5737522f6"
dest_md5="568a309a32c64958225a6bde631e287a"
@@ -0,0 +1,3 @@
source_md5="df687c64443e3f837c212806d0218cdd"
dest_md5="38cbbb99624e1a8ee954bd1f95f9dec0"
@@ -0,0 +1,3 @@
source_md5="45e547a76aed2a454562f9bfa12cacb9"
dest_md5="b64c15b61743923eee6a1094283019fa"
@@ -0,0 +1,3 @@
source_md5="aef8f3e980c0201a3bbb2ff1c1b65e89"
dest_md5="736f588ca3203a8a09ed20e5b87e86e2"
@@ -0,0 +1,3 @@
source_md5="f0c9450f376170605cf9825aa52fdbb0"
dest_md5="5cb3284f586d6ec37b5924a683657b64"
@@ -0,0 +1,3 @@
source_md5="e5884331bebc35f627fd42d356605405"
dest_md5="85d5eb542b99224c4e4886bd9f1b894e"
@@ -0,0 +1 @@
source_md5="fe7a54fc3fdd0d9639eebbfacae33e16"
@@ -0,0 +1,3 @@
source_md5="ef602455923a80a8ae87e0b028d4dee2"
dest_md5="edd24c6ff01ad1d2cfe19af6efab0842"
@@ -0,0 +1,3 @@
source_md5="c065eaf282a69e55d9d7e1a95b5dc395"
dest_md5="07c8d5e972fd2d3a41d4a6d06e1e085d"
@@ -0,0 +1,3 @@
source_md5="35cd240609cfc50725dfead82814bb60"
dest_md5="e1dc026bad14b0df462b64c24e1090dc"
Binary file not shown.
+28
View File
@@ -0,0 +1,28 @@
# Assets 目录
## 需要的素材
### 角色精灵 (sprites/val/)
- `val_idle.png` - Val 的待机动画(至少2帧)
- `val_walk.png` - Val 的行走动画(至少4帧)
- `val_interact.png` - Val 的交互动画
**建议尺寸:** 32x32 或 64x64 像素
### 家具精灵 (sprites/furniture/)
- `sofa.png` - 沙发
- `fridge.png` - 冰箱
- `bed.png` - 床
- `desk.png` - 书桌
### 地砖/地板 (tilesets/)
- `floor.png` - 公寓地板纹理
### 字体 (fonts/)
- `default.ttf` - 默认中文字体
## 占位素材
在正式美术资源到位前,可以用简单几何图形代替:
- Val:圆形(头部)+ 矩形(身体)
- 家具:对应颜色的矩形
@@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" width="96" height="64" viewBox="0 0 96 64">
<!-- 床 placeholder -->
<!-- 床垫 -->
<rect x="4" y="16" width="88" height="44" rx="4" fill="#F5DEB3"/>
<!-- 枕头 -->
<rect x="8" y="20" width="20" height="12" rx="3" fill="white"/>
<!-- 被子 -->
<rect x="32" y="24" width="56" height="32" rx="2" fill="#4169E1"/>
<!-- 床架 -->
<rect x="0" y="56" width="96" height="8" rx="2" fill="#8B4513"/>
</svg>

After

Width:  |  Height:  |  Size: 460 B

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://chg7xvkclu3vs"
path="res://.godot/imported/bed.svg-a07b968a692027a8aa2aefa1772c2c93.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/sprites/furniture/bed.svg"
dest_files=["res://.godot/imported/bed.svg-a07b968a692027a8aa2aefa1772c2c93.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
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=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false
@@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
<!-- 椅子 placeholder -->
<!-- 座面 -->
<rect x="4" y="12" width="24" height="8" rx="2" fill="#A0522D"/>
<!-- 靠背 -->
<rect x="6" y="0" width="20" height="14" rx="2" fill="#8B4513"/>
<!---->
<rect x="6" y="20" width="3" height="12" fill="#8B4513"/>
<rect x="23" y="20" width="3" height="12" fill="#8B4513"/>
</svg>

After

Width:  |  Height:  |  Size: 427 B

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://f7ykgqd2bnm2"
path="res://.godot/imported/chair.svg-515a52e18809bdefa0bd80f22c216048.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/sprites/furniture/chair.svg"
dest_files=["res://.godot/imported/chair.svg-515a52e18809bdefa0bd80f22c216048.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
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=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false
@@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" width="80" height="64" viewBox="0 0 80 64">
<!-- 书桌 placeholder -->
<!-- 桌面 -->
<rect x="0" y="24" width="80" height="8" rx="2" fill="#8B4513"/>
<!-- 抽屉 -->
<rect x="8" y="32" width="24" height="20" rx="2" fill="#A0522D"/>
<rect x="48" y="32" width="24" height="20" rx="2" fill="#A0522D"/>
<!-- 把手 -->
<circle cx="20" cy="42" r="2" fill="#666"/>
<circle cx="60" cy="42" r="2" fill="#666"/>
<!---->
<rect x="8" y="52" width="4" height="12" fill="#8B4513"/>
<rect x="68" y="52" width="4" height="12" fill="#8B4513"/>
</svg>

After

Width:  |  Height:  |  Size: 607 B

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dfq30t8g2rn4n"
path="res://.godot/imported/desk.svg-2c4f75e1d3b2adb95562b394c4b1afdf.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/sprites/furniture/desk.svg"
dest_files=["res://.godot/imported/desk.svg-2c4f75e1d3b2adb95562b394c4b1afdf.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
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=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false
@@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="80" viewBox="0 0 48 80">
<!-- 冰箱 placeholder -->
<!-- 主体 -->
<rect x="4" y="4" width="40" height="72" rx="4" fill="#E8E8E8" stroke="#999" stroke-width="2"/>
<!-- 上门 -->
<rect x="6" y="6" width="36" height="28" rx="2" fill="#F5F5F5" stroke="#CCC" stroke-width="1"/>
<!-- 下门 -->
<rect x="6" y="36" width="36" height="38" rx="2" fill="#F5F5F5" stroke="#CCC" stroke-width="1"/>
<!-- 把手 -->
<rect x="38" y="16" width="3" height="8" rx="1" fill="#666"/>
<rect x="38" y="50" width="3" height="10" rx="1" fill="#666"/>
</svg>

After

Width:  |  Height:  |  Size: 617 B

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://v05xycxp58cn"
path="res://.godot/imported/fridge.svg-ca2cb042cd2f73a0ad3fb7c2735ad942.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/sprites/furniture/fridge.svg"
dest_files=["res://.godot/imported/fridge.svg-ca2cb042cd2f73a0ad3fb7c2735ad942.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
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=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false
@@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" width="96" height="48" viewBox="0 0 96 48">
<!-- 沙发 placeholder -->
<!-- 座垫 -->
<rect x="4" y="16" width="88" height="28" rx="8" fill="#8B4513"/>
<!-- 靠背 -->
<rect x="4" y="4" width="88" height="16" rx="6" fill="#A0522D"/>
<!-- 扶手 -->
<rect x="0" y="12" width="12" height="32" rx="4" fill="#8B4513"/>
<rect x="84" y="12" width="12" height="32" rx="4" fill="#8B4513"/>
</svg>

After

Width:  |  Height:  |  Size: 447 B

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c5ano1iukdaec"
path="res://.godot/imported/sofa.svg-e4acbfc9b6bb54125b2212c3ec025133.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/sprites/furniture/sofa.svg"
dest_files=["res://.godot/imported/sofa.svg-e4acbfc9b6bb54125b2212c3ec025133.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
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=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false
Binary file not shown.

After

Width:  |  Height:  |  Size: 708 B

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cbro4ou4miso0"
valid=false
[deps]
source_file="res://assets/sprites/val/val_idle.png"
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
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=1
@@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<!-- Val idle placeholder - 简单小人 -->
<!---->
<circle cx="32" cy="12" r="10" fill="#5B9BD5"/>
<!-- 身体 -->
<rect x="24" y="22" width="16" height="24" rx="4" fill="#5B9BD5"/>
<!-- 眼睛 -->
<circle cx="28" cy="10" r="2" fill="white"/>
<circle cx="36" cy="10" r="2" fill="white"/>
<circle cx="28" cy="10" r="1" fill="#333"/>
<circle cx="36" cy="10" r="1" fill="#333"/>
<!-- 微笑 -->
<path d="M 28 15 Q 32 18 36 15" stroke="#333" stroke-width="1.5" fill="none"/>
</svg>

After

Width:  |  Height:  |  Size: 593 B

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b0gqrkru3yebg"
path="res://.godot/imported/val_idle.svg-255592146823edb30ffe5820e35028ad.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/sprites/val/val_idle.svg"
dest_files=["res://.godot/imported/val_idle.svg-255592146823edb30ffe5820e35028ad.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
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=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false
@@ -0,0 +1,17 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<!-- Val interact placeholder - 交互姿态 -->
<!---->
<circle cx="32" cy="12" r="10" fill="#5B9BD5"/>
<!-- 身体 -->
<rect x="24" y="22" width="16" height="24" rx="4" fill="#5B9BD5"/>
<!-- 手臂(举起) -->
<rect x="16" y="24" width="8" height="16" rx="3" fill="#3A7BBF" transform="rotate(-45 20 24)"/>
<rect x="40" y="24" width="8" height="16" rx="3" fill="#3A7BBF" transform="rotate(45 44 24)"/>
<!-- 眼睛 -->
<circle cx="28" cy="10" r="2" fill="white"/>
<circle cx="36" cy="10" r="2" fill="white"/>
<circle cx="28" cy="10" r="1" fill="#333"/>
<circle cx="36" cy="10" r="1" fill="#333"/>
<!-- 惊讶表情 -->
<ellipse cx="32" cy="16" rx="3" ry="2" fill="#333"/>
</svg>

After

Width:  |  Height:  |  Size: 802 B

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bqdxkesvah2qm"
path="res://.godot/imported/val_interact.svg-cad5921112661a2dcc6920061d79aa13.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/sprites/val/val_interact.svg"
dest_files=["res://.godot/imported/val_interact.svg-cad5921112661a2dcc6920061d79aa13.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
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=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false
@@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<!-- Val walk placeholder - 行走姿态 -->
<!---->
<circle cx="32" cy="12" r="10" fill="#5B9BD5"/>
<!-- 身体 -->
<rect x="24" y="22" width="16" height="24" rx="4" fill="#5B9BD5"/>
<!-- 腿(行走姿态) -->
<rect x="24" y="46" width="6" height="16" rx="2" fill="#3A7BBF" transform="rotate(-10 27 46)"/>
<rect x="34" y="46" width="6" height="16" rx="2" fill="#3A7BBF" transform="rotate(10 37 46)"/>
<!-- 眼睛 -->
<circle cx="28" cy="10" r="2" fill="white"/>
<circle cx="36" cy="10" r="2" fill="white"/>
<circle cx="28" cy="10" r="1" fill="#333"/>
<circle cx="36" cy="10" r="1" fill="#333"/>
</svg>

After

Width:  |  Height:  |  Size: 722 B

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bqu8h6e1s77rt"
path="res://.godot/imported/val_walk.svg-81e824546797b7f9bc5d8607a57209a3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/sprites/val/val_walk.svg"
dest_files=["res://.godot/imported/val_walk.svg-81e824546797b7f9bc5d8607a57209a3.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
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=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

Some files were not shown because too many files have changed in this diff Show More