Fixed doors and windows geometry
This commit is contained in:
@@ -2698,10 +2698,10 @@ void CellGridSystem::createWindowFrameMeshes(const CellGridComponent &grid,
|
||||
}
|
||||
|
||||
// Window dimensions (scaled by cellSize/cellHeight)
|
||||
float windowWidth = 1.6f * (grid.cellSize / 4.0f);
|
||||
float windowWidth = 3.2f * (grid.cellSize / 4.0f);
|
||||
float windowHeight = 2.0f * (grid.cellHeight / 4.0f);
|
||||
float frameDepth = 0.34f * (grid.cellSize / 4.0f);
|
||||
float frameThickness = 0.1f * (grid.cellSize / 4.0f);
|
||||
float frameDepth = 0.34f /* * (grid.cellSize / 4.0f) */;
|
||||
float frameThickness = 0.1f /* * (grid.cellSize / 4.0f) */;
|
||||
|
||||
// Create external window frame mesh
|
||||
Procedural::TriangleBuffer extFrameTb;
|
||||
@@ -2846,7 +2846,7 @@ void CellGridSystem::createDoorFrameMeshes(const CellGridComponent &grid,
|
||||
|
||||
// Create external door frame mesh
|
||||
Procedural::TriangleBuffer extFrameTb;
|
||||
float stepDepth = frameDepth * 2.0f;
|
||||
float stepDepth = frameDepth * 1.3f;
|
||||
|
||||
// Left frame with step
|
||||
Procedural::BoxGenerator()
|
||||
@@ -2974,12 +2974,12 @@ void CellGridSystem::placeWindowFrames(
|
||||
return;
|
||||
|
||||
float halfCell = grid.cellSize / 2.0f;
|
||||
float frameOffset = 0.2f * (grid.cellSize / 4.0f);
|
||||
float frameOffset = 0.0f /* * (grid.cellSize / 4.0f) */;
|
||||
// Window frame should match window geometry positioning
|
||||
// Window center Y = windowBottomOffset + windowHeight/2
|
||||
float windowHeight = 2.0f * (grid.cellHeight / 4.0f);
|
||||
float windowBottomOffset = 0.8f * (grid.cellHeight / 4.0f);
|
||||
float windowY = windowBottomOffset + windowHeight / 2.0f;
|
||||
float windowY = windowBottomOffset /* + windowHeight / 2.0f */;
|
||||
|
||||
for (const auto &cell : grid.cells) {
|
||||
Ogre::Vector3 origin = grid.cellToWorld(cell.x, cell.y, cell.z);
|
||||
@@ -3012,6 +3012,7 @@ void CellGridSystem::placeWindowFrames(
|
||||
};
|
||||
|
||||
if (extMesh) {
|
||||
frameOffset = 0.1f;
|
||||
if (cell.hasFlag(CellFlags::WindowXNeg)) {
|
||||
Ogre::Vector3 pos =
|
||||
origin +
|
||||
@@ -3051,6 +3052,7 @@ void CellGridSystem::placeWindowFrames(
|
||||
}
|
||||
|
||||
if (intMesh) {
|
||||
frameOffset = 0.1f;
|
||||
if (cell.hasFlag(CellFlags::IntWindowXNeg)) {
|
||||
Ogre::Vector3 pos =
|
||||
origin +
|
||||
|
||||
Reference in New Issue
Block a user