三 维 与 空 间

两个案例,两条不同的技术路线:一座按古建开间制程序化生成的殿宇, 一套受「零拆改」硬约束推进的住宅空间设计。 共同点是——尺寸、贴图、渲染参数都可追溯,改一个常量就能重建。

2完整案例
49图版与过程稿
20,600古建模型三角面
0.93MB · 模型终包体积
11住宅空间成品图
圣母殿 · 正立面
圣母殿 · 正立面
圣母殿 · 斜视
圣母殿 · 重檐与副阶
A2 住宅 · 客厅
A2 住宅 · 客厅
A2 住宅 · 3D 交互模型俯瞰
可交互 · 全屋俯瞰
01Case A · 古建程序化建模
Procedural Architecture

圣母殿 重檐歇山顶 · 面阔七间

载体是微信小程序的 xr-frame AR 场景,要求在移动端即时加载—— 这决定了整个技术路线:不能雕细节,只能建结构,用模数驱动几何、 用程序化贴图承载纹样,把明暗烘焙进贴图以省掉实时光照。

A-1

形制与规格

形制依照宋《营造法式》语汇
圣母殿 · 侧立面
侧立面 — 副阶周匝,屋檐起翘与举折关系清晰
圣母殿 · 近景
近景 — 前廊盘龙柱与匾额细节
结构重檐歇山顶 / 副阶周匝 开间面阔七间 · 进深六间 柱列前廊八根盘龙柱 面数20,600 三角面 顶点41,212 顶点 / 25 网格 体积0.93 MB
A-2

程序化贴图

Python 生成,非素材下载

全部贴图由 make_textures.py 程序生成——屋面瓦垄、木构梁枋,连同墙体粉刷、 台基石材、盘龙柱、匾额文字共六张,全部按尺寸与纹样规则算出, 改一个参数即全部重出。这是"可复现"的前提:资产来自代码,不来自手工挑选。 此处取纹理规律性最强的两张作代表,其余不另列。

屋面贴图
屋面 · 1024² · 瓦垄阵列
木构贴图
木构 · 1024² · 梁枋纹理
A-3

移动端交付的工程约束

0.93 MB 是怎么来的
01

网格压缩

Draco 几何压缩 level 10,在移动端解码开销与体积之间取的平衡点。 原始 GLB 5.4 MB → 压缩后进入 1 MB 区间。

02

贴图压缩

KTX2 / ETC1S(KHR_texture_basisu),GPU 可直接采样, 省掉解码成位图的内存峰值——这是移动端最容易被忽略的一笔。

03

光照烘焙

明暗与阴影全部烘进贴图,不依赖实时光照。 代价是视角变化时不会重新计算,收益是零光照开销。

最终 950,984 字节,25 个部件、20,600 三角面。 坐标已归零——地面 Y=0、XZ 居中、正面朝 −Z,导入即用,不需要在场景里手动摆位。

02Case B · 住宅空间设计
Residential Spatial Design

A2 西边户 107.91㎡ · 三居 · 零拆改

这个项目的价值不在渲染得多好看,而在于约束有多硬: 所有墙体不能敲(含门洞位置不动),常住两人、每天做饭、需要在家办公、 还要一个能兼顾影音与健身的多功能空间。全部设计动作只能在这个框里做。

A2 西边户 3D 交互模型 · 轴测视图

真实可交互三维模型:7 个预设视角(轴测 / 俯瞰 / 客厅 / 主卧 / 书房 / 洗衣房 / 玄关),点击任意房间可看面积与做法。

俯瞰视图
俯瞰 · 全屋格局
客厅视图
客厅 · 17.3㎡
主卧视图
主卧 · 14.2㎡
轴测视图
轴测 · 结构与动线
B-1

先诊断,再设计

动线 · 尺度 · 采光 · 收纳 · 水电

上手没有直接画方案,而是先做了一轮体检:动线诊断、空间尺度核算、 采光通风评估、收纳与家务量评估、水电与智能预留。 找出三个 P0 硬伤之后,才谈风格。顺序反了,后面所有美学动作都是白费。

原始户型还原
原始户型还原
动线诊断
动线诊断 · 现状
零拆改动线优化
动线优化 · 零拆改
P0硬伤改造
P0 硬伤改造方案
空间尺度体检
空间尺度体检
采光通风体检
采光通风体检
收纳家务体检
收纳与家务量
水电智能预留
水电与智能预留
B-2

从白模到成品

结构控制 → 材质 → 后处理

渲染走的是三段式:先生成白模校几何(尺寸错了后面全废), 再导出结构控制图作为图生图的骨架约束,最后做材质与光。 这一步的作用是:让 AI 出图时守住结构,而不是重新发明空间。 (完整管线为白模 / 深度 / 线稿三态;深度图为单通道数据、视觉近全黑, 仅作 ControlNet 输入,不在此展示。)

