0
\$\begingroup\$

I'm doing some grid snapping and I wanted to fill out my grid on the gameObject surface. However I can't figure out the math on how to limit the grid fill. Here's the snippet:

private void Values()
{
    sizePlace.y = baseGrid.transform.localScale.y / sizeGridX;
    sizePlace.z = baseGrid.transform.localScale.z / sizeGridZ;
    sizePlace.x = baseGrid.gameObject.GetComponent<MeshRenderer>().bounds.size.x*1.6f;

    gridPosition.y = (baseGrid.transform.localScale.y / 2) - (sizePlace.y / 2);
    gridPosition.z = (baseGrid.transform.localScale.z / 2) - (sizePlace.z / 2);
    gridPosition.x = baseGrid.transform.position.x;

    startGridPosition = gridPosition;
}

baseGrid is the gameObject surface and Place is basically a flat cube where I made it as a grid. The picture below illustrate my problem.

enter image description here

No matter how many grids in the game, the grid will resize itself and they will always spawned exceeded the wall size. I'm not very good at math and stuff so if someone could guide me, I would be glad. Thanks thanks thanks!

UPDATE: Ok I managed to limit the fill but I don't know why they won't cover all the area of the wall. ((

enter image description here

Here's the updated code:

sizePlace.y = baseGrid.gameObject.GetComponent<MeshRenderer>().bounds.size.y / sizeGridX;
    sizePlace.z = baseGrid.gameObject.GetComponent<MeshRenderer>().bounds.size.y / sizeGridZ;
    sizePlace.x = baseGrid.gameObject.GetComponent<MeshRenderer>().bounds.size.x*1.6f;

    gridPosition.y = (baseGrid.gameObject.GetComponent<MeshRenderer>().bounds.size.y / 2) - (sizePlace.y / 2);
    gridPosition.z = (baseGrid.gameObject.GetComponent<MeshRenderer>().bounds.size.z / 2) - (sizePlace.z / 2);
    gridPosition.x = baseGrid.transform.position.x;

    startGridPosition = gridPosition;
\$\endgroup\$
1
\$\begingroup\$

Ok what a silly mistake I did, my sizePlace.z is calculated using baseGrid bound.size.y instead of bound.size.z. Problem solved.

sizePlace.z = baseGrid.gameObject.GetComponent<MeshRenderer>().bounds.size.z / sizeGridZ;
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.