inflearn logo
็Ÿฅ่ญ˜ๅ…ฑๆœ‰
inflearn logo

็ตถๅฏพ่ฌ›ๅบง๏ผUnity 6 - TPSใ‚ฒใƒผใƒ ใงๅญฆใถUnityใƒžใ‚นใ‚ฟใƒผใ‚ฏใƒฉใ‚น

ใƒฆใƒ‹ใƒ†ใ‚ฃใƒžใ‚นใ‚ฟใƒผใ‚ฏใƒฉใ‚นใ€ใ€Œ็ตถๅฏพ่ฌ›ๅบง๏ผใƒฆใƒ‹ใƒ†ใ‚ฃใ€ใ‚’ไปŠใ€ใ‚ชใƒณใƒฉใ‚คใƒณ่ฌ›ๅบงใงๅ—่ฌ›ใงใใพใ™๏ผไฝ“็ณป็š„ใง็ถ™็ถšๆ€งใฎใ‚ใ‚‹ใ‚ซใƒชใ‚ญใƒฅใƒฉใƒ ใ‚’้€šใ˜ใฆใ€ใƒฆใƒ‹ใƒ†ใ‚ฃใฎๅŸบ็คŽใ‹ใ‚‰ใ•ใพใ–ใพใชใ‚ฒใƒผใƒ ้–‹็™บๆŠ€ๆณ•ใพใง่ฉณ็ดฐใซๅญฆใถใ“ใจใŒใงใใพใ™ใ€‚ใ“ใฎ่ฌ›ๅบงใ‚’้€šใ˜ใฆใ€ใฉใ‚“ใชใ‚ธใƒฃใƒณใƒซใฎใ‚ฒใƒผใƒ ใงใ‚‚ใคใพใšใใ“ใจใชใ้–‹็™บใงใใ‚‹่ƒฝๅŠ›ใ‚’ๅ‚™ใˆใŸ้–‹็™บ่€…ใจใ—ใฆๆˆ้•ทใ™ใ‚‹ใ“ใจใŒใงใใ‚‹ใงใ—ใ‚‡ใ†ใ€‚

้›ฃๆ˜“ๅบฆ ๅˆ็ดš

ๅ—่ฌ›ๆœŸ้–“ ็„กๅˆถ้™

Unity
Unity
C#
C#
Unity
Unity
C#
C#

ใŠ็Ÿฅใ‚‰ใ›

