SceneKit - 讓模型自適應(yīng)真實(shí)環(huán)境光照的正確姿勢

本節(jié)學(xué)習(xí)目標(biāo)

1.如何檢測到真實(shí)環(huán)境中光照的亮度值
2.如何讓游戲場景中的光照匹配這個真實(shí)光照

效果如下


gif6.gif

我們認(rèn)識一下ARSCNViewDelegate 它是繼承SCNSceneRendererDelegate, ARSessionObserver

那我們本節(jié)的第一個問題 如何檢測到真實(shí)環(huán)境的光照值呢,就是在SCNSceneRendererDelegate 這個協(xié)議里

func session(_ session: ARSession, didUpdate frame: ARFrame) {
       // 環(huán)境光照的強(qiáng)度  強(qiáng)度低于2000
      frame.lightEstimate?.ambientIntensity
      // 環(huán)境色溫掀虎?取值在6000左右
      frame.lightEstimate?.ambientColorTemperature
}

名詞解釋

環(huán)境色溫:色溫是指絕對黑體從絕對溫度(-273℃)開始加溫后所呈現(xiàn)的顏色

以上真實(shí)環(huán)境光照的值需要根據(jù)實(shí)際項(xiàng)目的需要進(jìn)行測量,下面問題來了怎么開啟環(huán)境光照評估呢?

    // 第一步 設(shè)置代理
     sceneView.delegate = self  
    let configuration = ARWorldTrackingConfiguration()
    // 第二 開啟光照評估
    configuration.isLightEstimationEnabled = true
    sceneView.session.run(configuration)

完成上面兩步就能檢測到真實(shí)的光源了信息

下面我們開始第二問題 .如何讓游戲場景中的光照匹配這個真實(shí)光照

首先先關(guān)閉自動更新燈光選項(xiàng),不啟用默認(rèn)的燈光

 sceneView.automaticallyUpdatesLighting = false
 sceneView.autoenablesDefaultLighting = false

第二步 自定義燈光 親測環(huán)境光類型沒有效果,我們改用方向光代替,上下各加一個方向光

    // 方向朝下的方向光
    directional1.light = SCNLight()
    directional1.light?.type = .ambient
    directional1.light?.intensity = 65
    directional1.light?.zNear = 0
    directional1.position = SCNVector3Make(0, 0, 30)
    directional1.rotation = SCNVector4Make(-1, 0, 0, Float.pi/2.0);
    sceneView.scene.rootNode.addChildNode(directional1)
    // 方向朝上的方向光
    directional2.light = SCNLight()
    directional2.light?.type = .directional
    directional2.light?.zNear = 0
    directional2.position = SCNVector3Make(0, 0, 30)
    directional2.rotation = SCNVector4Make(1, 0, 0, Float.pi/2.0);
    sceneView.scene.rootNode.addChildNode(directional2)

下面就是根據(jù)真實(shí)的環(huán)境光修改場景中這兩個燈光值

    self.directional1.light?.intensity = (frame.lightEstimate?.ambientIntensity)!
    self.directional1.light?.temperature =  (frame.lightEstimate?.ambientColorTemperature)!
    self.directional2.light?.intensity = (frame.lightEstimate?.ambientIntensity)!
    self.directional2.light?.temperature =  (frame.lightEstimate?.ambientColorTemperature)!

分享最前沿的技術(shù),助你成功!

我的博客即將搬運(yùn)同步至騰訊云+社區(qū)驰怎,邀請大家一同入駐:https://cloud.tencent.com/developer/support-plan?invite_code=3i4a1yo68wsg0

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末二打,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子继效,更是在濱河造成了極大的恐慌,老刑警劉巖瑞信,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凡简,死亡現(xiàn)場離奇詭異,居然都是意外死亡秤涩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門挖函,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人怨喘,你說我怎么就攤上這事”亓” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵暖途,是天一觀的道長膏执。 經(jīng)常有香客問我,道長更米,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任迟几,我火速辦了婚禮,結(jié)果婚禮上类腮,老公的妹妹穿的比我還像新娘蛉加。我一直安慰自己蚜枢,他們只是感情好七婴,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布打厘。 她就那樣靜靜地躺著修肠,像睡著了一般户盯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上莽鸭,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天硫眨,我揣著相機(jī)與錄音足淆,去河邊找鬼。 笑死族奢,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的越走。 我是一名探鬼主播靠欢,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼门怪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起秧廉,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤拣帽,失蹤者是張志新(化名)和其女友劉穎嚼锄,沒想到半個月后减拭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體区丑,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年可霎,在試婚紗的時候發(fā)現(xiàn)自己被綠了宴杀。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡旷余,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出正卧,到底是詐尸還是另有隱情跪解,我是刑警寧澤炉旷,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站饥追,受9級特大地震影響抽高,放射性物質(zhì)發(fā)生泄漏判耕。R本人自食惡果不足惜翘骂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望草丧。 院中可真熱鬧,春花似錦昌执、人聲如沸诈泼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至瓮孙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間杭抠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工丹诀, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留菩混,地道東北人忿墅。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓疚脐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親棍弄。 傳聞我的和親對象是個殘疾皇子望薄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容