- Aseprite软件设计像素美术
- Ldtk软件编辑关卡
- 加载关卡
- 角色跳跃
- 角色冲刺及动画
- 角色爬墙和蹬墙跳
- 角色死亡重生及动画特效
- 角色头发飘逸效果
- 弹簧、雪堆、陷阱、木架
- 天气效果
- 相机跟随角色
- 游戏ui
- WASM支持
在线游玩:点这里(电脑版Chrome/Firefox/Edge打开)
- 本地运行
cargo run
- WASM运行
rustup target install wasm32-unknown-unknown
cargo install wasm-server-runner
cargo run --target wasm32-unknown-unknown --features bevy_ecs_ldtk/atlas
cargo install wasm-bindgen-cli
cargo build --release --target wasm32-unknown-unknown --features bevy_ecs_ldtk/atlas
wasm-bindgen --out-dir ./out/ --target web ./target/wasm32-unknown-unknown/release/celeste.wasm
A
D
S
移动K
跳跃J
冲刺
视频演示:B站
- @littlekite 添加天气效果
- Celeste Official source project
- U3D教程实现《蔚蓝 Celeste 》Movement 系统
- casuak/Game_1_Tiny_Celeste_v3
- LDtk一小时完全入门教程
1.像素完美 (Pixel Perfect) 是什么意思?
指确保像素图像在不同分辨率下始终保持锐利清晰,并在运动中保持稳定,在Bevy中通过ImagePlugin::default_nearest()
设置。
参考
- https://docs.unity3d.com/cn/2019.4/Manual/com.unity.2d.pixel-perfect.html
- https://github.com/bevyengine/bevy/blob/main/examples/2d/pixel_perfect.rs
2.常见角色控制有哪些方式?
- 通过
Transform
组件直接指定角色坐标 - 通过设置
RigidBody
刚体组件,利用物理引擎(力、速度、加速度等)控制角色 - 通过
CharacterController
来控制角色,它不受物理(如重力)限制,会自动处理碰撞检测,移动,跳跃等,可以很方便地实现在各种复杂地形中运动 - 通过为角色添加NavMesh Agent组件并使用导航网格系统来实现角色的自动寻路和移动
- 通过为角色添加Animator组件并使用动画系统来实现角色的移动、旋转和动作
- 通过编写自定义脚本来实现角色的移动、旋转和碰撞
参考