ThingJS如何開發3D光源呢?僅需配置-開發-運行三個步驟,不到40行代碼

具備表明性的天然光是太陽光,人工光幾乎能夠是任何形式。ThingJS如何開發3D光源呢?很簡單。 燈光有助於表達一種情感,或引導觀衆的目光看向具體的位置。燈光可以反映一種基調,對整個圖像的外觀相當重要。下面教你關於打燈光的技巧,以及輕便的開發方法。
ThingJS提供一套操做簡便的燈光配置項,只要配置結束後,記得點擊生成代碼塊並執行,一套完整的初級燈光效果就出來了。
app

主燈光

主燈光對象是對主光源的控制代碼,可設置的變量包括陰影、顏色、強度和打燈角度。主光源一般放在四分之三的位置上,位置是從物體的正面轉45度,並從中心線向上轉45度。夜晚的場景很適用於單一的主光源,沒有其餘的天然光,其餘的地方黑得不見五指,這正符合單一條件的主光源效果。 url

環境光

在主燈光對象以前,還有對環境光、半球光照的配置。這兩種光源均是自然漫反射的光線,在天然環境中這是一種天然的光亮,不至於讓整個環境置於黑箱之中。環境光可以提升整個場景的亮度。半球光照特意用來補充地面或建築角落裏的光線,柔化陰影或減小陰影區域,符合物聯網可視化場景的需求。code

背景光

第二光源對象也須要設置具體的位置和發光對象的顏色,做爲主光源的一種補充光源,感受會更加逼真。事實上,天然的光線不多隻有一種光線照明,而是多種顏色的燈光組合,提供一種景深的感受。
在3DMAX中打燈是一個複雜的技巧,真正學會操做很費時間,相對來講ThingJS就輕量不少,經過提供場景燈光的配置選項,再生成代碼塊,方便開發人員迅速掌握,層次效果更豐富。
場景燈光經過app.lighting屬性設置,難度一星,代碼示例以下。對象

var app = new THING.App({  
    url: 'https://www.thingjs.com/static/models/chinesehouse'  
});

app.on('load', function (ev) {  
    app.camera.position = \[18.217000353088125, 16.96513529990897, 11.90387798709408\];  
    app.camera.target = \[-0.92, 2.1, 2.7\];  
})

// 環境光對象  
var ambientLight = {  
    intensity: 0.4,  
    color: '#FFFFFF',  
};  
// 半球光照  
var hemisphereLight = {  
    intensity: 0.5,  
    color: '#FFFFFF',  
    groundColor: '#202020',  
};  
// 主燈光對象  
var mainLight = {  
    shadow: true,  
    intensity: 0.6,  
    color: '#FFFFFF',  
    alpha: 120,  
    beta: 0,  
};  
// 第二光源對象  
var secondaryLight = {  
    shadow: false,  
    intensity: 0,  
    color: '#FFFFFF',  
    alpha: 0,  
    beta: 0,  
};  
// 全局配置  
var config = {  
    ambientLight,  
    hemisphereLight,  
    mainLight,  
    secondaryLight  
}

new THING.widget.Button('調整場景燈光', function () {  
    // 設置燈光  
    app.lighting = config;  
})  

```  
僅需配置-開發-運行三個步驟,不到40行代碼,3D開發燈光效果比傳統3D更加輕量!
相關文章
相關標籤/搜索