feat(render): 实现模型渲染层级变换与网格世界坐标烘焙
- 为 Mesh2D 添加 getX/Y 方法并优化顶点访问逻辑 -修复 FloatBuffer 剩余空间判断逻辑 - 添加 bakedToWorld 标志支持网格世界坐标烘焙- 重构 ModelPart 变换更新逻辑,增加递归重计算 - 实现 ModelPart.draw() 方法支持 shader 传参绘制 - 更新 ModelRender 渲染流程,支持 worldTransform 传递 -修正网格顶点坐标上传逻辑,兼容 baked 状态- 移除废弃的调试与上传方法 - 增强部件变换时的局部与世界矩阵同步 - 修复 printWorldPosition 使用 worldTransform 坐标 - 调整测试模型初始位置与层级结构 重点: - 修复了XY轴无法设置的重大问题
This commit is contained in:
@@ -108,7 +108,7 @@ public class ModelRenderTest {
|
||||
|
||||
// body 放在屏幕中心
|
||||
ModelPart body = testModel.createPart("body");
|
||||
body.setPosition(400, 320);
|
||||
body.setPosition(0, 0);
|
||||
// 身体网格:宽 80 高 120
|
||||
Mesh2D bodyMesh = Mesh2D.createQuad("body_mesh", 80, 120);
|
||||
bodyMesh.setTexture(createSolidTexture(64, 128, 0xFF4A6AFF)); // 蓝衣
|
||||
@@ -151,6 +151,7 @@ public class ModelRenderTest {
|
||||
|
||||
// 建立层级:body 为根,其他作为 body 的子节点
|
||||
//testModel.addPart(body);
|
||||
|
||||
body.addChild(head);
|
||||
body.addChild(leftArm);
|
||||
body.addChild(rightArm);
|
||||
|
||||
Reference in New Issue
Block a user