4DFOF,JUͰ;ΜΘΓͨ͠ӨΛ࡞ΔQPUBUPUJQT
View Slide
ϥΠϒ৴ΞϓϦ1PDPDIBIUUQTNFEJVNDPNQPDPDIBFOHJOFFSJOH
OPQQF!OPQQFGPYXPMG!1PDPDIBJ04ΤϯδχΞ"͖ͭͶ͔Θ͍͍#J04%$ͰඳըपΓͷΛͨ͠$࠷ۙ"3ʹڵຯ͋ΓϥΠϒ৴ΞϓϦ
J04͔ΒVTE[ΛαϙʔτVTE["QQMFͱ1JYFSͰڞಉ։ൃͨ͠%ϑΝΠϧϑΥʔϚοτ
'JMFͰϓϨϏϡʔ"3ஔՄೳ
'JMFͷϓϨϏϡʔͷӨʹ
88%$Ͱ$POUBDU4IBEPXͱදݱIUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED UJNF
$POUBDU4IBEPXʢ৮ӨʣͱײɾॏͳΓײΛग़ͨ͢ΊͷͷIUUQTUXJUUFSDPNVOSFBMFOHJOFKQTUBUVT
$POUBDU4IBEPXͬͯΈ͍ͨʂ
4DFOF,JUͰӨΛ͚ͭͯΈΔw 4$/-JHIUͷDBTUT4IBEPXΛ0/ʹ͢Δw EJSFDUJPOBM͔ɺTQPUλΠϓΛ͏IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTDFOFLJUTDOMJHIUDBTUTTIBEPX
// ΦϒδΣΫτlet scene = SCNScene(named: "stratocaster.scn")!// ϥΠτlet light = SCNLight()light.type = .directionallight.castsShadow = truelet lightNode = SCNNode()lightNode.light = light// চlet floor = SCNFloor()...
4$/-JHIUͰ͖ͬΓͨ͠Өʹͳͬͯ͠·͏ɻ
ҰԠ4IEBPX3BEJVT͋Δ͕ɺϘΧ͠ํ͕ࡶlightNode.light!.shadowRadius = 16lightNode.light!.shadowSampleCount = 16
άά͍ͬͯΔͱɺήʔϜͷهࣄ͕ώοτIUUQCMPHTJNPOSPESJHVF[GSBSUJDMFTBGFXTDOUFDIOJRVFFYBNQMFTIUNM
TDSFFOTQBDFBNCJFOUPDDMVTJPOମ͕ۙͯ͠ڱ͘ͳͬͨͱ͜Ζ෦ͷ۱ͳͲʹɺपғͷޫʢڥޫʣ͕ःΒΕΔ͜ͱʹΑͬͯӨ͕ݱΕΔݱΛΞϯϏΤϯτɾΦΫϧʔδϣϯʢڥःṭڥด࠹ɺӳBNCJFOUPDDMVTJPOʣͱݺͿɻ44"0%ը໘ͷϨϯμϦϯά݁ՌʹޙॲཧΛ͔͚ΔϙετΤϑΣΫτͷҰछͰ͋ΓɺٖࣅతͳϨϯμϦϯά݁ՌʹՃ͢ΔͷͰ͋ΔɻIUUQTKBXJLJQFEJBPSHXJLJ44"0
44"0camera?.screenSpaceAmbientOcclusionIntensity = 5camera?.screenSpaceAmbientOcclusionNormalThreshold = 0.1camera?.screenSpaceAmbientOcclusionDepthThreshold = 0.08camera?.screenSpaceAmbientOcclusionBias = 0.33camera?.screenSpaceAmbientOcclusionRadius = 3.0
໘Ҏ֎ͷՕॴͷӨ͋Δ
;ΜΘΓͨ͠ӨࣗલͰඳը͠ͳ͍ͱμϝͦ͏
4$/5FDIOJRVFw ϚϧνύεϨϯμϦϯάͷͨΊͷΫϥεը໘̍ճͷߋ৽ͷؒʹɺҟͳΔγʔϯΛෳճϨϯμϦϯάͯ͠߹ͨ݁͠ՌΛදࣔ͢Δػೳɻ.FUBM0QFO(-&4ͰγΣʔμΛॻ͘ࣄ͕ग़དྷΔɻೖྗʹγʔϯͷ৭ใਂใ͕͑Δ
ͬͯΈͨΧϝϥΛೋͭஔͯ͠ɺԼ͔ΒͷೖྗΛਂʹมͯ͠ϒϥʔΛ͔͚Δɻ
IUUQCMPHTJNPOSPESJHVF[GSBSUJDMFTBGFXTDOUFDIOJRVFFYBNQMFTIUNM
Ө͚ͩ࡞ͬͯΈͨw Α͘ΈΔͱϞΞϨʢࣶ༷ʣ͕ʜw ͦͦΧϝϥஔ͘ͷʜw γΣʔμਅ໘ʹॻ͜͏ͱ͢ΔͱαΫοͱग़དྷͳͦ͏
ସҊΛ୳͢
HPCP4$/-JHIUͷӨΛࣗલͷը૾Ͱඳը͢ΔػೳӨΛൃࣹ͢ΔϥΠτϦΞϧλΠϜͰߋ৽ग़དྷͳ͍
HPCPw 4$/5FDIOJRVFͰਂը૾ʹมw 4$/7JFXͷTOBQTIPUͰ6**NBHFΛऔಘw $*'JMUFSͰϒϥʔΛ͔͚Δw 4$/-JHIUͷHPCPʹը૾Ληοτ
݁Ռ
՝w Өͷೱ୶ͳͲ·ͩ'JMFͷදݱʹୡ͍ͯ͠ͳ͍w 4$/5FDIOJRVFͰશͯ݁ग़དྷΔ͔w TIBEFS.PEJpFSTͰϥΠςΟϯάγΣʔμ͕࿔ΕΔ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