[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f1u4527ajyho3e":3},{"_id":4,"slug":5,"title":6,"subtitle":7,"kind":8,"cards":9,"tags":57,"categories":58,"source":59,"lang":62,"author":63,"audioState":66,"stats":67,"publishedAt":70,"renderer":71},"6abb3627ca21c797c7e9c075","gpt-6-astra-tripo3d-3d-5314eb2d","用 GPT-6 Astra 和 Tripo3D 做智慧农业 3D 大屏：从调研到可巡检园区全流程实录","上一篇智慧厂房文章写到最后，我留了一个问题：那条从调研、设计、切素材、建模到网页化的链路，换个场景还能跑通吗？","news",[10,12,17,22,27,32,37,42,47,52],{"headline":6,"body":7,"imageUrl":11,"sourceImageUrl":11},"https:\u002F\u002Fp9-xtjj-sign.byteimg.com\u002Ftos-cn-i-73owjymdk6\u002Fccbe4be62a9b44299b04e4de2502c7c7~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg5p-z5p2J:q75.awebp?rk3s=f64ab15b&x-expires=1791246822&x-signature=TaLNCo2oMdFjOkE87%2Bx7GoCOqxw%3D",{"headline":13,"body":14,"imageUrl":15,"images":16},"这次我换成智慧农业。厂房里看设备和分区，农业园区里要看地块、作物、墒情、水肥和当天作业。画面中心也不再是一栋厂房，而是有温室、露地、道路、水体和水肥房的一整片园…","这次我换成智慧农业。厂房里看设备和分区，农业园区里要看地块、作物、墒情、水肥和当天作业。画面中心也不再是一栋厂房，而是有温室、露地、道路、水体和水肥房的一整片园区。看上去只是换了一套素材，做起来才发现，农业场景更容易露馅：树如果浮在地上，玉米像一排黄色棍子，大棚外面漂亮、里面空空的，观众一眼就能看出来。","\u002Fapi\u002Fmedia\u002Fposts\u002Fgpt-6-astra-tripo3d-3d-5314eb2d\u002F1.webp",{"local":15},{"headline":18,"body":19,"imageUrl":20,"images":21},"项目叫 smart-agriculture-3d-dashboard。这篇按真实推进顺序写，从调研、三稿设计、素材拆分、建模小样、整园深化、网页联动，一直写到人…","项目叫 smart-agriculture-3d-dashboard。这篇按真实推进顺序写，从调研、三稿设计、素材拆分、建模小样、整园深化、网页联动，一直写到人物生成、骨骼动画、近景巡检与最后的浏览器验收。我也摘录了几处与 Codex 的实际对话：它们比事后写一条漂亮流程，更能说明每次返工是怎么发生的。屏幕上的业务读数是固定样例，不是现场实时数据。","\u002Fapi\u002Fmedia\u002Fposts\u002Fgpt-6-astra-tripo3d-3d-5314eb2d\u002F2.webp",{"local":20},{"headline":23,"body":24,"imageUrl":25,"images":26},"我没有直接让 GPT-Image-2.5 生成一张“农业科技大屏”。先把使用场景定为农业园区生产管理：园区负责人打开屏幕，要先看到种了什么、种在哪，再看到土壤墒…","我没有直接让 GPT-Image-2.5 生成一张“农业科技大屏”。先把使用场景定为农业园区生产管理：园区负责人打开屏幕，要先看到种了什么、种在哪，再看到土壤墒情有没有值得核实的差异，水肥执行到哪一步，以及今天的农事作业落在哪些地块。调研时查了农业行动计划、FAO 的作物需水资料、农业监测和水肥设备公开说明，也看了农业大屏案例。参考资料用于确定观察对象与解释边界，没有拿别人的图或业务数字直接用。 为了让后续设计有可核对的对象，项目先设定了一个无具体地名的概念园区：12 个种植单元、240 亩，包括 8 个棚区和 4 块露地；种植番茄、黄瓜、甜椒、生菜和甜玉米。这些数字是可复现的设计样例，不是某个真实园区的测绘或生产记录。","\u002Fapi\u002Fmedia\u002Fposts\u002Fgpt-6-astra-tripo3d-3d-5314eb2d\u002F3.webp",{"local":25},{"headline":28,"body":29,"imageUrl":30,"images":31},"数据口径也要提前定。比如 G03 的 20 厘米土壤含水率是 22.4%，同组中位数是 27.1%，差了 4.7","数据口径也要提前定。比如 G03 的 20 厘米土壤含水率是 22.4%，同组中位数是 27.1%，差了 4.7 个百分点。界面可以提示“低于同组中位数”，但不能顺手写成“缺水告警”：没有土壤类型、作物阶段和农艺阈值的现场证据，差异本身不足以支持这个结论。G04 的读数延迟，就标采样时间并退出当次比较。","\u002Fapi\u002Fmedia\u002Fposts\u002Fgpt-6-astra-tripo3d-3d-5314eb2d\u002F4.webp",{"local":30},{"headline":33,"body":34,"imageUrl":35,"images":36},"Brief 之外还做了一份可复算的数据样例：12 块地面积、五种作物分项、24 项作业的 15\u002F6\u002F3 状态，以及 128\u002F160…","Brief 之外还做了一份可复算的数据样例：12 块地面积、五种作物分项、24 项作业的 15\u002F6\u002F3 状态，以及 128\u002F160 立方米用水，都先核对总分关系。后面无论图片、图表还是交互出现相反数字，都能回到这份样例查。真实园区台账、接口和测绘资料没有提供，所以这一步验收的是设计口径与样例算术，不是现场农业诊断。 🍋二、GPT-Image-2.5 出三稿，真实字体把错数修回来","\u002Fapi\u002Fmedia\u002Fposts\u002Fgpt-6-astra-tripo3d-3d-5314eb2d\u002F5.webp",{"local":35},{"headline":38,"body":39,"imageUrl":40,"images":41},"设计阶段做了三个方向：A 是田园生产全景，中央用连续鸟瞰园区串联地块和作业；B 是地块对照研究台，把同作物地块放在共同尺度上比较；C…","设计阶段做了三个方向：A 是田园生产全景，中央用连续鸟瞰园区串联地块和作业；B 是地块对照研究台，把同作物地块放在共同尺度上比较；C 是农事生产日程，让当天作业成为阅读主轴。我选了 A，因为这块大屏需要先建立整园空间关系，再去看某个地块的证据。三稿是不同的信息组织方式，不是同一张图换颜色。 这一步的对话其实很短。我在三稿里选了“A 田园全景”，随后补了一句“真实字体＋程序化图表合成”。","\u002Fapi\u002Fmedia\u002Fposts\u002Fgpt-6-astra-tripo3d-3d-5314eb2d\u002F6.webp",{"local":40},{"headline":43,"body":44,"imageUrl":45,"images":46},"设计稿确定后，我没有把整张图片直接铺在页面上。先做一张可交互的 HTML 审阅页，逐项标出中央物理边界、文字、图表和装饰。点击一个元素，就能查到它在原图里的坐标…","设计稿确定后，我没有把整张图片直接铺在页面上。先做一张可交互的 HTML 审阅页，逐项标出中央物理边界、文字、图表和装饰。点击一个元素，就能查到它在原图里的坐标、属于哪一层、最后落到哪个模型节点或前端组件。项目把画面拆成四类：温室、道路、水体等由三维场景负责；地块边界和选中态由运行时空间层负责；文字和图表由 React、ECharts 负责；标题承托、图标、边框等静态装饰才从设计真源提取。 中央区单独拆出了 12 个种植单元、水肥房、湖面和环境参考。设计图片只作为可见轮廓与材质线索，不能直接当成运行时的三维地形或模型贴图。这一步的验收是在审阅页逐项核对边界和归属，先解决“后面谁来做”这个问题。 🍋四、素材切割与回贴：让 271 个元素都有去向","\u002Fapi\u002Fmedia\u002Fposts\u002Fgpt-6-astra-tripo3d-3d-5314eb2d\u002F7.webp",{"local":45},{"headline":48,"body":49,"imageUrl":50,"images":51},"归属定好后才分批提取天气、作物、标题檐、面板框等静态素材。每一批都记录源区域、透明边缘和文件哈希，切完放回原位比对差异。最后 271…","归属定好后才分批提取天气、作物、标题檐、面板框等静态素材。每一批都记录源区域、透明边缘和文件哈希，切完放回原位比对差异。最后 271 个逻辑元素都有去向；素材包保留 21 份母版，其中 19 份界面源切、1 份中央物理参考、1 份加载海报；真正发布到页面资源目录的是 20 份界面与海报文件。技术检查和逐资产复核通过后，素材才进入 Scaffold 的图片配置。","\u002Fapi\u002Fmedia\u002Fposts\u002Fgpt-6-astra-tripo3d-3d-5314eb2d\u002F8.webp",{"local":50},{"headline":53,"body":54,"imageUrl":55,"images":56},"这个归属表后来很有用。最近我发现“复位视角”按钮周围竟然又冒出一块旧树林背景，排查后确认按钮外框和装饰图本身烘进了景色。定位到素材与组件层，把旧图撤掉，换成半透…","这个归属表后来很有用。最近我发现“复位视角”按钮周围竟然又冒出一块旧树林背景，排查后确认按钮外框和装饰图本身烘进了景色。定位到素材与组件层，把旧图撤掉，换成半透明按钮和矢量图标，三维场景才重新连成一片。一次像素回贴通过，不代表动态场景里永远不会出现旧背景；真正使用时还得复查。 🍋五、先做 Three.js 小样，再让 GPT-6 Astra 通过 Blender MCP 建模 模型阶段也不是一步到位。最早用 Three.js 做了 G03 棚区和水肥房小样，方便快速试轮廓和浏览器灯光。看到中间区域后，我觉得它还是缺少设计图里的园区体量，建筑构造也太像临时几何，于是明确要求改用 Blender MCP。","\u002Fapi\u002Fmedia\u002Fposts\u002Fgpt-6-astra-tripo3d-3d-5314eb2d\u002F9.webp",{"local":55},[],[],{"name":60,"url":61},"Juejin","https:\u002F\u002Fjuejin.cn\u002Fpost\u002F7690497704220196883","zh",{"handle":64,"displayName":65},"spots","Spots",null,{"views":68,"likes":69,"saves":69,"shares":69,"completions":69,"opens":69,"skips":69,"depthSum":69},3,0,"2026-09-29T03:53:11.037Z","local"]