OK!OK!OK! Draw Gizmo3DMove model was correct.

This commit is contained in:
hyzboy 2024-07-30 01:01:29 +08:00
parent f2a6c61c25
commit 741e0e8ade
2 changed files with 14 additions and 7 deletions

View File

@ -74,30 +74,37 @@ bool InitGizmoMoveStaticMesh()
{
SceneNode *root_node=new SceneNode(sphere);
root_node->CreateSubNode(scale(9,1,1),cylinder[0]);
{
Transform tm;
constexpr const Vector3f one_scale(1);
constexpr const Vector3f cylinder_scale(0.35f,0.35f,4.5f);
tm.SetTranslation(Vector3f(0,0,4.5f));
tm.SetScale(cylinder_scale);
root_node->CreateSubNode(tm.GetMatrix(),cylinder[2]); //Z 向上圆柱
tm.SetScale(one_scale);
tm.SetTranslation(Vector3f(0,0,9.5f));
root_node->CreateSubNode(tm.GetMatrix(),cone[2]); //Z 向上圆锥
tm.SetScale(cylinder_scale);
tm.SetRotation(AxisVector::Y,90);
tm.SetTranslation(Vector3f(4.5f,0,0));
root_node->CreateSubNode(tm.GetMatrix(),cylinder[0]); //X 向右圆柱
tm.SetScale(one_scale);
tm.SetTranslation(Vector3f(9.5f,0,0));
root_node->CreateSubNode(tm.GetMatrix(),cone[0]); //X 向右圆锥
tm.SetRotation(AxisVector::X,90);
tm.SetScale(cylinder_scale);
tm.SetRotation(AxisVector::X,-90);
tm.SetTranslation(Vector3f(0,4.5f,0));
root_node->CreateSubNode(tm.GetMatrix(),cylinder[1]); //Y 向前圆柱
tm.SetScale(one_scale);
tm.SetTranslation(Vector3f(0,9.5f,0));
root_node->CreateSubNode(tm.GetMatrix(),cone[1]); //Y 向前圆锥
}

View File

@ -198,7 +198,7 @@ namespace
}
{
InitGizmoRenderable(GizmoShape::Sphere,CreateSphere(gizmo_triangle.prim_creater,8),gizmo_triangle.pipeline);
InitGizmoRenderable(GizmoShape::Sphere,CreateSphere(gizmo_triangle.prim_creater,32),gizmo_triangle.pipeline);
}
{
@ -206,8 +206,8 @@ namespace
cci.radius =1; //圆锥半径
cci.halfExtend =1; //圆锤一半高度
cci.numberSlices=8; //圆锥底部分割数
cci.numberStacks=1; //圆锥高度分割数
cci.numberSlices=32; //圆锥底部分割数
cci.numberStacks=8; //圆锥高度分割数
InitGizmoRenderable(GizmoShape::Cone,CreateCone(gizmo_triangle.prim_creater,&cci),gizmo_triangle.pipeline);
}
@ -216,7 +216,7 @@ namespace
struct CylinderCreateInfo cci;
cci.halfExtend =1; //圆柱一半高度
cci.numberSlices=8; //圆柱底部分割数
cci.numberSlices=32; //圆柱底部分割数
cci.radius =1; //圆柱半径
InitGizmoRenderable(GizmoShape::Cylinder,CreateCylinder(gizmo_triangle.prim_creater,&cci),gizmo_triangle.pipeline);