Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SceneKitでふんわりした影を描画する/potatotips58
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
noppefoxwolf
January 28, 2019
Programming
2k
2
Share
SceneKitでふんわりした影を描画する/potatotips58
noppefoxwolf
January 28, 2019
More Decks by noppefoxwolf
See All by noppefoxwolf
High performance GIF playback/iOSDC25
noppefoxwolf
1
530
Spice up your notifications/try!Swift25
noppefoxwolf
3
810
iOSの隠されたAPIを解明し、開発効率を向上させる方法/iOSDC24
noppefoxwolf
2
1.2k
今から理解するApp Intentエコシステム/WWDC24Recap
noppefoxwolf
0
51
既存アプリをvisionOS対応してリリースした話/visionOS LT vol5
noppefoxwolf
0
220
UIのブラックボックスを探る/iOSDC23
noppefoxwolf
3
4.9k
CoreGraphicsでドット絵を描こう/iOSDC22
noppefoxwolf
0
3.1k
ランタイムデバッグのススメ/iOSDC21
noppefoxwolf
1
5.4k
google/mediapipe で始めるARアプリ開発/iOSDC2020
noppefoxwolf
1
1.7k
Other Decks in Programming
See All in Programming
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
270
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
380
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
790
AIベース静的検査器の偽陽性率を抑える工夫3選
orgachem
PRO
3
130
3分でわかるatama plusのQA/about atama plus QA
atamaplus
0
170
HTML-Aware ERB: The Path to Reactive Rendering @ RubyKaigi 2026, Hakodate, Japan
marcoroth
0
100
Liberating Ruby's Parser from Lexer Hacks
ydah
2
740
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
3
280
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
3k
iOS機能開発のAI環境と起きた変化
ryunakayama
0
180
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
240
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
240
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
110
Producing Creativity
orderedlist
PRO
348
40k
Speed Design
sergeychernyshev
33
1.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
A better future with KSS
kneath
240
18k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
130
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
180
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.6k
Design in an AI World
tapps
0
190
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Transcript
4DFOF,JUͰ;ΜΘΓͨ͠ӨΛ࡞Δ QPUBUPUJQT
ϥΠϒ৴ΞϓϦ1PDPDIB IUUQTNFEJVNDPNQPDPDIBFOHJOFFSJOH
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λΠϓΛ͏ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTDFOFLJUTDOMJHIU DBTUTTIBEPX
// ΦϒδΣΫτ let scene = SCNScene(named: "stratocaster.scn")! // ϥΠτ let
light = SCNLight() light.type = .directional light.castsShadow = true let lightNode = SCNNode() lightNode.light = light // চ let floor = SCNFloor() ...
4$/-JHIUͰ͖ͬΓͨ͠Өʹ ͳͬͯ͠·͏ɻ
ҰԠ4IEBPX3BEJVT͋Δ͕ɺϘ Χ͠ํ͕ࡶ lightNode.light!.shadowRadius = 16 lightNode.light!.shadowSampleCount = 16
άά͍ͬͯΔͱɺήʔϜͷهࣄ͕ώοτ IUUQCMPHTJNPOSPESJHVF[GSBSUJDMFTBGFXTDOUFDIOJRVFFYBNQMFTIUNM
TDSFFOTQBDFBNCJFOUPDDMVTJPO ମ͕ۙͯ͠ڱ͘ͳͬͨͱ͜Ζ෦ͷ۱ͳͲʹɺपғͷޫʢڥ ޫʣ͕ःΒΕΔ͜ͱʹΑͬͯӨ͕ݱΕΔݱΛΞϯϏΤϯτɾΦΫ ϧʔδϣϯʢڥःṭڥด࠹ɺӳBNCJFOUPDDMVTJPOʣͱݺ Ϳɻ44"0%ը໘ͷϨϯμϦϯά݁ՌʹޙॲཧΛ͔͚ΔϙετΤ ϑΣΫτͷҰछͰ͋ΓɺٖࣅతͳϨϯμϦϯά݁ՌʹՃ͢ΔͷͰ ͋Δɻ IUUQTKBXJLJQFEJBPSHXJLJ44"0
44"0 camera?.screenSpaceAmbientOcclusionIntensity = 5 camera?.screenSpaceAmbientOcclusionNormalThreshold = 0.1 camera?.screenSpaceAmbientOcclusionDepthThreshold = 0.08
camera?.screenSpaceAmbientOcclusionBias = 0.33 camera?.screenSpaceAmbientOcclusionRadius = 3.0
໘Ҏ֎ͷՕॴͷӨ͋Δ
;ΜΘΓͨ͠ӨࣗલͰඳը͠ͳ͍ ͱμϝͦ͏
4$/5FDIOJRVF w ϚϧνύεϨϯμϦϯάͷͨΊͷΫϥε ը໘̍ճͷߋ৽ͷؒʹɺҟͳΔγʔϯΛෳճϨϯ μϦϯάͯ͠߹ͨ݁͠ՌΛදࣔ͢Δػೳɻ .FUBM0QFO(-&4ͰγΣʔμΛॻ͘ࣄ͕ग़དྷΔɻ ೖྗʹγʔϯͷ৭ใਂใ͕͑Δ
ͬͯΈͨ ΧϝϥΛೋͭஔͯ͠ɺԼ͔ΒͷೖྗΛਂʹม͠ ͯϒϥʔΛ͔͚Δɻ
IUUQCMPHTJNPOSPESJHVF[GSBSUJDMFTBGFXTDOUFDIOJRVFFYBNQMFTIUNM
Ө͚ͩ࡞ͬͯΈͨ w Α͘ΈΔͱϞΞϨʢࣶ༷ʣ ͕ʜ w ͦͦΧϝϥஔ͘ͷʜ w γΣʔμਅ໘ʹॻ͜͏ͱ͢Δ ͱαΫοͱग़དྷͳͦ͏
ସҊΛ୳͢
HPCP 4$/-JHIUͷӨΛࣗલͷը૾Ͱඳ ը͢Δػೳ ӨΛൃࣹ͢ΔϥΠτ ϦΞϧλΠϜͰߋ৽ग़དྷͳ͍
HPCP w 4$/5FDIOJRVFͰਂը૾ʹม w 4$/7JFXͷTOBQTIPUͰ6**NBHFΛऔಘ w $*'JMUFSͰϒϥʔΛ͔͚Δ w 4$/-JHIUͷHPCPʹը૾Ληοτ
݁Ռ
՝ w Өͷೱ୶ͳͲ·ͩ'JMFͷදݱʹୡ͍ͯ͠ͳ͍ w 4$/5FDIOJRVFͰશͯ݁ग़དྷΔ͔ w TIBEFS.PEJpFSTͰϥΠςΟϯάγΣʔμ͕࿔ΕΔ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