Slide 1

Slide 1 text

"3$PSFͷಋೖ͔ΒԠ༻·Ͱ !"#$BVUVNO גࣜձࣾΧϒΫߴڮݑҰ

Slide 2

Slide 2 text

@ken1_taka ktaka גࣜձࣾΧϒΫιϑτ΢ΣΞΤϯδχΞ ߴڮݑҰ w ܞଳ޲͚%άϥϑΟΫεΤϯδϯ΍ɺੲ͋ͬ ͨ๭"3ΞϓϦͷ։ൃʹܞΘΔ w ݱࡏ͸ΧϒΫͰ%άϥϑΟΫεͷϨϯμϦϯ ά͓ΑͼղੳΤϯδϯͷ࣮૷Λ୲౰ w ݸਓత׆ಈͱͯ͠"373ͷ࣮ݧΛ͢Δ๣Β຋ ༁ຊΛग़ͨ͠Γɺٕज़ܥࡶࢽ΁ͷղઆهࣄΛد ߘ͢ΔͳͲ͍ͯ͠Δ

Slide 3

Slide 3 text

6OJUZʹΑΔʙຊͷ຋༁

Slide 4

Slide 4 text

ࠓ೔ͷ಺༰ w "3$PSFʹ͍͓ͭͯ͞Β͍ w جຊػೳ w "3$PSFҎ߱Ͱ௥Ճ͞Εͨ৽ػೳ w ։ൃํ๏ w +BWB 4DFOFGPSN  w 6OJUZ

Slide 5

Slide 5 text

"3$PSFʹ͍͓ͭͯ͞Β͍

Slide 6

Slide 6 text

"3$PSFͱ͸ w "OESPJEͰ"3ΞϓϦΛ࣮ݱ͢ΔͨΊͷ(PPHMF७ਖ਼ϥΠϒϥϦ w "OESPJEεέʔϧͰ޿͘ීٴΛ໨ࢦ͢  NJMMJPO

Slide 7

Slide 7 text

"3$PSFͷجຊػೳ

Slide 8

Slide 8 text

.PUJPOUSBDLJOHʢϞʔγϣϯτϥοΩϯάʣ IUUQTEFWFMPQFSTHPPHMFDPNBSEJTDPWFSDPODFQUT$$#:

Slide 9

Slide 9 text

ϞʔγϣϯτϥοΩϯά w "3$PSF΍"3,JUΛ࢖͑ΔΑ͏ ʹͳͬͯҰ൪خ͍͠ͷ͸ʜ͜ Μͳ෩ʹճΓࠐΊΔ͜ͱ

Slide 10

Slide 10 text

&OWJSPONFOUBMVOEFSTUBOEJOHʢ؀ڥೝࣝʣ IUUQTEFWFMPQFSTHPPHMFDPNBSEJTDPWFSDPODFQUT$$#:

Slide 11

Slide 11 text

ฏ໘ͷݕग़ w ਫฏͱਨ௚ͷฏ໘Λೝࣝ w ͔Βਨ௚໘΋Մೳʹ

Slide 12

Slide 12 text

0SJFOUFE1PJOUT ʢํ޲Λ͍࣋ͬͯΔ఺ʣ w ฏ໘ͱͯ͠ݕग़Ͱ͖Δͷ͸ਫ ฏ͓Αͼਨ௚ͷ໘ w ͨͩ͠ɺಛ௃఺ͱͯ͠ݕग़͠ ͨ఺ͷํ޲Λऔಘ͢Δ͜ͱ͸ Ͱ͖Δ w ಛ௃఺͕ີू͍ͯ͠ΔΑ͏ͳ ৔ॴͩͱݕग़͠΍͍͢ʣ

Slide 13

Slide 13 text

-JHIUFTUJNBUJPOʢޫݯਪఆʣ IUUQTEFWFMPQFSTHPPHMFDPNBSEJTDPWFSDPODFQUT$$#:

Slide 14

Slide 14 text

ޫݯਪఆ w पғͷ໌Δ͞ͷมԽ͔Βޫ ͷڧ͞Λਪఆ w ޫͷ౰ͨΔํ޲͸औಘͰ͖ ͳ͍

Slide 15

Slide 15 text

"3$PSFҎ߱ Ͱ௥Ճ͞Εͨػೳ

