My background is to work with levels and environments. One of the things that costs me most time while developing is the mere act of moving meshes and actors around in environments. The aligning and dragging costs me over the course of any game a considerable amount of time. Any speed improvement possible there would save a significant amount of time and money I feel.
Currently if you want to build modular environments you can only use the power of 2 grid. This gives following problems IMO:
- The whole concept of a power of 2 grid is difficult to grasp for new users to my experience, they tend to want to go for simple numbers like 100 or 200. This would also be a problem if you have the intention to expand into non gaming industries such as architects or TV/Movies, who are not used to power of 2 grids.
- The concept as a whole is a remnant of the BSP era, and Unity I believe does not has this at all. Given you compete with Unity and would want to steal users away from them, having a grid only based system in Unreal adds an extra barrier to that in my opinion.
- Adding to the complexity is that when you use modular meshes, in order to scale a mesh and still have it fit the grid, you need to scale by numbers such as 1.312500. Scaling a mesh by 1.3 would have it go off the grid. 2561.3=332.8 whereas 2561.3125=336. This entire scaling concept is difficult to explain to your average user.
- Once you understand the concept and are used to it (like me) the next problem then is that a grid slows down the way you move objects. In an Unreal Engine 2 game I worked on I had a new tool coded in for me that saved a huge amount of time moving objects around the huge levels. What we added was that when you select an actor, you’d then fly where you want to move the actor to (possibly using a camera bookmark to further speed it up), and on the destination you’d ctrl alt click. Where you clicked the actor would instantly move to. This is significant faster than dragging the mouse 20 times to move the actor bit by bit.
I therefore propose:
A grid is fine to have, but having full snap functionality Max/Maya/Unity style on top of grid functionality would save a lot of time and please all parties. Max and Maya allow you to snap anything to anything. You can drag a mesh and snap 1 specific vertex to the vertex or edge of another mesh. This way you can easily drag objects over long distances, plus you can make modular pieces in any size, and scaling has no longer an impact on whether or not pieces fit. You’d simply snap the next modular piece to the edge of the previous one.