结构控制 · 白模
结构控制 · 白模(骨架基调)
结构控制 · 线稿
结构控制 · 线稿(轮廓约束)
客厅白模底图
室内白模底图 · 客厅
全屋轴测白模
全屋轴测白模 · 校核整体几何
B-3

照片级成品

Blender Cycles · 1920×1440 · 160 spp

十一个空间逐一渲染。风格定在奶油中古:米白打底、浅奶咖橡木、胡桃点缀, 暖黄基调,跳色控制在极小面积。渲染完成后统一过后处理—— 色调、微光晕、暗角、颗粒,模拟手机相机的观感,而不是干涩的纯净渲染图。

客厅
客厅 — 17.3㎡
餐厅
餐厅 — 7.4㎡
厨房
厨房 — 5.7㎡
主卧
主卧 — 14.2㎡
玄关
玄关
次卧
次卧
功能房
功能房
主卫
主卫
公卫
公卫
走廊
走廊
阳台
阳台
03Alternatives & Details
Design Options

方案比选 一厅五解

客厅是全屋唯一有腾挪余量的空间,所以把它拆成五个方向各做一版: 家庭书坊、影音休闲、东方茶室、亲子成长、留白灵活。 每一版都推翻重算了收纳与动线,最后取其中两版的融合。

方案A 家庭书坊
A 家庭书坊
方案B 影音休闲
B 影音休闲
方案C 东方茶室
C 东方茶室
方案D 亲子成长
D 亲子成长
方案E 留白灵活
E 留白灵活
客厅详图
客厅 · 平面详图
主卧详图
主卧 · 平面详图
厨房详图
厨房 · 平面详图
餐厅详图
餐厅 · 平面详图
阳台详图
阳台 · 平面详图
04Method · 过程纪律
Engineering Discipline

模型之外 可复现的部分

两个案例的共同点:都不是"一次性做出个好看的模型",而是把过程变成可以重跑的流程。 这一节讲的是过程中真正花时间的地方——校验、作废、重建。

C-1

版本演进:两次作废之后才定稿

住宅项目 · V1 → V5
版本做了什么结果
V1 基于 Blender 渲染模型几何做改造 作废 — 几何基准错误,西区北墙坐标错位 1.66 m
V2 基于原始底图做「主卧套房化」,拆墙 + 封门 + 开传菜口 作废 — 违反「零拆改」硬约束
V3.3 以销售原始底图为唯一几何基准,房间定位定格 定案 — 后续所有版本的地基
V4.2 / V4.3 三维交互模型 + 影视渲染首版 可用
V4.5 照片级渲染管线 可用
V5 按底图反解重建几何 + 真实家具 + 量光影调 现行版本,本作品集所有成品图来源

两次作废是本项目最重要的部分。 V1 的错在于拿渲染模型当真几何——渲染看着对,不等于坐标对; V2 的错在于方案本身违规,做得再好看也不能要。 后来立了一条铁律:所有户型、动线、改造分析一律以销售原始底图为唯一基准, 渲染模型只当出图工具,不当测量依据。

C-2

四条贯穿两个案例的纪律

几何 · 资产 · 参数 · 交付
01

几何要有唯一基准

古建以「开间制」为模数(面阔七间、进深六间),住宅以原始底图为基准。 两者都用一个不可争议的参照锚定尺寸,避免多版本之间漂移。

02

资产来自脚本,不来自手选

古建的六张贴图全部由 Python 生成;住宅的动线方案图由脚本绘制。 好处是改一个常量就能全部重出,而不是重新导入导出二十次。

03

参数写死,风格可控

渲染统一 1920×1440 / 160 spp,后处理固定为色调→微光晕→暗角→颗粒四步。 这样十一张成品摆在一起是一套东西,而不是十一个风格。

04

交付看落地条件,不看渲染效果

古建面向移动端,所以压到 0.93 MB、烘焙光照;住宅面向落地施工, 所以给平面详图、门洞台账、窗洞台账。交付物形态由使用场景决定。

建模的价值不在于做出一个好看的图,
而在于下次还能改得动。

作品集说明:本页所有图版均来自实际项目产出,未做美化修饰。 古建模型:Blender 程序化建模 · Cycles 渲染 · Draco + KTX2 压缩。 住宅项目:Blender Cycles 渲染(1920×1440 / 160 spp)+ 脚本后处理; 平面与动线图由 Python 绘制,几何基准为销售原始底图。
两个项目的源文件、脚本与参数均可提供查看。