Slide 16

Slide 16 text

$MPVE"ODIPST w ෳ਺୺຤Ͱಉ͡"3ۭؒΛڞ༗ w ͭͷ୺຤͔ΒΫϥ΢υΛ௨͡ ͯଞͷ୺຤ʹڞ༗ w "ODIPSΦϒδΣΫτ w पลͷಛ௃఺ w "OESPJE͚ͩͰͳ͘J04ͱ΋ڞ ༗ w J04༻ͷ4%,΋͋Δ

Slide 17

Slide 17 text

+VTUB-JOF w (PPHMF੡ͷ"3ۭؒʹམॻ͖ Ͱ͖ΔΞϓϦ w "OESPJE൛ͱJ04൛͕͋Δ w /FBSCZͰϖΞϦϯάͯ͠୆ Ͱ"3ۭؒΛڞ༗ w ιʔε͸ެ։͞Ε͍ͯΔ IUUQTHJUIVCDPNHPPHMFDSFBUJWFMBCKVTUBMJOFBOESPJE

Slide 18

Slide 18 text

+VTUB-JOF w (PPHMF੡ͷ"3ۭؒʹམॻ͖ Ͱ͖ΔΞϓϦ w "OESPJE൛ͱJ04൛͕͋Δ w /FBSCZͰϖΞϦϯάͯ͠୆ Ͱ"3ۭؒΛڞ༗ w ιʔε͸ެ։͞Ε͍ͯΔ IUUQTHJUIVCDPNHPPHMFDSFBUJWFMBCKVTUBMJOFBOESPJE

Slide 19

Slide 19 text

$MPVE"ODIPSTͷେࣄͳ͜ͱ w ໘౗Λݟͯ͘ΕΔͷ͸Ґஔͱ޲͖ͷΈ w ͦΕΛݩʹ։ൃऀ͕ػೳΛ࣮૷͢Δඞཁ͋Γ w ڞ༗͢Δ"ODIPSͷ৘ใ͸'JSFCBTF΍/FBSCZ౳Λ࢖ͬ ͯ౉͢

Slide 20

Slide 20 text

͜ͷ͋ͱͷίʔυϥϘͰ ମݧͰ͖·͢ w $MPVE"ODIPSTͰυϩΠυ܅ ͷ഑ஔ৘ใΛڞ༗ w ΞϯΧʔͷ*%͸'JSFCBTFΛ࢖ͬ ͯଞͷ୺຤ͱڞ༗ w +BWBΛ࢖༻ IUUQTDPEFMBCTEFWFMPQFSTHPPHMFDPNDPEFMBCTBSDPSFDMPVEBODIPST

Slide 21

Slide 21 text

"VHNFOUFE*NBHFT w ࢦఆͨ͠ը૾Λೝࣝͯ͠ɺҐ ஔͱ࢟੎ΛτϥοΩϯά͢Δ

Slide 22

Slide 22 text

ରԠ୺຤ w ݱࡏͷ"3$PSFͷόʔδϣϯ͸  w όʔδϣϯΛॏͶΔ͝ͱʹର Ԡ୺຤΋͍ͩͿ૿͑·ͨ͠ w 9QFSJB9; w (BMBYZ" " " /PUF  4 4 4 w -(( )VBXFJ1౳ IUUQTEFWFMPQFSTHPPHMFDPNBSEJTDPWFSTVQQPSUFEEFWJDFT

Slide 23

Slide 23 text

։ൃํ๏ +BWB $ /%, 6OJUZ 6OSFBM&OHJOF 8FCͷԿΕͰ΋Մೳ

Slide 24

Slide 24 text

+BWBͰͷ։ൃ 4DFOFGPSNʹ͍ͭͯ

Slide 25

Slide 25 text

4DFOFGPSNͱ͸ w %ϞσϧͷΠϯϙʔτπʔϧɺ"3γʔϯ΁ͷ૊ΈࠐΈ ͕؆୯ʹͰ͖ΔϥΠϒϥϦ w "OESPJE4UVEJPͰ+BWBͰ։ൃͰ͖·͢

Slide 26

Slide 26 text

https://developers.google.com/ar/develop/java/sceneform/ l"OESPJE։ൃऀʹ%άϥϑΟΫεͱ0QFO(-Λ ֶͿ͜ͱͳ͠ʹ"3$PSFΛۦ࢖͢ΔྗΛ༩͑Δz

Slide 27

Slide 27 text

࠷΋جຊతͳखॱ

Slide 28

Slide 28 text

"OESPJE4UVEJPʹ ϓϥάΠϯΛΠϯετʔϧ͢Δ w 1SFGFSFODFTˠ1MVHJOT <#SPXTFSFQPTJUPSJFT>Λԡ͠ ͯ w (PPHMF4DFOFGPSN5PPMT #FUB ΛΠϯετʔϧ

Slide 29

Slide 29 text

1PMZ͔Β%ϞσϧΛ μ΢ϯϩʔυ͢Δ w IUUQTQPMZHPPHMFDPN͔ Β%ϞσϧΛμ΢ϯϩʔυ w ओʹ"3ͱ73Ͱͷ׆༻Λ໨త ͱͨ͠%Ϟσϧڞ༗αΠτ w $$#:Ͱ࢖༻Ͱ͖Δ΋ͷ͕ଟ ͍

Slide 30

Slide 30 text

%ϞσϧΛϓϩδΣΫτʹ Πϯϙʔτ w μ΢ϯϩʔυͨ͠ w YYYQOH w YYYNUM w YYYPCK w Λ4BNQMFEBUBʹίϐʔ

Slide 31

Slide 31 text

%ϞσϧΛϓϩδΣΫτʹ Πϯϙʔτ̎ w YYYPCKΛӈΫϦοΫ ˠ/FXˠ4DFOFGPSN"TTFU ͷॱʹબ୒ w 'JOJTIΛԡ͢

Slide 32

Slide 32 text

%ϞσϧΛϓϩδΣΫτʹ Πϯϙʔτ w YYYTGB YYYTGCͱ͍͏ϑΝΠ ϧ͕࡞੒͞ΕΔ w %ϞσϧͷϓϨϏϡʔ͕දࣔ ͞ΕΔ w TGCͷํ͸BTTFUTͷԼʹஔ͔Ε Δ

Slide 33

Slide 33 text

ίʔυ্ʹϩʔυ͢Δ ϑΝΠϧΛهड़͢Δ w BTTFUTͷԼͷTGCϑΝΠϧΛ ࢦఆ͢Δ

Slide 34

Slide 34 text

Ϗϧυ࣮ͯ͠ߦ w ฏ໘Λλοϓͯ͠%ϞσϧΛ ഑ஔ͢ΔͨΊʹඞཁͳػೳ͕ ͜Ε͚ͩͰҰ௨Γ׬੒ʂ

Slide 35

Slide 35 text

4DFOFGPSNͷߏ੒ཁૉ w "S'SBHNFOU w 3FOEFSBCMF w .PEFM3FOEFSBCMF w 7JFX3FOEFSBCMF

Slide 36

Slide 36 text

"S'SBHNFOU w ୺຤Λಈ͔͢͜ͱΛଅ͢6*
 w ೝࣝฏ໘Λࣔ͢6*
 w ฏ໘Λλοϓͨ͠ࡍͷMJTUOFS
 w ฏ໘ʹӨΛམͱ͢


Slide 37

Slide 37 text

.PEFM3FOEFSBCMF w %ϞσϧΛѻ͏

Slide 38

Slide 38 text

7JFX3FOEFSBCMF "OESPJE։ൃऀʹ͸͓ͳ͡ΈͷMBZPVUͷYNMΛ"3্ۭؒʹු͔Ϳ7JFX ͱͯ͠࡞੒Ͱ͖Δʂ

Slide 39

Slide 39 text

7JFX3FOEFSBCMF࡞੒खॱ 7JFX3FOEFSBCMFCVJMEFS TFU7JFX UIJT  3MBZPVUTPMBS@DPOUSPMT CVJME  CBDLHSPVOE ʢؙ֯ɺ൒ಁ໌ͷ੨ʣ MBZPVUYNM "1*

Slide 40

Slide 40 text

͜ͷ͋ͱͷίʔυϥϘͰ ମݧͰ͖·͢ w 4DFOFGPSNΛ࢖ͬͯछྨͷ% ϞσϧΛ഑ஔ w ࣸਅΛࡱͬͯอଘ w ͓·͚ͷ՝୊ w ೚ҙͷจࣈྻΛ 7JFX3FOEFSBCMFͰ഑ஔ w IUUQCJUMZ+#PJ2# IUUQTDPEFMBCTEFWFMPQFSTHPPHMFDPNDPEFMBCTTDFOFGPSNJOUSP

Slide 41

Slide 41 text

4DFOFGPSNͷ ϨϯμϦϯάΤϯδϯ w ෺ཧϕʔεͷϨϯμϦϯάΤϯ δϯ w ϥΠςΟϯάͷޮՌͳͲ͕ लҳ w Φʔϓϯιʔε w IUUQTHJUIVCDPN HPPHMFpMBNFOU

Slide 42

Slide 42 text

4DFOFGPSNͷ௥Ճػೳ w HM5'Λ௚઀ϩʔυ w HM5'ʜωοτܦ༝Ͱͷ%Ϟσϧͷ ΍ΓऔΓͰඪ४తͳҐஔΛ֫ಘͭ͠ ͭ͋Δ w "OESPJE4UVEJPͷϓϥάΠϯͰͷ ม׵͕ෆཁ

Slide 43

Slide 43 text

΋ͬͱݱ࣮Λ֦ு͍ͨ͠ʜ ͦΜͳ࣌ʹཔΓʹͳΔͷ͸ 6OJUZ

Slide 44

Slide 44 text

͜ͷ͋ͱͷίʔυϥϘ 6OJUZฤ  Ͱ࡞Δ΋ͷ IUUQTDPEFMBCTEFWFMPQFSTHPPHMFDPNDPEFMBCTBSDPSFJOUSP

Slide 45

Slide 45 text

ྫ6OJUZͰ$MPVE"ODIPSTΛ࢖ͬͯ ෳ਺ਓͰϓϨΠ͢Δαϯϓϧ w -JHIU#PBSE w Φʔϓϯιʔε w IUUQTHJUIVCDPN HPPHMFTBNQMFTBSDPSF MJHIUCPBSE

Slide 46

Slide 46 text

ྫɿ"3ۭؒͰϖοτΛࣂ͏ w ඞཁͳཁૉ w Ξχϝʔγϣϯ͢Δ%Ωϟ ϥ w ෺ཧΤϯδϯ w ஄ΉϘʔϧ w ϘʔϧΛ௓Ͷฦ͢চ໘ w ஫໨ͯ͠΄͍͠΋ͷʹ޲͚Δ

Slide 47

Slide 47 text

Ξχϝʔγϣϯ͢Δ%Ωϟϥ w "TTFU4UPSF͔ΒΠϯϙʔτͯ͠"OEZͱஔ͖׵͑Ͱ0,

Slide 48

Slide 48 text

෺ཧΤϯδϯͷ׆༻ w ෺ཧ๏ଇʹԊͬͨৼΔ෣͍Λ ͢ΔϘʔϧ w ϘʔϧΛ௓Ͷฦ͢ฏ໘

Slide 49

Slide 49 text

෺ཧ๏ଇʹԊͬͨৼΔ෣͍Λ͢ ΔϘʔϧ w 4QIFSF$PMMJEFS w #PVODZ w 3JHJECPEZ w .BTT w 6TF(SBWJUZ

Slide 50

Slide 50 text

ϘʔϧΛ௓Ͷฦ͢ฏ໘ w .FTI3FOEFSFS w .BUFSJBMʹ4%,ʹ͋Δ 1MBOF(SJEΛઃఆ

Slide 51

Slide 51 text

ϘʔϧΛ౤͛Δίʔυ ΦϒδΣΫτΛλοϓͨ࣌͠

Slide 52

Slide 52 text

ϘʔϧΛ౤͛Δίʔυ ΦϒδΣΫτΛυϥοάʢϑϦοΫʣ։࢝

Slide 53

Slide 53 text

ϘʔϧΛ౤͛Δίʔυ ΦϒδΣΫτΛυϥοά͍ͯ͠Δؒ

Slide 54

Slide 54 text

ϘʔϧΛ౤͛Δίʔυ ΦϒδΣΫτͷυϥοάऴྃʢࢦΛ཭ͨ͠ʣ

Slide 55

Slide 55 text

%ΦϒδΣΫτͱΧϝϥ ͷҐஔؔ܎ ᶃೣͷݱࡏҐஔ ᶄΧϝϥͷݱࡏҐஔ ᶅೣͷσϑΥϧτํ޲ͷϕΫτ ϧʢ9 : ;Ͱද͢ͱ  ʣ ᶆೣ͔ΒΧϝϥ΁ͷํ޲ͷϕΫ τϧ ᶇΧϝϥͷํʹ޲͔ͤΔͨΊͷ ճస

Slide 56

Slide 56 text

ΦϒδΣΫτΛΧϝϥͷํ޲ʹ ޲͚Δࡍͷճస Vector3 GetLookVector () { Vector3 lookVector = Camera.main.transform.position - hitTransform.transform.position; lookVector.y = 0.0f; // Y軸の差分は無視する lookVector.Normalize (); return lookVector; } hitTransform.transform.rotation = Quaternion.LookRotation (GetLookVector());

Slide 57

Slide 57 text

ྫ%ϓϦϯτ෩ΤϑΣΫτ ࢦఆͨ͠:࠲ඪͷ9;ฏ໘ͰΫϦοϐϯά͢ΔγΣʔμʔͷهड़ͱɺͦͷ:࠲ඪͷ஋ ΛϑϨʔϜ͝ͱʹҠಈͤ͞ΔεΫϦϓτͷ૊Έ߹ΘͤͰ࣮ݱ

Slide 58

Slide 58 text

௥Ճ͢ΔγΣʔμʔͷϓϩύςΟ w @$POTUSVDU: w ΫϦοϐϯά͢Δ:࠲ඪͷ஋ w @$POTUSVDU(BQ w ੵ૚͍ͯ͘͠ࡍʹ৭Λม͑Δڥ քͷߴ͞ w @$POTUSVDU$PMPS w ੵ૚͍ͯ͘͠ࡍͷڥքͷ৭ ৄࡉ͸IUUQTXXXLBCVLVDPKQEFWFMPQFSTBSE@QSJOU

Slide 59

Slide 59 text

γΣʔμʔͷίʔυ if(IN.worldPos.y > _ConstructY + _ConstructGap) { discard; } ඳը͞Εͳ͍Α͏ΫϦοϐϯά͢ΔॲཧͰ͢ɻ ϐΫηϧͷϫʔϧυҐஔͷ:࠲ඪͷ஋͕ʮΫϦοϐϯά͢Δ:࠲ඪ ڥ քͷߴ͞ʯΑΓେ͖͍ʢΫϦοϐϯά͢ΔҐஔΑΓߴ͍Ґஔʹ͋Δʣ৔ ߹ɺEJTDBSEͯ͠ඳը͠ͳ͍Α͏ʹ͠·͢ɻ

Slide 60

Slide 60 text

γΣʔμʔͷίʔυ if(IN.worldPos.y < _ConstructY) { fixed4 c = tex2D(_MainTex, IN.uv_MainTex); o.Albedo = c.rgb; o.Alpha = c.a; } else { o.Albedo = _ConstructColor.rgb; o.Alpha = _ConstructColor.a; } ϐΫηϧͷϫʔϧυҐஔͷ:࠲ඪͷ஋͕ΫϦοϐϯά͢Δ:࠲ඪΑΓখ͍͞৔ ߹ɺ௨ৗඳըͷର৅ͱͯ͠ςΫενϟ͔Βͷ৭Λ൓ө͠·͢ɻ:࠲ඪͷ஋Ҏ্ ͷ৔߹ɺڥք෦෼ͷඳըର৅ͱͯ͠ڥքͷ৭Λ൓ө͠·͢ɻ

Slide 61

Slide 61 text

࠷ޙʹʜ ೔ຊޠͰ࣭໰ɺ૬ஊͰ͖ΔϑΥʔϥϜ IUUQCJUMZWSBS@KB ͥͻ͝ొ࿥͍ͩ͘͞ʂ ೔ຊޠͰؾܰʹ࣭໰ɺ૬ ஊͰ͖ΔΑ͏ʹཱͯͯΈ ·ͨ͠ (PPHMFΞΧ΢ϯτ͕͋Ε ͹ԿํͰ΋ࢀՃՄೳͰ͢