开发周期: 2025年12月1日 - 2024年12月30日
状态: ✅ 已完成
V0.2是在完成v0.1 MVP版本之后的第一轮重构版本,主要目标是完善底层基础设施,提升系统的健壮性和可扩展性,为后续的功能开发打下坚实基础。
ModuleRegister的自动注册机制关键文件:
rbc/tests/test_py_codegen/ - 代码生成测试和模板xmake/py_codegen.lua - xmake集成ArchiveWrite, ArchiveRead)OzzStream)JsonSerializer)write_content_to, read_content_from)关键提交:
322009d - serde chain5b7fa7f - linked node serdef885964 - binary serdebe400bd - simple archive impl for ozz assetResourceBase 基类和资源生命周期管理EResourceLoadingStatus)GltfMeshImporter, GlbMeshImporter)
GltfSkeletonImporter)
GltfSkinImporter)
GltfAnimSequenceImporter)
关键文件:
rbc/runtime/src/world/importers/mesh_importer_gltf.cpprbc/runtime/src/world/importers/skel_importer_gltf.cpprbc/runtime/src/world/importers/skin_importer_gltf.cpprbc/runtime/src/world/importers/anim_sequence_importer_gltf.cpprbc/runtime/src/world/importers/gltf2ozz.cpp关键提交:
14824b3 - gltf importer68ed6bc - gltf -> skeleton/skin/animfc0e577 - skin & anim import doneSceneManager - 统一的场景资源管理BufferAllocator - GPU缓冲区分配器BindlessManager - Bindless资源管理MeshManager - 网格资源管理AccelManager - 加速结构管理ReferenceSkeleton, SkeletonResource)
AnimSequenceResource)
SkinResource)
关键类型:
using AnimSequenceRuntimeAsset = ozz::animation::Animation;
using SkeletonRuntimeAsset = ozz::animation::Skeleton;
using AnimSkinningJob = ozz::geometry::SkinningJob;
using AnimLocalToModelJob = ozz::animation::LocalToModelJob;
using AnimSamplingJob = ozz::animation::SamplingJob;
关键提交:
378a654 - reference skeleton basic7a628af - ozz resource import doneb54f52c - anim prototype55788c5 - anim sampling update关键提交:
06333cf - Dual quaternion skinning69bc649 - skinning api9c8c7a3 - skinning mesh serde24c5b47 - Node device interop, add mutable-buffer to optimize skinning memorya0327c5 - split SkinAttrib into Index and Weight关键文件:
rbc/editor/runtime/include/RBCEditorRuntime/runtime/EditorContext.hrbc/editor/runtime/src/runtime/EditorLayoutManager.cpprbc/editor/runtime/src/runtime/WorkflowManager.cpp关键提交:
616812f - refactor editor0d195fa - split editor runtime and appef20295 - fix editor dpi errorc05c147 - editor run pass关键文件:
rbc/editor/runtime/src/components/ViewportWidget.cpprbc/editor/runtime/src/engine/visapp.cpprbc/app/src/camera_controller.cpp关键提交:
7fa7e7b - start node5b7fa7f - linked node serde关键文件:
rbc/render_plugin/src/raster_pass.cpprbc/render_plugin/src/editing_pass.cpprbc/render_plugin/src/prepare_pass.cpprbc/render_plugin/src/post_pass.cpp关键提交:
f327b2d - raster shadingCameraData - 相机矩阵和变换FrameSettings - 帧设置PTPipelineSettings - 管线配置ClickManager - 点击选择管理EntityInputNode - 实体输入EntityGroupInputNode - 实体组输入RotationAnimationNode - 旋转动画GroupRotationAnimationNode - 组旋转动画AnimationOutputNode - 动画输出UIPCSimNode - UIPC物理模拟节点 (接口完成,实现待补充)Text2ImageNode - 文本生成图像 (接口完成,需要diffusers库)CLIPTextEncodeNode - CLIP文本编码KSamplerNode - K采样器VAEDecodeNode - VAE解码器关键文件:
custom_nodes/basic.pycustom_nodes/animation_nodes.pycustom_nodes/uipc.pycustom_nodes/text2image_nodes.py (注释掉,待完善)从GLTF文件到运行时资源的完整流程:
GLTF File → Importer → Raw Asset → Builder → Runtime Asset → Serialization
V0.2的完成为V0.3打下了坚实基础,后续将转向:
完成日期: 2025年12月30日
详细的Editor重构文档请参考: Editor V0.2