
FloorGenerator 是建筑与室内表现里用得极广的一个 3ds Max 插件(CG-Source 出品),它把一块平面按指定的板宽板长切成一排排地板条,带真实的缝宽、错缝、随机的板长变化,还能生成对应的多重子材质。
它做生成做得很到位,但它只做生成。实际项目里一栋楼有十几个房间、几十块地面,剩下这些事都得手工:
给每一块面加修改器。选中面 → 修改器列表里翻找 FloorGenerator → 加进去 → 设参数。重复几十次。
一块块建。多个房间没有批量方式。
对齐与旋转。地板的方向要跟房间走向一致,得先算好角度再手动输。
二、一键加修改器与单实例拾取
最常用的两个功能:
Add floorgenerator modifier to any object——任何物体上点一下就加上 FloorGenerator 修改器。省掉翻修改器列表的工夫,也省掉「记不清上次用的是哪个修改器名」的困惑。
单实例拾取(instanced picking)——这是针对 3ds Max 的一个老毛病:当一个物体被实例复制到多处,要在某个副本上单独做拾取(pick)操作时,容易出错或者打断实例关系。官方 ChangeLog 里有一条 Fix. Error when selecting instanced nodes,说明这个功能就是为了修这个坑。
为什么这件事重要:一个户型复制到十个楼层,都是实例。你想在其中一层调整某块地板的方向,正常操作很可能顺手把所有楼层全改了,或者反过来把实例关系断掉、之后改不回去。这类问题在大型项目里排查起来非常费劲,因为它不报错——你只是发现「我改的那层变了,别的层没变」或者「全都变了」。
配套还有一个 Select parents(右键点 Select)——选中地板物体后右键,能反查它的父物体(也就是生成它的那块面)。做分层整理或者批量改参数时,这个反查很省事。
还有按 FG 修改器选物体——场景里几十个带 FloorGenerator 的物体,想一次全选,这个功能直接给你。
三、对齐与坐标:几个具体的坑
官方 ChangeLog 里关于对齐与坐标的条目特别多,每一条都对应一个真实踩过的坑:
Align in orthogonal views now uses vector projection method(正交视图里的对齐改用向量投影法)——手动对齐在某两个正交视图里看起来是对的,换到透视图就歪了。这是 3ds Max 里经典的「两个视图对但实际不对」,向量投影是从数学上修掉它。
New. Align X/Y. Specify FloorGen axes manually——可以手动指定 FloorGen 的轴向,也就是告诉工具「你说的 X 是哪个 X」。建筑模型里的物体经常是旋转过的(外墙不平行于世界坐标),自动识别会失败。
New. Create Floorgens in world coords. Ctrl+Click on Create——Ctrl+点 Create 就在世界坐标下创建。做场地铺装、室外地面这类「跟世界坐标走」的场合用得上。
New. Random Local Offset X/Y. Ctrl+Click on Offset buttons——Ctrl+点偏移按钮得到随机的本地偏移。同一种地板铺满几个房间,随机偏移能打散完全一致的排布感。
Fix. Flip Normal modifier now always below FloorGen——法线翻转修改器永远在 FloorGenerator 下面。修改器顺序错了会导致面朝向错误、渲染时地板发黑。这类问题极难肉眼排查,工具直接强制顺序。
Fix. Retriangulate Editable Poly before faces explode / Fix. Explode angle threshold changed from 0.1 to 0.01 degrees——把爆炸角阈值从 0.1 度改到 0.01 度。因为 0.1 度对某些模型太大,会把本该分开的面粘在一起或者把该连的面炸开。
这些条目单独看都是小修,但连起来说明一件事:这个工具的作者在自己做项目时踩过这些坑,然后一条条写进脚本。
四、UV 与贴图:方砖的那个特例
New. Auto UV correction for square bitmaps——对方形贴图自动做 UV 修正。
地板材质通常是一张方砖或木板的贴图。问题在于:FloorGenerator 生成的是按板宽板长切出来的几何,如果板的尺寸与贴图的物理尺寸对不上,贴图会被拉伸——板看起来是 1.2 米长,贴图画的是 2 米长的木板,结果木纹被缩短,纹理密度不对。
UV 修正就是按实际板尺寸去调 UV 缩放,让贴图的纹理密度与真实尺度一致。为什么特别强调「方形贴图」?因为方形贴图(比如 1:1 的方砖)最容易通过计算缩放比例来修,非方形(比如 2:1 的木板贴图)需要额外知道方向信息,规则更复杂。
作者把这一条放在 1.5.x 的新功能里,说明它是后期补上的需求——也就是先有用户抱怨了贴图被拉伸,才加上这个功能。
顺带说个实操建议:做地板时先确定贴图的真实尺寸(这张图代表多大范围),再设 FloorGenerator 的板宽板长。反过来做(先切板再找贴图)几乎一定会有拉伸。
五、安全阀与容错
几个看起来不是功能、实际很重要的条目:
Fix. Undeclared variable error if FloorGenerator plugin is not installed / Fix. GetPropNames error if FloorGenerator plugin is not installed——插件没装的时候不再报错。这意味着脚本会在启动时检查依赖,没装就安静降级,而不是让 3ds Max 弹出一堆 MAXScript 错误。
New. Warning message if mesh was breaked to 1000 elements or more——如果网格被炸成 1000 个以上元素就警告。为什么?因为 FloorGenerator 会把一块面切成很多独立的板,一个大地面上万块板,场景会变得极重。这个警告是在提醒「你确定要这么大吗」。
New. Wait cursor while creating FloorGen objects——创建时显示等待光标。大场景创建要几秒到几十秒,没有光标反馈用户会以为卡死了、然后重复点击、然后生成两份。
Fix. FloorGenerator missing plugin error——又是一个缺插件时的容错。
Fix. MinRowOffset error in old FloorGenerator versions——兼容老版本的 FloorGenerator。这条说明作者在维护老用户,而不是只支持最新版。
Fix. Error creating FloorGen from opened Splines or empty Meshes / Fix. Error when selecting instanced nodes——都是「某些输入类型导致报错」的修复。
从这些条目能看出来这个工具的开发历史:先做功能,然后被各种边界情况打回来,一条条补。到 1.5.8 这版,容错已经相当完整。
六、版本与购买
官方商店页当前版本是 1.5.9,本包是 1.5.8。
差别在哪?官方 ChangeLog 里能看到 —— [1.5.8] – 2025.12 Fix. Startup error introduced in 1.5.7。也就是说 1.5.8 本身就是一次修复版(修 1.5.7 引入的启动错误)。1.5.9 的改动官方页面上没有单独列出(页面上的 ChangeLog 最后一条就是 1.5.8),所以本包落后一个小版本,但具体差哪一项修复无法确认——不猜。
价格是 $8。这个定价在 3ds Max 脚本里属于典型的「小工具价」——不贵,解决的问题具体。它甚至是「需要另一个插件才能用」的辅助工具,也就是你得先有 FloorGenerator(免费版也行)。
这里必须强调一点,因为很容易误会:FloorGen Tools 不是 FloorGenerator。官方页第一句就写了:FloorGen Tools 3dsMax script is not the Floorgenerator plugin. The script requires plugin to be installed (at least Free version)。
所以装之前要准备好两样:FloorGenerator 2 插件(从 CG-Source.com 拿,有免费版),以及这个脚本。
安装方式:手动提一句——需要先装 FloorGenerator 2 Plugin;然后把 FloorGen Tools.mzp 拖进 3dsMax 视口;再到 Customize > Customize User Interface > Toolbars > Category「Nik Scripts」里把按钮拖出来。
作者署名 Nik Scripts,域名 hqdetails.com——一个人在做的商业脚本。
七、包内实际内容
本包 1 个文件,62,382 字节:FloorGen_Tools_1.5.8/FloorGen Tools 1.5.8.mzp。
解压 mzp 后共 18 项,其中实质内容:
install.ms(7,772 字节)——安装逻辑。
userscripts/NikScripts/FloorGen Tools/FloorGen_Tools.mse(45,206 字节)——主脚本,加密。
Nik Scripts-FloorGenTools.mcr —— 宏脚本,负责注册工具栏按钮。
install_info.ini —— 安装信息。
4 个 usericons .bmp —— 工具栏图标。
总体积 62 KB,纯脚本实现,无 dll 依赖(除了 FloorGenerator 插件本身)。
需要如实说明三点:
一,官方页面的 ChangeLog 只列到 1.5.8,最新的 1.5.9 没有更新说明,所以本页只写了「落后一个小版本」,不猜具体差异。
二,本工具强依赖 FloorGenerator 插件,单独装它不会产生任何效果。本站发布的是脚本本体,不含 FloorGenerator(那是另一个作者的商业插件,官方渠道在 CG-Source.com)。
三,功能描述中的参数名与行为,均取自官方页的 ChangeLog 条目与官方功能列表,不是从加密脚本里反推的(主脚本是编译过的 .mse,读不出源码)。
原产品页:http://hqdetails.com/shop/floorgen-tools
封面图片来自作者官方产品页。本文为中文整理,功能与兼容性信息以作者官方页面与包内说明为准。资源仅供学习交流,商业使用请购买正版授权。















暂无评论内容