5 ไปถ

  • indiegamemaker๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ecs_title2.png.webp

    ็”ณใ—่จณใ”ใ–ใ„ใพใ›ใ‚“ใ€‚ใƒชใƒณใ‚ฏใซใ‚จใƒฉใƒผใŒใ‚ใฃใŸใŸใ‚ใ€ๅ†้€ไฟกใ„ใŸใ—ใพใ™ใ€‚๐Ÿ˜ญ๐Ÿ˜ญ

    ใ“ใ‚“ใซใกใฏใ€‚ใ‚คใƒปใ‚ธใ‚งใƒ’ใƒงใƒณใงใ™ใ€‚

    ็ตถๅฏพ่ฌ›ๅบง Unity - ECS/DOTS ใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐ ใƒžใ‚นใ‚ฟใƒผใ‚ฏใƒฉใ‚น่ฌ›ๅบงใ‚’ใ‚ชใƒผใƒ—ใƒณใ—ใพใ—ใŸใ€‚

    ใƒžใƒซใƒใ‚นใƒฌใƒƒใƒ‰ใจใƒกใƒขใƒชๆœ€้ฉๅŒ–ใ‚’ๅŸบ็›คใจใ™ใ‚‹Unityใฎๆฌกไธ–ไปฃ้–‹็™บๆ–นๅผใงใ‚ใ‚‹ECSใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐใซ้–ขใ™ใ‚‹ๅŸบ็คŽ่ฌ›ๅบงใ‚’ๆบ–ๅ‚™ใ„ใŸใ—ใพใ—ใŸใ€‚ๆ—ขๅญ˜ใฎUnity้–‹็™บๆ–นๅผใจใฏๅ…จใ็•ฐใชใ‚‹ๆฆ‚ๅฟตใงใ‚ใ‚‹ใŸใ‚ใ€ๅˆใ‚ใฆๅญฆ็ฟ’ใ•ใ‚Œใ‚‹ๆ–นใซใฏๅ‚ๅ…ฅ้šœๅฃใŒ้ซ˜ใ„ๅˆ†้‡Žใงใ—ใŸใ€‚

    3.gif

    ๅญฆ็ฟ’้›ฃๆ˜“ๅบฆใ‚’ๅพใ€…ใซไธŠใ’ใ‚‹ใ“ใจใŒใงใใ‚‹ๆœ€้ฉใชใ‚ซใƒชใ‚ญใƒฅใƒฉใƒ ใ‚’้–‹็™บใ™ใ‚‹ใŸใ‚ใ€็ด„30ใฎใ‚ตใƒณใƒ—ใƒซใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใ‚’็ตŒใฆๆบ–ๅ‚™ใ—ใพใ—ใŸใฎใงใ€ECS้–‹็™บ็’ฐๅขƒใ‚’ๅญฆ็ฟ’ใ•ใ‚Œใ‚‹้š›ใซๅ›ฐ้›ฃใฏใชใ„ใ‚‚ใฎใจๆ€ใ„ใพใ™ใ€‚

    ๆ ธๅฟƒๅญฆ็ฟ’ๅ†…ๅฎน๏ผš

    • IComponentDataใ€ISystemใ€Authoringใƒ‘ใ‚ฟใƒผใƒณ

    • Burstใ‚ณใƒณใƒ‘ใ‚คใƒซใจIJobEntityใ‚’ๆดป็”จใ—ใŸไธฆๅˆ—ๅ‡ฆ็†

    • SRP Batcherใฎ่จญๅฎšใŠใ‚ˆใณGPU Instanceใฎๆดป็”จ

    • Unity PhysicsใจITriggerEventsJobใ‚’ๆดป็”จใ—ใŸ่ก็ชๅ‡ฆ็†

    • MonoBehaviourใจECSใ‚’ไธ€็ท’ใซไฝฟใ†Hybridใƒ‘ใ‚ฟใƒผใƒณ

    • EntityCommandBufferใ‚’ๆดป็”จใ—ใŸๅ‹•็š„ใ‚จใƒณใƒ†ใ‚ฃใƒ†ใ‚ฃ็ฎก็†ๆŠ€ๆณ•

    ่ฉณ็ดฐใซใคใ„ใฆใฏใ€ๆฌกใฎ่ฌ›ๅบง็ดนไป‹ใƒšใƒผใ‚ธใงใ”็ขบ่ชใ„ใŸใ ใ‘ใพใ™ใ€‚

    https://inf.run/352Jh

    ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚

    0
  • indiegamemaker๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ๏ฝฅ

    ไฟฎๆญฃๆธˆใฟ

    ECS/DOTS ใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐ ใƒžใ‚นใ‚ฟใƒผใ‚ฏใƒฉใ‚น ใ‚ชใƒผใƒ—ใƒณใฎใŠ็Ÿฅใ‚‰ใ›ใ‚’ใŠไผใˆใ—ใพใ™ใ€‚

    ecs_title2.png.webp

    ใ“ใ‚“ใซใกใฏใ€‚ใ‚คใƒปใ‚ธใ‚งใƒ’ใƒงใƒณใงใ™ใ€‚

    ็ตถๅฏพ่ฌ›ๅบง Unity - ECS/DOTS ใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐ ใƒžใ‚นใ‚ฟใƒผใ‚ฏใƒฉใ‚น่ฌ›ๅบงใ‚’ใ‚ชใƒผใƒ—ใƒณใ—ใพใ—ใŸใ€‚

    ใƒžใƒซใƒใ‚นใƒฌใƒƒใƒ‰ใจใƒกใƒขใƒชๆœ€้ฉๅŒ–ใ‚’ๅŸบ็›คใจใ™ใ‚‹Unityใฎๆฌกไธ–ไปฃ้–‹็™บๆ‰‹ๆณ•ใงใ‚ใ‚‹ECSใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐใฎๅŸบ็คŽ่ฌ›ๅบงใ‚’ใ”็”จๆ„ใ„ใŸใ—ใพใ—ใŸใ€‚ๆ—ขๅญ˜ใฎUnity้–‹็™บๆ‰‹ๆณ•ใจใฏๅ…จใ็•ฐใชใ‚‹ๆฆ‚ๅฟตใงใ‚ใ‚‹ใŸใ‚ใ€ๅˆใ‚ใฆๅญฆ็ฟ’ใ•ใ‚Œใ‚‹ๆ–นใซใฏๅ‚ๅ…ฅ้šœๅฃใŒ้ซ˜ใ„ๅˆ†้‡Žใงใ—ใŸใ€‚

    3.gif

    ๅญฆ็ฟ’้›ฃๆ˜“ๅบฆใ‚’ๅพใ€…ใซไธŠใ’ใ‚‹ใ“ใจใŒใงใใ‚‹ๆœ€้ฉใชใ‚ซใƒชใ‚ญใƒฅใƒฉใƒ ใ‚’้–‹็™บใ™ใ‚‹ใŸใ‚ใ€็ด„30ใฎใ‚ตใƒณใƒ—ใƒซใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใ‚’็ตŒใฆๆบ–ๅ‚™ใ—ใพใ—ใŸใฎใงใ€ECS้–‹็™บ็’ฐๅขƒใ‚’ๅญฆ็ฟ’ใ•ใ‚Œใ‚‹้š›ใซๅ›ฐ้›ฃใฏใชใ„ใ‚‚ใฎใจๆ€ใ„ใพใ™ใ€‚

    ๆ ธๅฟƒๅญฆ็ฟ’ๅ†…ๅฎน๏ผš

    • IComponentDataใ€ISystemใ€Authoringใƒ‘ใ‚ฟใƒผใƒณ

    • Burstใ‚ณใƒณใƒ‘ใ‚คใƒซใจIJobEntityใ‚’ๆดป็”จใ—ใŸไธฆๅˆ—ๅ‡ฆ็†

    • SRP Batcherใฎ่จญๅฎšใจGPU Instanceใฎๆดป็”จ

    • Unity PhysicsใจITriggerEventsJobใ‚’ๆดป็”จใ—ใŸ่ก็ชๅ‡ฆ็†

    • MonoBehaviourใจECSใ‚’ไธ€็ท’ใซไฝฟใ†Hybridใƒ‘ใ‚ฟใƒผใƒณ

    • EntityCommandBufferใ‚’ๆดป็”จใ—ใŸๅ‹•็š„ใ‚จใƒณใƒ†ใ‚ฃใƒ†ใ‚ฃ็ฎก็†ๆŠ€ๆณ•

    ่ฉณ็ดฐใซใคใ„ใฆใฏใ€ๆฌกใฎ่ฌ›ๅบง็ดนไป‹ใƒšใƒผใ‚ธใงใ”็ขบ่ชใ„ใŸใ ใ‘ใพใ™ใ€‚

    https://inf.run/352Jh

    ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚

    0
  • indiegamemaker๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ใ“ใ‚“ใซใกใฏใ€‚็š†ใ•ใ‚“ใ€ใ‚คใƒปใ‚ธใ‚งใƒ’ใƒงใƒณใงใ™ใ€‚

    Netcode for GameObjectใ‚’ๆดป็”จใ—ใŸ2D RPG่ฌ›ๅบงใ‚’ใ‚ชใƒผใƒ—ใƒณใ—ใพใ—ใŸใ€‚

    https://inf.run/iEGYz

    Battlefield.gif

    ๆœฌ่ฌ›็พฉใฏNetcode for GameObjects(NGO)ใฎๅŸบ็คŽใ‹ใ‚‰ใƒญใƒ“ใƒผใ€ใƒชใƒฌใƒผใ€ใƒžใƒƒใƒใƒกใ‚คใ‚ญใƒณใ‚ฐใพใงๆฎต้šŽ็š„ใซๅญฆ็ฟ’ใ™ใ‚‹้Ž็จ‹ใ‚’ๆ‰ฑใ„ใพใ™ใ€‚่ฌ›็พฉใงใฏใ‚ฟใ‚คใƒซใƒžใƒƒใƒ—ใƒ™ใƒผใ‚นใฎ2D RPGใ‚ฒใƒผใƒ ้–‹็™บใ‚’ๅฎŸ็ฟ’ใ—ใ€NetcodeๆฉŸ่ƒฝใ‚’้ฉ็”จใ—ใฆใƒใƒƒใƒˆใƒฏใƒผใ‚ฏใ‚ฒใƒผใƒ ๅˆถไฝœๆŠ€ๆณ•ใ‚’่บซใซใคใ‘ใพใ™ใ€‚

    09_lobby.gif

    ็‰นใซใ€Unity 6ใ‹ใ‚‰ๆ–ฐใ—ใๆไพ›ใ•ใ‚Œใ‚‹Multiplayer Serviceใ‚’้€šใ˜ใฆใ€ใƒใƒƒใƒˆใƒฏใƒผใ‚ฏใ‚ฒใƒผใƒ ้–‹็™บใ‚’ใ‚ˆใ‚Šไพฟๅˆฉใซใ‚ตใƒใƒผใƒˆใ™ใ‚‹APIใ‚’ๆดป็”จใ—ใพใ™ใ€‚ใ“ใ‚Œใซไผดใ„ใ€ๆ—ขๅญ˜ใฎLobbyใ€RelayๆฉŸ่ƒฝใ‚’ๅ…ˆใซๅญฆ็ฟ’ใ—ใŸๅพŒใ€Multiplayer Serviceใ‚’ๅˆฉ็”จใ—ใŸใƒฉใƒณใƒ€ใƒ ใƒžใƒƒใƒใƒกใ‚คใ‚ญใƒณใ‚ฐๆฉŸ่ƒฝใพใงๅฎŸ่ฃ…ใงใใ‚‹ใ‚ˆใ†ใซๆง‹ๆˆใ—ใพใ—ใŸใ€‚

    0
  • indiegamemaker๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ใ“ใ‚“ใซใกใฏใ€‚็š†ใ•ใ‚“ใ€ใ‚คใƒปใ‚ธใ‚งใƒ’ใƒงใƒณใงใ™ใ€‚

    Photon PUN2ใ‚’ๆดป็”จใ—ใŸใƒใƒƒใƒˆใƒฏใƒผใ‚ฏใ‚ฟใƒณใ‚ฏๅฏพๆˆฆใ‚ฒใƒผใƒ ่ฌ›ๅบงใ‚’ใ‚ชใƒผใƒ—ใƒณใ—ใพใ—ใŸใ€‚

    https://inf.run/YjE1w

    topImage01.png.webp

    ใƒใƒƒใƒˆใƒฏใƒผใ‚ฏใ‚ฒใƒผใƒ ้–‹็™บใ‚ทใƒชใƒผใ‚บใฏ็ทPart3ใงๆง‹ๆˆใ•ใ‚ŒใฆใŠใ‚Šใ€ไปŠๅ›žใฎ่ฌ›ๅบงใฏใƒ•ใ‚ฉใƒˆใƒณPUN2ใ‚’ๆดป็”จใ—ใŸใ‚ฟใƒณใ‚ฏๅฏพๆˆฆใ‚ฒใƒผใƒ ใ‚’้–‹็™บใ—ใพใ™ใ€‚ไปŠๅพŒๅ…ฌ้–‹ใ•ใ‚Œใ‚‹Part2ใ€Part3ใฏใ€็•ฐใชใ‚‹ใ‚ธใƒฃใƒณใƒซใฎใ‚ฒใƒผใƒ ใ‚’้–‹็™บใ™ใ‚‹ๆ–นๆณ•ใง่กŒใ‚ใ‚Œใพใ™ใ€‚ใ‚ทใƒฅใƒผใƒ†ใ‚ฃใƒณใ‚ฐใ€RPGใ€RTSใชใฉๆง˜ใ€…ใชใ‚ธใƒฃใƒณใƒซใจ็ต„ใฟๅˆใ‚ใ›ใฆๅฎŸ็ฟ’ไธญๅฟƒใฎใ‚ซใƒชใ‚ญใƒฅใƒฉใƒ ใ‚’ๆŠซ้œฒใ—ใ‚ˆใ†ใจใ—ใฆใ„ใพใ™ใ€‚

     PUN2ใ‚จใƒณใ‚ธใƒณใฏใƒชใƒชใƒผใ‚นใ•ใ‚Œใฆใ‹ใ‚‰ๅคใ„ใƒใƒƒใƒˆใƒฏใƒผใ‚ฏใ‚ฒใƒผใƒ ใ‚จใƒณใ‚ธใƒณใงใ™ใŒใ€ๅˆๅฟƒ่€…ใฎ้–‹็™บ่€…ใ‚„่ปฝใ„ใƒใƒƒใƒˆใƒฏใƒผใ‚ฏใ‚ฒใƒผใƒ ใ‚’้–‹็™บใ™ใ‚‹ใŸใ‚ใซใพใ ๅคšใไฝฟ็”จใ•ใ‚Œใฆใ„ใพใ™ใ€‚ใƒใƒƒใƒˆใƒฏใƒผใ‚ฏใ‚ฒใƒผใƒ ใฎ้–‹็™บใ‚’ๅˆใ‚ใฆๅญฆใถๅ ดๅˆใฏใ€้›ฃๆ˜“ๅบฆใŒ้ซ˜ใใชใ„ใ‚จใƒณใ‚ธใƒณใ‚’้ธๆŠžใ™ใ‚‹ใฎใ‚‚่‰ฏใ„ใ‚ขใƒ—ใƒญใƒผใƒใงใ™ใ€‚

    ใ‚ณใƒผใ‚นใฎใ‚ทใƒงใƒผใƒˆใ‚ซใƒƒใƒˆ

    ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚

    ใ‚คใƒปใ‚ธใ‚งใƒ’ใƒงใƒณใƒ‰ใƒชใƒผใƒ ใ€

    0
  • indiegamemaker๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ใ“ใ‚“ใซใกใฏใ€‚ใ‚คใƒปใ‚ธใ‚งใƒ’ใƒงใƒณใงใ™ใ€‚

    Unityใง็ฐกๅ˜ใซๆง‹็ฏ‰ใงใใ‚‹Backend Service

    ใ€Œ็ตถๅฏพ่ฌ›ๅบง! Unity6 - UGSใ‚’ๆดป็”จใ—ใŸใƒใƒƒใ‚ฏใ‚จใƒณใƒ‰ใ‚ทใ‚นใƒ†ใƒ ๆง‹็ฏ‰ใ€่ฌ›ๅบงใ‚’ใ‚ชใƒผใƒ—ใƒณใ—ใพใ—ใŸใ€‚

    https://inf.run/ZDDiw

    UGS๏ผˆUnity Gaming Services๏ผ‰ใฏใ€ใ‚ฒใƒผใƒ ใƒฉใ‚คใƒ–ใซๅฟ…่ฆใชใ‚ตใƒผใƒ“ใ‚นใ ใ‘ใ‚’

    ๆไพ›ใ—ใฆใ„ใ‚‹ใ‚ตใƒผใƒ“ใ‚นใจใ—ใฆใ€ใƒฆใƒ‹ใƒ†ใ‚ฃใจๅฎŒ็’งใชใ‚จใ‚ณใ‚ทใ‚นใƒ†ใƒ ใ‚’ๆง‹็ฏ‰ใ—ใฆใ„ใพใ™ใ€‚

    ใ‚ใชใŸใŒๅฟ…่ฆใจใ™ใ‚‹ๆฉŸ่ƒฝใ‚’ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใƒžใƒใƒผใ‚ธใƒฃใ‹ใ‚‰ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใ€ใƒ€ใƒƒใ‚ทใƒฅใƒœใƒผใƒ‰ใงใ„ใใคใ‹ใฎใ“ใจ

    ่จญๅฎšใ™ใ‚‹ใจใ€ใ™ใใซใƒใƒƒใ‚ฏใ‚จใƒณใƒ‰ใ‚ตใƒผใƒ“ใ‚นใ‚’ไฝฟ็”จใงใใ‚‹ใปใฉไพฟๅˆฉใงใ™ใ€‚

    ๆ—ขๅญ˜ใฎใ‚ฏใƒฉใ‚ฆใƒ‰ใ‚ทใ‚นใƒ†ใƒ ใงใ‚ใ‚‹AWSใ€MS Azureใ€Google Cloudใฎใ„ใšใ‚Œใ‹ใ‚’ไฝฟ็”จใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚

    ่€ƒใˆใŸใ‚‰ใ€ไปŠใฏUSGใ‚’้€šใ—ใฆใใ‚Œใ„ใงไพฟๅˆฉใซใƒใƒƒใ‚ฏใ‚จใƒณใƒ‰ใ‚ทใ‚นใƒ†ใƒ ใ‚’ๆง‹็ฏ‰ใ—ใฆใฟใพใ—ใ‚‡ใ†

    ๅผทใใŠๅ‹งใ‚ใ—ใพใ™ใ€‚

    ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚

    ใ‚คใƒปใ‚ธใ‚งใƒ’ใƒงใƒณใƒ‰ใƒชใƒผใƒ ใ€

    0

๏ฟฅ12,659