2017-08-18 10 views
5

मेरे पास SCNLight है SCNLightTypeDirectional के साथ। जब दृश्य प्रस्तुत किया जाता है, मॉडल खुद पर छाया डालता है और यह मुझे उम्मीद नहीं थी। मॉडल की छाया को अपने आप कैसे बाहर निकालें?मॉडल की छाया को अपने आप कैसे बाहर निकालना है?

या छाया किनारे को कैसे सुचारू बनाना है? यह अब बहुत अप्राकृतिक दिखता है।

परिदृश्य नहीं है: enter image description here

उत्तर

2

ठीक है, मैं नुकसान लेकिन कुछ महत्वपूर्ण जानकारी इस लक्ष्य को हासिल करने के लिए एक आसान तरीका लगता है।

सामग्री के प्रकाश मॉडल को SCNLightingModelConstant पर बदलें और अपने SCNLight की प्रकाश गणना से मॉडल को बाहर करें।

1. सेट प्रकाश मॉडल

SCNLightingModelConstant केवल लकीर खींचने की क्रिया के लिए व्यापक प्रकाश समझते हैं, इसलिए हम परिवेश रोशनी की जरूरत मॉडल दिखाई रखने के लिए।

model.geometry.materials.firstObject.lightingModelName = SCNLightingModelConstant; 

2. सेट मॉडल की श्रेणी बिट मुखौटा और रोशनी

model.categoryBitMask = 1; 
directionalLight.categoryBitMask = ~1UL; 

तो बिटवाइज़ की और categoryBitMask के परिणाम शून्य है, नोड नहीं विचार प्रकाश रोशनी में कोई आत्म ले जाएगा, तो वहाँ छाया अब और छाया का छाया मॉडल अभी भी दृश्य में रहेगा।

संबंधित मुद्दे