聚焦物聯網領域的3D開發軟件,3D效果的描繪對象包括建築、實景和室內、設備,面向的用戶大致分為(1)非3D專業設計師、(2)建築設計師和(3)轉3D開發的前端工程師,不同群體的需求層次不一樣,而不同的群體,因為技術的側重點有區別,大致會選擇以下三大工具:
做這一行的都知道,選擇工具需謹慎,因為會存在模型數據格式不統一的問題,所以一般要考慮格式轉換,軟件組合必不可少。
3D效果愛好者
大部分非3D專業的設計師會傾向於使用通用3D軟件,用於廣告宣傳或者地圖導航,比如谷歌SketchUp,直接輸出為谷歌地圖,利用GPS追蹤,足以滿足車輛導航等可視化需求。
面向廣告、地圖類的三維建模方法,組合軟件包括SketchUp+3DSMAX,不會開發也不用愁
專業的建築設計師
專業的建築設計師對施工精度要求高,選用的是BIM建築設計為主導的軟件,例如Revit,這是一款專業的BIM設計軟件,支持建築外立面和室內設計。
對於專業建築設計來說,3D效果只是一種表現形態,視不同的情況,有些設計師會使用SketchUp轉lumion導出,僅作為演示效果而已,更多的是外包給效果圖開發商制作。
組合軟件包括AutoCAD+Revit+SketchUP,3D效果視不同情況而定。
3D建築拔高
轉3D的前端工程師
轉3D開發的前端人,基本上身兼多能,具備審美能力、前端開發能力和3D效果設計能力! 如果是技術愛好者,可以深入研究three.js開發技術,如果是項目開發團隊,推薦使用ThingJS,一款基於webGL的3D封裝庫,把你從百行代碼的絕望感中解放出來。
組合軟件包括AutoCAD+ThingJS平台組件,支持40多種格式導入,包括3DSMAX精模。
ThingJS:管線應用的3D效果開發
ThingJS的開發用戶會直接導入管線的3D模型,基於以下官方示例創建管線的參數,加入3D開發效果,包括切換線貼圖、啟動UV動畫和攝像機坐標設置,最終看到的是一個流動的管線效果動畫,直接在示例代碼上調整參數,即可。
/**
* 說明:管線應用
*/
var app = new THING.App({});
// 隨機管線連接點
function randomPoints() {
var points = [[0, 0, 0]];
var oldType = 2;
for (var i = 0; i < 50; i++) {
var old = points[points.length - 1];
var type = Math.floor(Math.random() * 100) % 3;
while (oldType == type) {
type = Math.floor(Math.random() * 100) % 3;
}
oldType = type;
var offset = (Math.random() * 2 + 1) * (Math.random() > 0.5 ? 1 : -1);
points.push([
type === 0 ? (old[0] + offset) : old[0],
type === 1 ? (old[1] + offset) : old[1],
type === 2 ? (old[2] + offset) : old[2],
]);
}
return points;
}
// 布置管線
var line = null;
var lineIdx = 1;
function build() {
// 刪除原管線
if (line) { line.destroy(); }
// 創建管線
line = app.create({
type: 'PolygonLine',
points: randomPoints(),
width: 0.2,
style: {
image: 'https://thingjs.com/static/images/poly_line_0' + lineIdx + '.png', // 管線中的紋理資源
}
});
// 切換線貼圖
if (lineIdx < 4) { lineIdx++; }
else { lineIdx = 1; }
// 開啟 UV 動畫
line.scrollUV = true;
// 設置最適合的攝像機觀察位置
app.camera.fit();
}
build();
new THING.widget.Button('重新布置', build);
此外,還有上萬個組件模型可以參考,利用資源中心>>擴充你的3D制作能力。
模型資源