As this thread在蘋果論壇上提到,iOS 10的燈光現在變弱了,並改變了場景的外觀。SceneKit:如何在不禁用PBR的情況下在iOS 10上重現iOS 9照明色彩效果(單向,一個環境)?
該線程建議將SCNDisableLinearSpaceRendering
設置爲YES,但這不起作用。換句話說,使用SCNDisableLinearSpaceRendering
不會讓你的場景在iOS 10上看起來與iOS 9相同 - 至少在我們的測試中不是這樣。
我們也嘗試:
下面floorNode.geometry?.firstMaterial?.lightingModel = SCNMaterial.LightingModel.blinn
截圖顯示了相同的場景之間的差異。注意即使照明是相同的,地板從綠色變爲黃色也是如此。
場景包含一個方向燈和一個環境光。
複製場景文件:https://www.dropbox.com/sh/cg5f7hyf1oonxfu/AAAJef7LhpSxuJyUSjqfGbmca?dl=0。
即使它確實起作用,將SCNDisableLinearSpaceRendering
設置爲YES似乎禁用了PBR。
我們的應用程序可讓用戶自定義指示燈的顏色。目標是在利用PBR的同時,在iOS 10場景中再現iOS 9場景中相同的自定義照明。
1)我們應該如何確保iOS 10場景與iOS 8/9場景看起來相同?
2)如何在從PBR中獲益的同時獲得#1?
iOS的8/9(在模擬器上運行):
iOS的10(用戶設備上運行):
爲了將它設置爲YES,我的SceneKit遊戲看起來與iOS 9完全相同。也許您遇到了該屬性的錯誤或某種邊緣問題,而不是它沒有做到您需要的東西? – Nerrolken
@Nerrolken你使用了什麼類型的燈?我們只有一個環境光和一個方向燈。也許我們設置不正確?你只是從plist中設置它?你有做別的嗎? – Crashalot
對我來說,只有一個Omni,週期性出現的Ambient。是的,我只是把它放在PList中,現在恢復正常了。當你設置該屬性時,你的設置是否改變? – Nerrolken