1、立项背景和目标
这是一个面向定制柜体/模块化收纳家具场景的 3D 配置系统,核心目标是让用户通过可视化方式快速完成柜体组合、尺寸搭配和结构预览,降低传统定制过程中沟通成本高、出图慢、反复确认效率低的问题。项目希望通过“参数选择 + 模块拼装 + 三维预览”的方式,把原本依赖人工沟通的配置流程产品化,提升方案确认效率,并为后续下单、报价或生产对接打基础。
2、软件功能、核心功能模块的介绍
(1)结构配置模块:支持按深度、高度、宽度等维度选择柜体参数,界面中可直接切换不同尺寸规格。
(2)元素组合模块:支持选择不同结构元素进行拼装,视频里可以看到用户不断增加和调整柜体模块,形成多层组合方案。
(3)脚垫/滚轮配置模块:支持底部配件切换,如脚垫、滚轮等,满足不同落地场景。
(4)颜色配置模块:界面中存在“结构/颜色”切换标签,说明系统支持柜体外观颜色或材质配置。
(5)三维实时预览模块:每次参数或结构调整后,右侧 3D 区域会实时刷新展示组合效果,并显示关键尺寸。
(6)方案可视化表达模块:通过尺寸标注、模块高亮、组合层级展示,让用户更直观看到最终结构方案。
3、业务流程、功能路径描述
整体业务流程可概括为:先选择基础结构参数,再逐步增加柜体模块,随后调整配件和外观,最后生成完整方案。功能路径上一般是:进入配置页面后,先在左侧选择深度、高度、宽度等基础规格,再从结构元素中选择对应模块加入场景中,系统会在右侧实时展示组合结果;用户可继续调整不同柜体的位置与层级关系,必要时切换脚垫或滚轮等底部配件,并可进一步切换颜色或材质方案;最终得到一套可视化的柜体组合结果,为后续确认、报价或生产提供依据。
1、整体架构和设计思路,不同模块使用的技术栈
项目采用 C# + Unity 的技术栈实现,整体设计思路是“配置数据驱动 + 三维场景实时渲染 + 模块化组合规则”。Unity 主要负责三维模型加载、场景渲染、相机控制、交互反馈和尺寸可视化展示,C# 主要负责业务逻辑、配置数据管理、模块组合规则、参数联动和界面事件处理。系统整体可分为四层:第一层是 UI 交互层,负责深度、高度、宽度、颜色、脚垫/滚轮、结构模块等参数选择;第二层是配置逻辑层,负责根据用户选择计算柜体组合关系、尺寸数据和摆放规则;第三层是模型渲染层,负责把配置结果转换为 Unity 场景中的三维对象并实时刷新;第四层是数据管理层,负责配置方案、模型资源、参数字典和结构规则的统一管理。整个项目核心并不是单纯做一个三维展示界面,而是通过 C# 把参数系统、组合规则和 Unity 场景联动起来,让用户每次调整配置后都能实时看到正确的三维效果。
2、负责模块和结果(尽可能量化)
具体包括:使用 C# 完成柜体尺寸、模块元素、底部配件、颜色材质等配置逻辑开发;在 Unity 中完成三维模型加载、节点组合、位置计算、相机视角展示和场景刷新;同时参与配置数据结构设计,使不同规格和结构模块能够通过统一规则进行组合和渲染。项目中我独立完成了核心配置链路的大部分开发工作,覆盖从参数选择到 3D 展示的主流程;实现了尺寸切换、模块叠加、脚垫/滚轮切换、颜色切换、三维实时预览等核心能力;将原本依赖人工沟通和静态出图的方案确认方式,升级为可交互、可实时预览的 3D 配置系统,明显提升了方案展示效率和客户确认效率。
3、“我”遇到的难点、坑,和解决方案
项目中最大的难点是配置参数和三维模型之间的实时联动。用户在界面中修改宽度、高度、深度或者新增结构模块后,Unity 场景中的模型必须同步更新,并且要保证位置、层级和尺寸关系都正确。如果直接写死对象关系,后续扩展会非常困难。我当时的解决方案是先用 C# 抽象出统一的配置数据结构,把每个柜体模块定义为包含尺寸、位置、类型、父子关系、材质等属性的数据对象,再通过一套组合规则动态生成和刷新 Unity 场景中的模型节点,这样就把业务逻辑和场景展示解耦了