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
noppefoxwolf
January 28, 2019
Programming
2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SceneKitでふんわりした影を描画する/potatotips58
noppefoxwolf
January 28, 2019
More Decks by noppefoxwolf
See All by noppefoxwolf
High performance GIF playback/iOSDC25
noppefoxwolf
1
620
Spice up your notifications/try!Swift25
noppefoxwolf
3
840
iOSの隠されたAPIを解明し、開発効率を向上させる方法/iOSDC24
noppefoxwolf
2
1.3k
今から理解するApp Intentエコシステム/WWDC24Recap
noppefoxwolf
0
74
既存アプリをvisionOS対応してリリースした話/visionOS LT vol5
noppefoxwolf
0
230
UIのブラックボックスを探る/iOSDC23
noppefoxwolf
3
5.1k
CoreGraphicsでドット絵を描こう/iOSDC22
noppefoxwolf
0
3.2k
ランタイムデバッグのススメ/iOSDC21
noppefoxwolf
1
5.7k
google/mediapipe で始めるARアプリ開発/iOSDC2020
noppefoxwolf
1
1.7k
Other Decks in Programming
See All in Programming
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
350
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
450
Built Our Own Background Agent at LayerX
layerx
PRO
9
5k
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
300
Google Apps Script で Ruby を動かす
kawahara
0
140
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
140
今さら聞けない .NET CLI
htkym
0
180
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.4k
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
310
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
210
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
300
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
260
Technical Leadership for Architectural Decision Making
baasie
3
470
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
400
Optimising Largest Contentful Paint
csswizardry
37
3.9k
The SEO identity crisis: Don't let AI make you average
varn
0
530
HDC tutorial
michielstock
2
790
BBQ
matthewcrist
89
10k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
340
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
360
sira's awesome portfolio website redesign presentation
elsirapls
0
320
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
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ͰϥΠςΟϯάγΣʔμ͕࿔ΕΔ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