Features:
- Spline based building generation.
- Deterministic (seed based generation).
- Modular (add your own meshes).
- HISM (LODs and few draw calls).
- Procedural Mesh generation for roofs, cornices, sidewalks and curbs.
- Export buildings using Unreal Engine’s Merge/Export.
Number of Blueprints: 1
Number of Meshes: 55
Number of Materials: 3
Network Replicated: No
Supported Development Platforms: All platforms should be supported (only Windows has been tested).
特征:
- 基于样条的构建生成。
- 确定性(基于种子的生成)。
- 模块化(添加自己的网格)。
- HISM(Lod和很少绘制调用)。
- 屋顶、飞檐、人行道和路缘石的程序网格生成。
- 使用虚幻引擎的合并/导出导出建筑物。
蓝图数目:1
目数:55
材料数量:3
网络复制:没有
支持的开发平台:应支持所有平台(仅测试了Windows)。
UE 5.4 will benefit from this console command: Editor.ComponentVisualizer.AutoSelectComponent false
Building Generator is a blueprint-based building generator which can be used to quickly generate buildings. It only requires meshes and then the spline-based algorithm will take care of the rest. Because it is based on splines you have full control over the primary shape of the building. The blueprint is also capable of generating several buildings at once which are based on a grid making it possible to create entire blocks or cities quickly. Floors and stairs can now be generated as well! Generate the buildings at runtime or bake them using Unreal’s merge tool.
The buildings are generated from the ground up during each cycle based on the properties given. The generation method is deterministic (seed based) meaning that the exact generation can be regenerated given the same seed and properties. Building length, width and height can be determined prior to generation whilst adding random values. Likewise, the properties of each building can be altered. These properties include, but are not limited to, roof, cornice, curb, gutter, entrances, signs etc. Both Lumen and Nanite are compatible, and collision can either be simple or complex. Generation during runtime is possible. The buildings are game ready in terms of draw calls as they are utilizing Unreal’s HISM (Hierarchical Instanced Static Mesh) which also support LODs. The roofs, curbs, sidewalks and cornices are all generated using procedural meshes.
Features:
- All meshes are interchangeable (note, not the procedural meshes – curbs, cornices and roofs).
- Single or multiple building generation.
- Easy to control spline system that dynamically adjusts to the terrain.
- Adjust building height, width and length.
- Four procedural roof types, gable, hip, shed and flat roofs.
- Courtyards.
- Terraced buildings.
- Spawn as BP option for certain meshes.
- Free-form mode allowing for control over each individual spline point allowing for a custom building footprint.
- Simple interior support – Floors and Stairs.
- Async generation during runtime.
- Automatically scale meshes to fit perfectly or utilize the non-scale circle-circle intersection method for non-scaled building meshes.
- Custom data on building meshes, signs and socket meshes.
- Slanted or flat procedural mesh roofs.
- Curb and cornice custom profiles using curves.
- Spawn meshes per building mesh based on sockets.
- Balconies, gutters, roof meshes, curbs, signs, trees, street meshes and more.
- Per building procedural meshes allow for variance in materials.
- Bake buildings down to static meshes using Unreal’s merge tool.
- Automatic forward axis on building meshes.
Limitations:
- Tri-planar texturing is advised on the procedural meshes due to the UV-unwrapping method (per face).
- Roofs are procedurally generated meaning that you cannot use your own mesh. The types of roofs are as follows: Gable, Hip, Flat, and Shed.
- Roofs do not support smooth shading or beveled edges.
- Procedural meshes do not support Mesh Distance Field Generation and can produce non-optimal Lumen results when inside a building.
- Roof tile generation is yet an experimental feature and can produce some wacky results if the buildings angles are not right.
Noteworthy:
- When generating large cities, it can be required to increase the “Maximum Loop Iteration Count” in the project settings.
- The included meshes are meant as placeholders and are low poly.
Support:
- Discord
- aulden.carter@gmail.com
Update history:
V15
- Added “Foundation Depth” for controlling how deep the foundation goes into the ground.
- Fixed bug causing the foundations normals to flip when going to far negative.
- Fixed bug causing terraced houses to fail when too close to each other.
- Fixed UVs on in-between floors.
V14
- Added “CornerPillarPivotTop” allowing the usage of corner pillars with pivots on the bottom of the mesh.
- Added “CornerPillarZ Offset” which shifts the peak of the corner pillar up or down.
- Fixed bug causing “FirstFloorZ Offset” not to work with courtyard buildings.
V13A
- Fixed bug causing “AlignToGround” making the spline a closed loop despite single building.
- Fixed bug causing corner pillars to not properly spawn on two story buildings.
- Fixed rotating chimney actor.
V13
- Added Terraced building bool in properties.
- Added SpawnAsActor for most mesh types. Useful for spawning actors like chimneys or doors which require logic or movement.
- Added CorniceMesh? which allows you to specify a mesh instead of procedurally generating the cornice. Separate cornices for bot, mid and top are available.
- Added Seperate meshes for corner pillars, bot, mid and top.
- Added a blueprint (BP_SpawnBuildingGeneratorExample) which showcases how you can spawn a building generator from an external blueprint.
- Added “Styles” – Data assets which you add only the meshes you want in the style. Then drag and drop the Style on the building generator and it will convert its meshes to those of the Style.
- Fixed issue when baking where collision was not working (all meshes are required to be complex as simple in order to use complex collision).
- Fixed bug where the hip roof height was not seeded.
- Fixed Z-fighting on building meshes, in the corners.
- Fixed issue where warnings would appear if a mesh array was left empty.
- Fixed so that corner pillars do not overlap building meshes (only works in auto scale).
- Replaced CorniceScale and CorniceScaleRandom with a single variable.
- Removed CornerPillarOffsetZ (no longer compatible with new formula).
V12A
- Fixed the procedural mesh component not being visible.
- Fixed persistent buildings causing a lag spike when selecting them.
V12 Video
- Added new roof type, “hip roof”.
- Added new roof type, “shed roof”.
- Added courtyards.
- Added free-form single building allowing you to freely decide the footprint of the building using spline points, experimental feature.
- Added “Async?” and “AsyncFast?” which reduces lag when generating during runtime.
- Persistent buildings now have persistent procedural meshes.
- “PerBuildingProceduralMeshes” is now deprecated, all buildings are now their own entities, ie they have there own HISMs and procedural mesh components.
- Random building width, height and roof slanted height are now condensed into one variable each.
- Added option “AutoAlignSplinePoints” which turns on or off the automatic terrain adjustment.
- Reworked the roof tile formula, should be a lot cleaner now (still not perfect).
- Added “RoofTileAngle” which allows you to fine tune the angle of tiles.
- Added “RoofTileApexZOffset” which allows you to offset the apex tiles up and down.
- Added intermediate apex tiles for the gable roof.
- Added “RoofTileCastShadow” which switches on or off shadow casting for roof tiles.
- Fixed bug causing random sidewalk material to not work.
- Fixed bug causing streetlights not spawning when “RemoveSomeStreetLights” was active.
- Fixed bug causing corner pillars to not reach the ground when building on a slope.
UE5.4将受益于此控制台命令: 编辑。ComponentVisualizer。自动选择组件错误
建筑物生成器是一个基于蓝图的建筑物生成器,可用于快速生成建筑物。 它只需要网格,然后基于样条的算法将处理其余的。 因为它是基于样条的,所以你可以完全控制建筑物的主要形状。 蓝图还能够同时生成多个基于网格的建筑物,从而可以快速创建整个街区或城市。 地板和楼梯现在也可以生成! 在运行时生成建筑物或使用虚幻的合并工具烘焙它们。
建筑物是根据给定的属性在每个周期中从地面生成的。 生成方法是确定性的(基于种子的),这意味着可以在给定相同种子和属性的情况下重新生成确切的生成。 建筑物的长度、宽度和高度可以在生成之前确定,同时添加随机值。 同样,每个建筑物的属性都可以改变。 这些属性包括但不限于屋顶,檐口,路边,排水沟,入口,标志等。 Lumen和Nanite都是兼容的,碰撞可以是简单的,也可以是复杂的。 在运行时生成是可能的。 这些建筑在绘制调用方面已经做好了游戏准备,因为它们利用了虚幻的HISM(分层实例化静态网格体),该网格体也支持Lod。 屋顶、路缘、人行道和飞檐都是使用程序网格生成的。
特征:
- 所有网格都是可互换的(注意,不是程序网格-路缘,飞檐和屋顶)。
- 单个或多个建筑物生成。
- 易于控制的样条系统,动态调整到地形.
- 调整建筑物的高度,宽度和长度。
- 四种程序屋顶类型,山墙,臀部,棚屋和平屋顶。
- 庭院。
- 梯田建筑。
- 生成为某些网格的BP选项。
- 自由形式模式允许控制每个单独的样条点,允许自定义建筑足迹。
- 简单的内部支持-地板和楼梯。
- 运行时的异步生成。
- 自动缩放网格以完美拟合或对非缩放建筑网格使用非缩放圆-圆相交方法。
- 关于构建网格、标志和插座网格的自定义数据.
- 倾斜或平坦的程序网状屋顶。
- 路边和檐口使用曲线自定义配置文件.
- 基于套接字为每个构建网格生成网格。
- 阳台,排水沟,屋顶网格,路缘,标志,树木,街道网格等等。
- 每个建筑程序网格允许材料的变化.
- 使用虚幻的合并工具将建筑物烘焙为静态网格体。
- 构建网格上的自动前轴。
限制:
- 由于UV展开方法(每个面),建议在程序网格上使用三平面纹理。
- 屋顶是程序生成的,这意味着您不能使用自己的网格。 屋顶的类型如下:山墙,臀部,平坦和棚屋。
- 屋顶不支持平滑的阴影或斜面边缘。
- 程序网格不支持网格距离场生成,并且在建筑物内部时可能产生非最佳流明结果。
- 屋面瓦的生成是一个实验性的特征,如果建筑物的角度不对,可以产生一些古怪的结果。
值得注意的是:
- 生成大城市时,可以要求在项目设置中增加”最大循环迭代计数”。
- 包含的网格是指占位符,并且是低多边形。
支援服务:
- 不和谐
- aulden.carter@gmail.com
更新历史:
V15
- 增加了”地基深度”,用于控制地基进入地面的深度。
- 修正了导致基础法线在远负时翻转的错误。
- 修正了梯田房屋在太靠近时失败的错误。
- 固定在两层之间的UVs。
V14
- 添加了”CornerPillarPivotTop”,允许在网格底部使用带有枢轴的角柱。
- 增加了”角柱偏移”,将角柱的峰值向上或向下移动。
- 修复了导致”FirstFloorZ Offset”无法与庭院建筑配合使用的错误。
V13A
- 修正了导致”对齐”的错误,使样条曲线成为一个闭环,尽管单一建筑。
- 修正了导致角柱不能在两层建筑物上正常产卵的错误.
- 固定旋转烟囱演员。
V13
- 在物业中增加了梯田建筑布尔。
- 为大多数网格类型添加了SpawnAsActor。 对于需要逻辑或运动的烟囱或门等生成actor非常有用。
- 添加CorniceMesh? 它允许您指定一个网格,而不是程序生成檐口。 单独的飞檐为bot,中间和顶部是可用的.
- 添加了角柱,机器人,中间和顶部的单独网格。
- 添加了一个蓝图(BP_SpawnBuildingGeneratorExample),展示了如何从外部蓝图生成构建生成器。
- 添加了”样式”-您只添加样式中所需的网格的数据资产。 然后将样式拖放到构建生成器上,它将将其网格转换为样式的网格。
- 修复了烘焙碰撞不起作用时的问题(为了使用复杂的碰撞,所有网格都需要复杂到简单)。
- 修正了臀部屋顶高度没有播种的错误.
- 固定Z-战斗在建筑网格,在角落。
- 修正了网格数组为空时会出现警告的问题。
- 固定,使角柱不重叠建筑网格(仅适用于自动缩放)。
- 用单个变量替换CorniceScale和CorniceScaleRandom。
- 删除CornerPillarOffsetZ(不再与新公式兼容).
V12A
- 修正了程序网格组件不可见。
- 修复了在选择建筑物时导致滞后尖峰的持久建筑物。
V12 短片
- 增加了新的屋顶类型,”臀部屋顶”。
- 增加了新的屋顶类型,”棚屋”。
- 增加了庭院。
- 增加了自由形式的单一建筑,让您自由决定建筑的足迹使用样条点,实验特征。
- 添加了”异步?”和”AsyncFast?”这减少了运行时生成时的滞后。
- 持久性建筑物现在具有持久性程序网格体。
- “PerBuildingProceduralMeshes”现已弃用,所有建筑物现在都是自己的实体,即它们有自己的HISMs和过程网格组件。
- 随机的建筑宽度、高度和屋顶倾斜高度现在被浓缩成一个变量.
- 增加了选项”AutoAlignSplinePoints”,打开或关闭自动地形调整。
- 重新设计了屋顶瓦配方,现在应该更干净(仍然不完美)。
- 增加了”RoofTileAngle”,它可以让你微调瓷砖的角度。
- 添加了”RoofTileApexZOffset”,它允许您上下偏移顶点瓷砖。
- 增加了山墙屋顶的中间顶点瓷砖.
- 添加了”RoofTileCastShadow”,可打开或关闭屋顶瓦片的阴影铸造。
- 修正了导致随机人行道材料无法工作的错误.
- 修复了在”RemoveSomeStreetLights”活动时导致路灯不产卵的错误。
- 修正了在斜坡上建造时导致角柱无法到达地面的错误.
评论(0)