$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
three.js基礎
Search
kaidouji85
November 18, 2017
Technology
2
620
three.js基礎
秋のJavaScript祭 in mixi 2017発表資料
kaidouji85
November 18, 2017
Tweet
Share
More Decks by kaidouji85
See All by kaidouji85
AbortControllerでPromiseをキャンセルする
kaidouji85
0
15
一発芸!!なんちゃってローカライズ
kaidouji85
0
85
AWSだけでネット対戦できるブラウザゲームを作った話
kaidouji85
0
69
GitHub CopilotでJavaScript開発効率を爆上げする
kaidouji85
0
110
Serverless + Fargate構成で継続的デリバリーの速度を劇的に改善した話
kaidouji85
0
940
サーバーレスアーキテクチャこそ"ヘキサゴナルアーキテクチャ"
kaidouji85
0
110
サーバーレスでターンベース制のネット対戦ゲームを作った話
kaidouji85
0
640
CDKで構築したFargateのデプロイ時間を改善した話
kaidouji85
2
560
ブラウザゲームで視聴者参加型のゲーム配信
kaidouji85
0
360
Other Decks in Technology
See All in Technology
【開発を止めるな】機能追加と並行して進めるアーキテクチャ改善/Keep Shipping: Architecture Improvements Without Pausing Dev
bitkey
PRO
1
130
オープンソースKeycloakのMCP認可サーバの仕様の対応状況 / 20251219 OpenID BizDay #18 LT Keycloak
oidfj
0
170
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
170
障害対応訓練、その前に
coconala_engineer
0
190
Bedrock AgentCore Evaluationsで学ぶLLM as a judge入門
shichijoyuhi
2
240
Introduce marp-ai-slide-generator
itarutomy
0
110
AWS re:Invent 2025~初参加の成果と学び~
kubomasataka
0
190
[Neurogica] 採用ポジション/ Recruitment Position
neurogica
1
120
Amazon Quick Suite で始める手軽な AI エージェント
shimy
1
1.8k
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
130
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
2
200
AIエージェント開発と活用を加速するワークフロー自動生成への挑戦
shibuiwilliam
5
840
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
400
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
2
2.8k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
92
Designing for Performance
lara
610
69k
Designing Powerful Visuals for Engaging Learning
tmiket
0
190
Joys of Absence: A Defence of Solitary Play
codingconduct
1
260
Why Our Code Smells
bkeepers
PRO
340
57k
Odyssey Design
rkendrick25
PRO
0
430
Tell your own story through comics
letsgokoyo
0
760
Transcript
UISFFKTجૅ ळͷ+BWB4DSJQUࡇJONJYJ ɹ༎հ
ࣗݾհ ༎հ ϓϩάϥϚʔͬͯ·͢ +4େ͖Ͱ͢
ΞδΣϯμ UISFFKTͱ UISFFKTಛ༗ͷ֓೦ ήʔϜϧʔϓ UJQT ·ͱΊ
ΞδΣϯμ UISFFKTͱ UISFFKTಛ༗ͷ֓೦ ήʔϜϧʔϓ UJQT ·ͱΊ
UISFFKTͱ ϒϥβͰ%͕ൺֱత༰қʹ͑ΔϥΠϒϥϦ ྺ࢙͕͍ͷͰɺใ͕ൺֱతଟ͍ ·ͣ؆୯ͳαϯϓϧΛݟͯ·͠ΐ͏
αϯϓϧ ެࣜνϡʔτϦΞϧͷIFMMPXPSME<>
var scene = new THREE.Scene(); var camera = new THREE.PerspectiveCamera(
75, window.innerWidth/ window.innerHeight, 0.1, 1000 ); var renderer = new THREE.WebGLRenderer(); renderer.setSize( window.innerWidth, window.innerHeight ); document.body.appendChild( renderer.domElement ); var geometry = new THREE.BoxGeometry( 1, 1, 1 ); var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } ); var cube = new THREE.Mesh( geometry, material ); scene.add( cube ); camera.position.z = 5; var render = function () { requestAnimationFrame( render ); cube.rotation.x += 0.1; cube.rotation.y += 0.1; renderer.render(scene, camera); }; render();
Կ͜Ε ҙຯ͔Μͳ͍
େৎͰ͢
UISFFKTಛ༗ͷ֓೦
ήʔϜϧʔϓ
͜ΕΛΒͳ͍͔Β ͘͠ݟ͑Δ͚ͩ
ΞδΣϯμ UISFFKTͱ UISFFKTಛ༗ͷ֓೦ ήʔϜϧʔϓ UJQT
ઌ΄Ͳͷശ͕ճ͍ͬͯΔαϯϓϧͰɺ Կݸͷ֓೦͕͋ΔͰ͠ΐ͏͔ʁ
ਖ਼ղݸͰ͢ 3FOEFS 4DFOF $BNFSB (FPNFUSZ .FTI .BUFSJBM
UISFFKTͷओͳऀ 3FOEFS 4DFOF $BNFSB (FPNFUSZ .FTI .BUFSJBM
UISFFKTͷओͳऀ 3FOEFS 4DFOF $BNFSB (FPNFUSZ .FTI .BUFSJBM
3FOEFS ϒϥβʹ%ը໘Λඳը͢Δͷ 3FOEFSҎԼύϥϝʔλͰ%ඳը͠·͢ 4DFOF %ମ͕ஔ͔Ε͍ͯΔੈք $BNFSB 3FOEFSΛࣸਅʹྫ͑Δͱ͔Γ͍͢Ͱ͢
3FOEFS 4DFOF $BNFSB
UISFFKTͷओͳऀ 3FOEFS 4DFOF $BNFSB (FPNFUSZ .FTI .BUFSJBM
$BNFSB %ۭؒΛࡱӨ͢ΔΧϝϥͰ͢ ݱ࣮ͷΧϝϥಉ༷ɺ༻్ʹԠͯ͡৭ʑͳͷ͕ ͋Γ·͢ αϯϓϧίʔυͰ1FSTQFDUJWF$BNFSB<> ಁࢹӨΧϝϥ Λ͍ͬͯ·͢
UISFFKTͷओͳऀ 3FOEFS 4DFOF $BNFSB (FPNFUSZ .FTI .BUFSJBM
4DFOF %ϞσϧɺޫݯͳͲΛஔ͢ΔͷͰ͢ %ۭؒͷੈքͦͷͷͰ͢
UISFFKTͷओͳऀ 3FOEFS 4DFOF $BNFSB (FPNFUSZ .FTI .BUFSJBM
.FTI %ۭؒʹஔ͢ΔମͰ͢ ΩϟϥΫλʔɺՈɺϏϧͳͲͷഎܠͳͲ͕ .FTIʹ֘͠·͢
.FTI (FPNFUSZ .BUFSJBM ܗঢ় ɹ৭ ɹࡐ࣭ ɹςΫενϟ
UISFFKTͷओͳऀ 3FOEFS 4DFOF $BNFSB (FPNFUSZ .FTI .BUFSJBM
(FPNFUSZ ମͷܗঢ়σʔλ αϯϓϧϓϩάϥϜͰཱํମΛ͍ͬͯΔ ଞʹฏ໘ɺٿମͳͲجຊతͳܗ͕ ༻ҙ͞Ε͍ͯΔ
UISFFKTͷओͳऀ 3FOEFS 4DFOF $BNFSB (FPNFUSZ .FTI .BUFSJBM
.BUFSJBM ମͷࡐ࣭ΛܾΊΔͷ ৭ɺޫͷࣹ۩߹ɺෆಁ໌ͳͲΛઃఆͰ͖Δ ςΫενϟͷઃఆΛ͢Δͷ͜͜
ΞδΣϯμ UISFFKTͱ UISFFKTಛ༗ͷ֓೦ ήʔϜϧʔϓ UJQT ·ͱΊ
ήʔϜϧʔϓͱ ήʔϜը໘ΛΞχϝʔγϣϯͤ͞ΔΈ ήʔϜը໘ύϥύϥອըͷཁྖͰɺ ΞχϝʔγϣϯΛ͍ͯ͠Δ ύϥύϥອըΛϓϩάϥϜͰ࠶ݱ͢Δͱɺ ແݶϧʔϓʹͳΔ
SFRVFTU"OJNBUJPO'SBNF ϒϥβͰήʔϜϧʔϓΛ࣮ݱ͢Δͱ͖ʹ ͏ؔ<> ಈ͖ͱͯ͠ɺϒϥβը໘࠶ඳըલʹ ొͨ͠ίʔϧόοΫؔΛݺͿͱݴ͏ͷ
ήʔϜϧʔϓ࣮ݱํ๏ var render = function () { requestAnimationFrame( render );
cube.rotation.x += 0.1; cube.rotation.y += 0.1; renderer.render(scene, camera); }; render(); ᶃSFOEFSΛ࣮ߦ ᶄSFRVFTU"OJNBUJPO'SBNFʹSFOEFSΛొ ᶅSFOEFS͕ؔऴྃ͢Δ ᶆϒϥβ࠶ඳըલʹSFOEFS͕ݺΕΔ ᶃʹΔ
Ҏ্Λ౿·্͑ͨͰ αϯϓϧίʔυΛݟ·͢
var scene = new THREE.Scene(); var camera = new THREE.PerspectiveCamera(
75, window.innerWidth/ window.innerHeight, 0.1, 1000 ); var renderer = new THREE.WebGLRenderer(); renderer.setSize( window.innerWidth, window.innerHeight ); document.body.appendChild( renderer.domElement ); var geometry = new THREE.BoxGeometry( 1, 1, 1 ); var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } ); var cube = new THREE.Mesh( geometry, material ); scene.add( cube ); camera.position.z = 5; var render = function () { requestAnimationFrame( render ); cube.rotation.x += 0.1; cube.rotation.y += 0.1; renderer.render(scene, camera); }; render();
var scene = new THREE.Scene(); var camera = new THREE.PerspectiveCamera(
75, window.innerWidth/ window.innerHeight, 0.1, 1000 ); var renderer = new THREE.WebGLRenderer(); renderer.setSize( window.innerWidth, window.innerHeight ); document.body.appendChild( renderer.domElement ); var geometry = new THREE.BoxGeometry( 1, 1, 1 ); var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } ); var cube = new THREE.Mesh( geometry, material ); scene.add( cube ); camera.position.z = 5; var render = function () { requestAnimationFrame( render ); cube.rotation.x += 0.1; cube.rotation.y += 0.1; renderer.render(scene, camera); }; render(); ऀͷॳظԽ
var scene = new THREE.Scene(); var camera = new THREE.PerspectiveCamera(
75, window.innerWidth/ window.innerHeight, 0.1, 1000 ); var renderer = new THREE.WebGLRenderer(); renderer.setSize( window.innerWidth, window.innerHeight ); document.body.appendChild( renderer.domElement ); var geometry = new THREE.BoxGeometry( 1, 1, 1 ); var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } ); var cube = new THREE.Mesh( geometry, material ); scene.add( cube ); camera.position.z = 5; var render = function () { requestAnimationFrame( render ); cube.rotation.x += 0.1; cube.rotation.y += 0.1; renderer.render(scene, camera); }; render(); ήʔϜϧʔϓ
ΞδΣϯμ UISFFKTͱ UISFFKTಛ༗ͷ֓೦ ήʔϜϧʔϓ UJQT ·ͱΊ
ࠓհ͢Δ5JQT ςΫενϟΞχϝʔγϣϯ )6%ϨΠϠ ࣗ࡞ϞσϧಡΈࠐΈํ๏
5JQT࡞ྫ ൃදऀͷझຯϓϩάϥϜ<>
ࠓհ͢Δ5JQT ςΫενϟΞχϝʔγϣϯ )6%ϨΠϠ ࣗ࡞ϞσϧಡΈࠐΈํ๏
ςΫενϟΞχϝͱ ಡΜͰࣈͷ͝ͱ͘ɺςΫενϟΛ Ξχϝʔγϣϯͤ͞Δ͜ͱ εϓϥΠτΩϟϥΫλʔͷΞχϝʔγϣϯɺ ը໘ΤϑΣΫτͳͲʹ༻͞Ε͍ͯΔ
ςΫενϟΞχϝʹ ඞཁͳ͜ͱ
ඞཁͳॴΛΓऔΔ
ϑϨʔϜ੍ޚ
ςΫενϟΞχϝ࣮ݱํ๏ ඞཁͳॴΛΓऔΔ ˠUISFFKTଆͰ͋ΔઃఆΛ͢Δ<> ϑϨʔϜ੍ޚ ˠUXFFOKTΛ͏<>
ςΫενϟΛը૾ϧʔϓλΠϓʹઃఆ ॎɺԣͷഒΛʮΞχϝίϚʯʹઃఆ ඳըελʔτҐஔΛௐͯ͠ɺҙϑϨʔϜΛදࣔ ԣഒ ॎഒ Φϑηοτ9 Φϑηοτ:
UXFFOKTͱ ͋ΔΛYʙYʹZඵͰมԽͤ͞Δɺ ͱ͍͏ॲཧΛߦ͏ͷ DSFBUFKTͷϑϨʔϜ੍ޚػೳΛɺผϥΠϒϥϦ ͱͯ͠Γग़ͨ͠ͷ
ࠓհ͢Δ5JQT ςΫενϟΞχϝʔγϣϯ )6%ϨΠϠ ࣗ࡞ϞσϧಡΈࠐΈํ๏
)6%ͱ )FBE6Q%JTQMBZͷུশ ΧϝϥϨϯζʹுΓ͍ͯදࣔ͞ΕͯΔͷ ྫ͑ήʔδɺΞΠίϯͳͲ
)6%࣮ݱํ๏ UISFFKTʹϨΠϠʔػೳͳ͍ %ɺ)6%ʹTDFOFɺDBNFSBΛ༻ҙ͢Δ SFOEFSͷBVUP$MFBSGBMTFʹͯ͠ɺ %ɺ)6%ͷॱ൪ʹϨϯμϦϯά͢Δ<>
%༻4DFOF %༻$BNFSB )6%༻4DFOF )6%༻$BNFSB 3FOEFS
ࠓհ͢Δ5JQT ςΫενϟΞχϝʔγϣϯ )6%ϨΠϠ ࣗ࡞ϞσϧಡΈࠐΈํ๏
UISFFKTϞσϧϑΝΠϧࣄ UISFFKTઐ༻ϞσϧϑΝΠϧͱͯ͠ɺ KTPOܗࣜͷͷ͕͋Δ UISFFKTଆͰNFUBTFRVPJBɺNNEΛಡΈࠐΉ ϓϥάΠϯ͕͋Δ ݸਓతʹϓϥάΠϯແ͠ͰಡΈࠐΊΔͷͰɺ KTPOϑΝΠϧͷํ͕͖
ઐ༻KTPOϑΝΠϧʹ͍ͭͯ NFUBTFRVPJBͩͱඪ४ͰKTPOΤΫεϙʔτʹ ରԠ͍ͯ͠Δ ҆ఆ͍ͯ͠Δ͕ɺςΫενϟ্͕ԼٯʹͳΔ ෆ۩߹͕͋Δ
.FUBTFRVPJB UISFFKT ࣮ࡍͷঢ়
ෆ۩߹ͷճආࡦ ը૾ϑΝΠϧΛ্Լɺࠨӈٯʹ͢Ε ͳ͘දࣔͰ͖·͢ .FUBTFRVPJBެࣜ##4Ͱ࣭ͨ͠Βɺ ˢͷΑ͏ͳճΛ͖·ͨ͠
ΞδΣϯμ UISFFKTͱ UISFFKTಛ༗ͷ֓೦ ήʔϜϧʔϓ UJQT ·ͱΊ
·ͱΊ UISFFKTͱϒϥβͰ%දݱΛ͢ΔͨΊͷ ϥΠϒϥϦͰ͋Δ ·ͣUISFFKTͷऀɺήʔϜϧʔϓʹ͍ͭͯ ཧղ͠Α͏ ςΫενϟΞχϝɺ)6%ɺࣗ࡞ϞσϧऔΓࠐΈ Λͯ͠ɺ࡞ʹ՚Λఴ͑Α͏
͝ਗ਼ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠
ࢀߟจݙ <>UISFFKTެࣜνϡʔτϦΞϧ IUUQTUISFFKTPSHEPDTJOEFYIUNMNBOVBM JOUSPEVDUJPO$SFBUJOHBTDFOF <>1FSTQFDUJWF$BNFSB IUUQTXXXBUXJLJKQUISFFKTQBHFT IUNM
ࢀߟจݙ <>XJOEPXSFRVFTU"OJNBUJPO'SBNF IUUQTEFWFMPQFSNP[JMMBPSHKBEPDT8FC "1*8JOEPXSFRVFTU"OJNBUJPO'SBNF <>UJQT࡞ྫ IUUQTHPPHMEOZ23#
ࢀߟจݙ <>ςΫενϟΞχϝͷઃఆ IUUQTHJUIVCDPNLBJEPVKJTUVEZUISFFKTCMPC CDCFDFGDFFBDCF TSDUFYUVSFUFYUVSFBOJNBUJPOKT <>UXFFOKT༻ྫ IUUQTHJUIVCDPNLBJEPVKJTUVEZUISFFKTCMPC CDCFDFGDFFBDCF TSDBSNEP[FSTIJOCSFBWFSKT
ࢀߟจݙ <>)6%ϨΠϠ࣮ݱํ๏ IUUQTHJUIVCDPNLBJEPVKJTUVEZUISFF KTCMPC CDCFDFGDFFB DCFTSDCBUUMFJOEFYKT