MCPcopy Index your code
hub / github.com/esengine/esengine / Mesh3DRuntimeModule

Class Mesh3DRuntimeModule

packages/mesh-3d/src/Mesh3DRuntimeModule.ts:29–80  ·  view source on GitHub ↗

* Runtime module for 3D mesh rendering. * 3D 网格渲染的运行时模块。

Source from the content-addressed store, hash-verified

27 * 3D 网格渲染的运行时模块。
28 */
29class Mesh3DRuntimeModule implements IRuntimeModule {
30 registerComponents(registry: IComponentRegistry): void {
31 registry.register(MeshComponent);
32 registry.register(Animation3DComponent);
33 registry.register(SkeletonComponent);
34 }
35
36 createSystems(scene: IScene, context: SystemContext): void {
37 // Get engine bridge from services
38 // 从服务获取引擎桥接
39 const bridge = context.services.get(EngineBridgeToken) ?? null;
40 if (!bridge) {
41 console.warn('[Mesh3D] EngineBridge not found, MeshRenderSystem will be disabled');
42 }
43
44 // Get asset manager
45 // 获取资产管理器
46 const assetManager = context.services.get(AssetManagerToken);
47
48 // Create asset loader system
49 // 创建资产加载器系统
50 const loaderSystem = new MeshAssetLoaderSystem();
51 if (assetManager) {
52 loaderSystem.setAssetManager(assetManager);
53 } else {
54 console.warn('[Mesh3D] AssetManager not found, mesh loading will be disabled');
55 }
56 scene.addSystem(loaderSystem);
57
58 // Create animation system (runs before rendering to update bone transforms)
59 // 创建动画系统(在渲染前运行以更新骨骼变换)
60 const animationSystem = new Animation3DSystem();
61 scene.addSystem(animationSystem);
62
63 // Create skeleton baking system (computes final bone matrices)
64 // 创建骨骼烘焙系统(计算最终骨骼矩阵)
65 const skeletonSystem = new SkeletonBakingSystem();
66 scene.addSystem(skeletonSystem);
67
68 // Create render system with bridge
69 // 使用桥接创建渲染系统
70 const renderSystem = new MeshRenderSystem(bridge);
71
72 // Add to scene
73 // 添加到场景
74 scene.addSystem(renderSystem);
75
76 // Register service
77 // 注册服务
78 context.services.register(MeshRenderSystemToken, renderSystem);
79 }
80}
81
82/**
83 * Module manifest.

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected