Explore our latest accomplishment: We've crafted a versatile, user-friendly tool in Unreal Engine 5. It simplifies the creation and customization of play area boundaries, featuring walls tailored for diverse platforms. Our expertise with splines and procedural meshes in Unreal Engine has reached new heights!
Process description:
Initially, the tool was intended to include both visual walls and distinct collision elements along their entire length. It also required a user-friendly system for managing polygon divisions and draw calls, allowing for extensive customization. Another critical requirement was to create translucent unlit materials with minimal instructions to maximize performance on mobile devices.
One of the primary challenges during development was creating a system for automatic spline splitting. This involved adding new spline points and segmenting the geometry at sharp elevation changes to avoid curved vertical angles in the walls. Implementing this complex system required extensive logic adjustments throughout the tool and fine-tuning to determine the optimal values for automatic splitting.
In challenging scenarios, such as when a wall needed to traverse a large building, the automatic spline splitting system was invaluable. It created new spline points and gaps between the wall sections placed in front of, behind, and above the building, preserving the integrity of the wall geometry.
The tool's foundation is built on a spline for easy shape control using spline points, upon which a procedural mesh forming a solid wall is constructed. Numerous parameters were designed for mesh customization and control, including height adjustment, vertical offset, color change, custom material assignment, and more. Logic for snapping wall geometry to horizontal surfaces was also implemented. We provided an "Ignore System," allowing any actor in the scene to avoid snapping to its geometry by adding the desired actor to the ignore list using a dropper or a "Tag," preventing our walls from snapping to that object.
In addition to the visual walls, we extended invisible collision walls along the spline, which can be controlled independently. A collision ceiling was also implemented, attaching to the top of the collision walls and adjusting to cover the entire area.
To evaluate the performance impact of the geometry created by this tool, we utilized Unreal Frontend Profiler and Unreal Insight, conducting tests on both PC and Android. We performed render captures using RenderDoc to understand how visual wall segments were rendered with various construction methods. The tool itself provided a visual representation for each draw call, with parameters that included numbering for each segment constituting a new draw call.
As a result, we developed a universal and convenient tool for creating visual and collision boundaries for play areas. Its main advantages are ease of use, versatility for different scenarios and tasks, and flexibility in customization and optimization, making it suitable for projects across various platforms. Additionally, the development process enhanced our expertise in working with splines and procedural meshes in Unreal Engine.
Process description:
Initially, the tool was intended to include both visual walls and distinct collision elements along their entire length. It also required a user-friendly system for managing polygon divisions and draw calls, allowing for extensive customization. Another critical requirement was to create translucent unlit materials with minimal instructions to maximize performance on mobile devices.
One of the primary challenges during development was creating a system for automatic spline splitting. This involved adding new spline points and segmenting the geometry at sharp elevation changes to avoid curved vertical angles in the walls. Implementing this complex system required extensive logic adjustments throughout the tool and fine-tuning to determine the optimal values for automatic splitting.
In challenging scenarios, such as when a wall needed to traverse a large building, the automatic spline splitting system was invaluable. It created new spline points and gaps between the wall sections placed in front of, behind, and above the building, preserving the integrity of the wall geometry.
The tool's foundation is built on a spline for easy shape control using spline points, upon which a procedural mesh forming a solid wall is constructed. Numerous parameters were designed for mesh customization and control, including height adjustment, vertical offset, color change, custom material assignment, and more. Logic for snapping wall geometry to horizontal surfaces was also implemented. We provided an "Ignore System," allowing any actor in the scene to avoid snapping to its geometry by adding the desired actor to the ignore list using a dropper or a "Tag," preventing our walls from snapping to that object.
In addition to the visual walls, we extended invisible collision walls along the spline, which can be controlled independently. A collision ceiling was also implemented, attaching to the top of the collision walls and adjusting to cover the entire area.
To evaluate the performance impact of the geometry created by this tool, we utilized Unreal Frontend Profiler and Unreal Insight, conducting tests on both PC and Android. We performed render captures using RenderDoc to understand how visual wall segments were rendered with various construction methods. The tool itself provided a visual representation for each draw call, with parameters that included numbering for each segment constituting a new draw call.
As a result, we developed a universal and convenient tool for creating visual and collision boundaries for play areas. Its main advantages are ease of use, versatility for different scenarios and tasks, and flexibility in customization and optimization, making it suitable for projects across various platforms. Additionally, the development process enhanced our expertise in working with splines and procedural meshes in Unreal Engine.