ç§ã®å¥åŠãªåµé çãªéã¯ãç§ã«ã²ãŒã ã®éçºããããããŸããã ç§ãã¡ã®å€§åŠãšååããã®ãªã·ã£èªã®ã¹ã¢ãŒã«ã¬ã¿ãŒã1ã€æã€ITäŒæ¥ã®åªããåŠçããã°ã©ã ã®ãããã§ãããŒã ãç·šæããããã¥ã¡ã³ããäœæããé«å質ã®QAãšã³ãžãã¢ïŒhelloãAnnaïŒïŒã®ç£ç£ã®äžã§ã¢ãžã£ã€ã«ã²ãŒã éçºãã»ããã¢ããããããšãã§ããŸãã
ããŸãèããã«ãUnityããšã³ãžã³ãšããŠéžæãããŸããã ããã¯çŽ æŽããããšã³ãžã³ã§ãéåžžã«æªãã²ãŒã ããã°ããç°¡åã«äœæããããšãã§ããŸãã åªããã²ãŒã ãäœæããã«ã¯ãããã¥ã¡ã³ããã·ã£ãã«ã§æãäžããããã€ãã®æ©èœãæãäžããéçºçµéšãç©ãå¿ èŠããããŸãã
ç§ãã¡ã®ã²ãŒã ã¯ãç©ççãªãšã³ãžã³ãäºæ³å€ã®æ¹æ³ã§äœ¿çšããã¢ãã€ã«ãã©ãããã©ãŒã ã§å€ãã®ããã©ãŒãã³ã¹ã®åé¡ãåŒãèµ·ãããŸããã ãã®èšäºã¯ãç§ãã¡ã®ã²ãŒã ã®äŸãšããŠãç©çãšã³ãžã³ãšãå®è¡å¯èœãªããŒã¿çãžã®éã®ãã§èŠããããã®ä»äºã®ãã¹ãŠã®æ©èœãšã®ç§ã®èŠåŽã«ã€ããŠèª¬æããŠããŸãã
ã²ãŒã
ã²ãŒã ã®GIF
ãããã©ã®ããã«äœããããã«ã€ããŠã®ããã€ãã®èšèã
Blenderãšããã€ãã®Pythonã¹ã¯ãªããã䜿çšããŠäœæãããŸããã æ®åœ±æã«ã¯ãç»é¢ã®é ã«16åã®æ£æ¹åœ¢ãããããã®è²ã¯æµ®åå°æ°ç¹æ°ã®32ãããããšã³ã³ãŒãããŸãããããã¯ãç¹å®ã®æéã§ã®é»è©±ã®å転ã§ãã RãG-ããŒã¿ãB-ããªãã£ã 0-0ã255-1ãã³ã³ãã¥ãŒã¿ãŒã§ãã£ããã£ããããããªã¯ãffmpegã䜿çšããŠãã¬ãŒã ã«åå²ããããã³ãŒããããåãã¬ãŒã ã«ã¯è§£èªãããè§åºŠãå²ãåœãŠãããŸããã ãã®åœ¢åŒã«ãããæ®åœ±ããã»ã¹äžã®å§çž®ã«èããããšãã§ãããã¹ãŠã®ããã°ã©ã ãæéã®çµéã«ã€ããŠãããã«ç°ãªãã¢ã€ãã¢ãæã£ãŠãããšããäºå®ãå æããŸããã å®éã«ã¯ãã²ãŒã ã¯ã¬ã³ããªã³ã°ãšåãæ¹æ³ã§ãã¬ã€ãããŸãã

ãããã©ã®ããã«äœããããã«ã€ããŠã®ããã€ãã®èšèã
Blenderãšããã€ãã®Pythonã¹ã¯ãªããã䜿çšããŠäœæãããŸããã æ®åœ±æã«ã¯ãç»é¢ã®é ã«16åã®æ£æ¹åœ¢ãããããã®è²ã¯æµ®åå°æ°ç¹æ°ã®32ãããããšã³ã³ãŒãããŸãããããã¯ãç¹å®ã®æéã§ã®é»è©±ã®å転ã§ãã RãG-ããŒã¿ãB-ããªãã£ã 0-0ã255-1ãã³ã³ãã¥ãŒã¿ãŒã§ãã£ããã£ããããããªã¯ãffmpegã䜿çšããŠãã¬ãŒã ã«åå²ããããã³ãŒããããåãã¬ãŒã ã«ã¯è§£èªãããè§åºŠãå²ãåœãŠãããŸããã ãã®åœ¢åŒã«ãããæ®åœ±ããã»ã¹äžã®å§çž®ã«èããããšãã§ãããã¹ãŠã®ããã°ã©ã ãæéã®çµéã«ã€ããŠãããã«ç°ãªãã¢ã€ãã¢ãæã£ãŠãããšããäºå®ãå æããŸããã å®éã«ã¯ãã²ãŒã ã¯ã¬ã³ããªã³ã°ãšåãæ¹æ³ã§ãã¬ã€ãããŸãã
é£è¡æ©ã¯ç¡éã®äºæž¬äžå¯èœãªæŽçªãé£è¡ããŸããããã«ã¯ããŒãã¹ãããããçš®é¡ã®ã³ã€ã³ãæµãããŒãã³ã°ããµã€ã«ãæã€ããšãã§ããŸãã å£ã«è¡çª-ããã«å€±ãããŸããã
ãã®ã²ãŒã ã®ç¹åŸŽã¯ãã¬ãã«ãå°å¹³ç·ã«éä»ãããããã®å¶åŸ¡ããžã£ã€ãã¹ã³ãŒãã§ãããããã«çµ¶å¯Ÿçã§ããããšã§ãã é»è©±ã45床åŸãã-é£è¡æ©ã¯45床ã®è§åºŠã§é£ãã ã ãããã«ãŒããäœæããå¿ èŠããããŸã-ã¿ãã¬ããããããå¿ èŠããããŸãã æ床ã¯ãªããããŒãã³ã¢ã®ã¿ã§ãã
éçºè ã«ãšã£ãŠã2ã€ã®äž»ãªæãããªåé¡ããããŸãã
åé¡1ïŒç¡é倧
Unityã¯ããªããžã§ã¯ãã®åº§æšãå°æ°ç¹ä»¥äž6æ¡ãŸã§ã®ç²ŸåºŠã§éåžžã®32ãããæµ®åå°æ°ç¹æ°ã®åœ¢åŒã§ä¿åããã³åŠçããŸãã åé¡ã¯ãç§ãã¡ã®ã²ãŒã ãç¡éã§ãããååã«é·ãé£ã¹ã°ãå£ãä»ããŠãã¬ããŒããããŸã§ãããŸããŸãªçš®é¡ã®ã¯ã¬ã€ãžãŒãªãã°ãçºçããããšã§ãã ãã®åé¡ã解決ããã«ã¯ãããã€ãã®ã¢ãããŒãããããŸãã
- ç¡èŠãã ããšãã°ãMinecraftã§ã¯ãäžžã誀差ã«ãã£ãŠã²ãŒã ãããé¢çœããªãã ãé ãã®åå°ããšããçŸè±¡ãçºçããŸããã
- é£è¡æ©ãåç¹ããé ãããå Žåã¯ãïŒ0; 0; 0ïŒã«ãã¬ããŒãããŸãã
- åºæºç¹ã®å€æŽã 移åããã®ã¯å¹³é¢ã§ã¯ãªãããã®åšå²ã®ã¬ãã«ã§ãã
ãã®å Žåãåãå ¥ããããå¯äžã®ãªãã·ã§ã³ã¯ãå®è£ ããã3çªç®ã®ãªãã·ã§ã³ã§ãã å®è£ ã«ã€ããŠ-å°ãåŸã§ã
æåã®-ç¡èŠ-ã¯çµ¶å¯Ÿã«åãå ¥ããããŸããã ç§ãã¡ã®ã²ãŒã ãæ°žé ã«ãã¬ã€ã§ãããããããäœæããããšã¯ã誰ãã解決ããèå³æ·±ãïŒãããŠéåžžã«åçŽãªïŒã¿ã¹ã¯ã§ãã ã¯ãããããŠæ®éã®éåœäººãã¬ã€ã€ãŒãéå°è©äŸ¡ãã¹ãã§ã¯ãããŸãã-é£è¡æ©ã¯é«éã§ãã¬ãã«ã¯äºæ³å€ã«çæãããŸãã ãããŠãå£ãééããåã«é£ã¶ãšã5åéã®é£è¡ã®åŸãããæ£ç¢ºãªå°æãæããã«å€±æãå§ããŸãã
2çªç®-ãã¬ã€ã€ãŒãšå šäžçã®ãã¬ããŒã-ã¢ãã€ã«ããã€ã¹ãã²ããŸããããå Žåã«ãã£ãŠã¯-çŽ0.5ç§éã ããã¯éåžžã«é¡èã§ãããããåãå ¥ããããŸããã ããããããã¯åçŽãªç¡éã®PCã²ãŒã ã«ã¯å®å šã«åãå ¥ãããããªãã·ã§ã³ã§ãã
åé¡2ïŒã¬ãã«ã®çæ

ç¡éã®ã©ã³ããŒãæ§ç¯ããã«ã¯ãããã€ãã®åºæ¬çãªã¢ãããŒãããããŸãã
- ã©ã³ãã ã«çµåãããæ¢è£œã®ã¬ãã«ã»ã°ã¡ã³ãã®äœ¿çšã ããã¯ãããšãã°Subway Surfersã§è¡ãããŸãã å®è£ ã¯ç°¡åã§ããããã¬ãŒã€ãŒã¯ããã«æ £ããŠãäœãæºåããããç¥ã£ãŠããŸããããã¯éå±ã§ãã
- ã¬ãã«ãšã¯ãé害ç©ãã©ã³ãã ã«é 眮ãããåãªãç·ã§ãã ããã¯ãJoypack JoyrideãšTemple Runã§è¡ãããŸãã ç§ãã¡ã®å Žåãããã«ããæäœã®æ°ãå€§å¹ ã«å¶éãããŸãã
- ãã¹ãŠãã©ã³ãã ã«çæãããŸãã ãã¬ã€ã€ãŒã«ãšã£ãŠæãé£ãããäºæž¬äžå¯èœã§èå³æ·±ããªãã·ã§ã³ã§ãã
ãã¡ãããæãé£ãããªãã·ã§ã³ãéžæããŸããã 圌ã®å¿ã®äžã«ã¯ãéåžžã«è€éãªç¶æ ã®æ©æ¢°ãããããããã¯ã©ã³ãã ãªé·ç§»ãå®è¡ããŸãã ãããããã®èšäºã®ãã¬ãŒã ã¯ãŒã¯å ã§ã¯ãèå³æ·±ãã¡ã«ããºã ã§ã¯ãªããéžæããåç §ãã€ã³ããèæ ®ããã¬ãã«çæããã»ã¹ãšãã®çµç¹ã§ãã
ã¬ãã«æ§é

ç§ãã¡ã¯æŽçªãé£ã³ãŸããåºãšå€©äºããããŸã-ããã€ãã®ãããã¯ãåºæ¬çãªå»ºç©ãŠãããã ãããã¯ã¯ãã·ãŒã ã¬ã¹ã«é©åããã»ã°ã¡ã³ãã«çµåãããŸãã ã»ã°ã¡ã³ãã¯ãå šäœãšããŠãèªç©ºæ©ã®åšããå転ãããã®é床ãã¯ãã«ã«æ²¿ã£ãŠç§»åããé£è¡ã®é¯èŠãäœãåºããŸãã ã»ã°ã¡ã³ããã«ã¡ã©ã®èŠéãé¢ãããšããžã§ãã¬ãŒã¿ãŒã®æ瀺ã«åŸã£ãŠããããã¯ãã¯ãªã¢ãããã¬ãã«ã®æåŸã®ã»ã°ã¡ã³ãã«ãããã³ã°ãããæ°ãããããã¯ã§åããããŸãã ãã®ãããªã»ã°ã¡ã³ãã®å šäœãã¬ãã«ã§ãã
çµéšè±å¯ãªUnityéçºè ã¯ãäœæ¥éãšèãããããã¹ãŠã®èœãšãç©Žãèæ ®ããŠãæ£åœã«çãã²ãããããšãã§ããŸããã ããããèšèã§ã¯ãã¹ãŠãç°¡åã§ãããç§ã¯éçºçµéšããããŸããã§ãã...
Unityã®ç©çã®åºæ¬æ³å
1ãæã®éçºãå®éšãããã³ããã¥ã¡ã³ãã®èªã¿åãã®ããã«ãUnityã§ç©çåŠã®3ã€ã®åºæ¬æ³åãç¹å®ããŸããã éåããå¯èœæ§ã¯ãããŸãããéåã®ã³ã¹ãã¯çç£æ§ã§ãã ãšã³ãžã³ã¯ééãã«ã€ããŠèŠåããããšã¯ãªãããããã¡ã€ã©ãŒããªããã°ãããã«ã€ããŠç¥ãããšã¯ã§ããŸããã ãããã®æ³åŸãé å®ããªããšãã²ãŒã ãæ°ååé ããªãå¯èœæ§ããããŸãã ç§ãç解ããŠããããã«ãæ³åŸã«éåãããšãç©çãšã³ãžã³ãåé¡ã®ã³ã©ã€ããŒãäžæ£ãšããŠããŒã¯ãããªããžã§ã¯ãäžã§åäœæãããã®åŸã«ç©çã®åèšç®ãè¡ããšããäºå®ã«ã€ãªãããŸãã
1.ã³ã©ã€ããŒã¯ã移åãå転ããªã³/ãªããããã³ãµã€ãºå€æŽããªãã§ãã ããã
ãªããžã§ã¯ãã«ã³ã©ã€ããŒãè¿œå ãããããã«ãã³ã©ã€ããŒãŸãã¯ãããå«ãŸããŠãããªããžã§ã¯ããžã®åœ±é¿ãå¿ããŠãã ããã éåžžã®ã³ã©ã€ããŒã¯éåžžã«éçãªãªããžã§ã¯ãã§ãã ããšãã°ãããªãŒã«ã¯ã³ã©ã€ããŒã1ã€ãããŸãã ããªãŒããã¬ãŒã€ãŒã«èœã¡ãå¯èœæ§ãããå Žåããã®ããªãŒã¯ããã©ãŒãã³ã¹ãšãšãã«èœã¡ãŸãã ãã®æšããã³ã©ã€ããŒãæã£ãŠããªããåãããšãã§ããéæ³ã®æ é€äŸ¡ã®é«ãé²ããæé·ããå Žåãçç£æ§ã®äœäžã䌎ããŸãã
2.ãªããžã§ã¯ãã移åãŸãã¯å転ããå Žå-åºäœã§ãªããã°ãªããŸãã Rigidbodyã³ã³ããŒãã³ããå¿ èŠã§ãã
ããã¯ããã¥ã¡ã³ãã«èšèŒãããŠããŸããã¯ãã Unityã¯éåžžã«ã·ã³ãã«ã§çŽæçã§ãããããã²ãŒã ã®äœæãéå§ããããã«ææ ®æ·±ãèªãå¿ èŠã¯ãããŸããã
ãªãžããããã£ã¯ããªããžã§ã¯ãã«å¯Ÿããç©çãšã³ãžã³ã®å§¿å¢ãå€æŽããŸãã å€åãããã«åœ±é¿ãäžãå§ããç·åœ¢ããã³è§é床ãæã¡ãæãéèŠãªããšã¯ãç©çåŠã®å®å šãªåèšç®ãåŒãèµ·ããããšãªããç©çãšã³ãžã³ã«ãã£ãŠåºäœã移åããã³å転ã§ããããšã§ãã
åºäœã«ã¯ãéåžžãšéåã®2çš®é¡ããããŸãã æ®éã®äœã¯äºãã«ããŸãæ®éã®ã³ã©ã€ããŒãšçžäºäœçšããŸããããäœã¯å¥ã®äœãééã§ããŸããã ããããã£ãã¯ããã£ã¯ãåçŽåãããã·ãã¥ã¬ãŒã·ã§ã³ã®ã«ãŒã«ã«åŸããŸããéåãªã©ã®å€åã®åœ±é¿ãåããŸããã 圌ãã¯èªç±ã«äºãã«ééããŠã³ã©ã€ããŒãééã§ããŸãããç¡éã®è³ªéãæã£ãŠãããã®ããã«æ®éã®åºäœãã¯ãããŸãã
ãªããžã§ã¯ããç©çãšã³ãžã³ã®å¶åŸ¡äžã§äžããã®ãæ®å¿µã§ã¯ãªãå Žå-éåžžã®ãœãªããã䜿çšããŸãã ããšãã°ãåŽããç³ãçŸãã転ããå¿ èŠãããå Žåã ã¹ã¯ãªãããŸãã¯ã¢ãã¡ãŒã¿ãŒããªããžã§ã¯ããçŽæ¥å¶åŸ¡ããå Žå-ããããã£ãã¯ããã£ã䜿çšããããããšã³ãžã³ãšãªããžã§ã¯ãã®ã©ã³ãã ãªè¡çªã«åžžã«èŠåŽããå¿ èŠã¯ãããŸããã ããšãã°ãã¢ãã¡ãŒã·ã§ã³ãã£ã©ã¯ã¿ãŒãŸãã¯èªå°ããµã€ã«ãäœããšæ¥è§Šãããšãã«ççºããå Žåã
3.ãªããžã§ã¯ãããœãªããããã£ã®å Žå-ãœãªããããã£ã®ã¡ãœãããä»ããŠç§»åããã³å転ããå¿ èŠããããŸãã
ã³ã©ã€ããŒãè¿œå ããçŽåŸã«ãªããžã§ã¯ãã®ãã©ã³ã¹ãã©ãŒã ã«çŽæ¥ã¢ã¯ã»ã¹ããããšãå¿ããŠãã ããã ä»ããããŠæ°žé ã«ããã©ã³ã¹ãã©ãŒã ã¯æµã§ããçç£æ§ãæãªããã®ã§ãã transform.position = ...ãŸãã¯transform.eulerAngles = ...ãèšè¿°ããåã«ããç§ã¯ä»ãç§ããã£ãŠããããšãå®å šã«æ確ã«ç解ããŸããããã®è¡ã«ãã£ãŠåŒãèµ·ãããããã¬ãŒãã«æºè¶³ããŠããŸãããšãããã¬ãŒãºãèšã£ãŠãã ããã éå±€é¢ä¿ãå¿ããªãã§ãã ããããœãªãããå«ããªããžã§ã¯ããçªç¶ç§»åãããšãç©çãåèšç®ãããŸãã
ãœãªããã¹ããŒãå¶åŸ¡ã«ã¯3ã€ã®ã¬ãã«ããããŸãã
-æé«ã¬ãã«ããããã£ãŠèªç¶ãªã¬ãã«ã¯ã匷ãã«ãããã®ã§ãã ãããã¯ãAddForceããã³AddTorqueã¡ãœããã§ãã ç©çãšã³ãžã³ã¯äœéãèæ ®ããçµæã®é床ãæ£ããèšç®ããŸãã 身äœã®çžäºäœçšã¯ãã¹ãŠãã®ã¬ãã«ã§è¡ãããŸãã
-äžçŽã¬ãã«-é床ã®å€æŽã ãããã¯ãé床ãšè§é床ã®ããããã£ã§ãã ãããã«åºã¥ããŠãçžäºäœçšäžã«èº«äœã«åœ±é¿ãäžããåãèšç®ãããæããã«ã次ã®ç¬éã®èº«äœã®äœçœ®ãèšç®ãããŸãã ãœãªããããã£ã®é床ãéåžžã«é ãå ŽåããªãœãŒã¹ãç¯çŽããããã«ãç ãã«èœã¡ããã
-æäžäœã¬ãã«ã¯ããªããžã§ã¯ãã®åº§æšãšç©ºéå ã®åãã§ãã ãããã¯ãMovePositionããã³MoveRotationã¡ãœããã§ãã ç©çèšç®ã®æ¬¡ã®å埩ïŒããã¯éèŠã§ãã1ã€ã®ãã¬ãŒã å ã®åŸç¶ã®åã¡ãœããåŒã³åºãã¯åã®ã¡ãœããã眮ãæããããã§ãïŒã¯ããªããžã§ã¯ããæ°ããäœçœ®ã«ãã¬ããŒãããŸãã ç§ãã¡ã®ã²ãŒã ã¯ããªããžã§ã¯ããå®å šã«å¶åŸ¡ã§ããããããŸãã«ãã®ã¬ãã«ã䜿çšããŠããŸãã
è¹å€ã«æ®ã£ãŠãããã®ã¯äœã§ããïŒ ãªããžã§ã¯ããšã¹ã±ãŒã«ã®ãªã³/ãªããåãæ¿ããŸãã ãšã³ãžã³ãæ··ä¹±ãããããšãªããªããžã§ã¯ãã®ãµã€ãºãå€æŽããæ¹æ³ããããã©ããã¯ããããŸããã ããã§ã¯ãªãå¯èœæ§ããããŸãã ãªããžã§ã¯ãããªãã«ããã®ã¯ç°¡åã§ããªã³ã«ããŸã...ã¯ãããªã³ã«ãããªããžã§ã¯ãã®è¿ãã®ç©çãåèšç®ããŸãã ãããã£ãŠãåæã«å€ãã®ãªããžã§ã¯ããå«ããªãããã«ããŠããŠãŒã¶ãŒãæ°ä»ããªãããã«ãã®ããã»ã¹ãæéå ã«æ¡åŒµããŠãã ããã
ããã©ãŒãã³ã¹ã«ã¯åœ±é¿ããŸããããããã©ãŒãã³ã¹ã«ã¯åœ±é¿ããæ³åŸããããŸãããœãªããã¯ãœãªããã®äžéšã«ã¯ãªããŸããã 芪ãªããžã§ã¯ããæ¯é çã§ãããããåã¯èŠªã«å¯ŸããŠéæ¢ãããŸãŸã«ãªãããäºæž¬äžèœã§èª€ã£ãåäœãããŸãã
Unityã«ã¯ãç©çââåŠã«é¢ä¿ããªããèšåã«å€ããå¥ã®æ©èœããããŸããInstantiate/ Destroyã¡ãœããã䜿çšãããªããžã§ã¯ãã®åçãªäœæãšåé€ã¯ãéåžžã«é ãããã»ã¹ã§ãã ãªããžã§ã¯ãã®äœæäžã«ããŒãã®äžã§äœãèµ·ãã£ãŠãããæ³åããããšããæããŠããŸãã äœããåçã«äœæããã³åé€ããå¿ èŠãããå Žåã¯ãå·¥å Žã䜿çšããã²ãŒã ã®èªã¿èŸŒã¿äžã«å¿ èŠãªãªããžã§ã¯ãã§ãããã«çæãè£çµŠããŸãã ã€ã³ã¹ã¿ã³ã¹åã¯æåŸã®æ段ãšããŠåŒã³åºãå¿ èŠããããŸã-ãã¡ã¯ããªãŒãçªç¶ç©ºããªããžã§ã¯ãã䜿ãæãããæ°žä¹ ã«ç Žæ£ããããšãå¿ããå Žå-äœæããããã¹ãŠãåå©çšããå¿ èŠããããŸãã
æ³åŸãå®è·µãã
ïŒãã®ã»ã¯ã·ã§ã³ã§ã¯ãã²ãŒã ãšãã®æ©èœãäœæããéã®æšè«ã®è¡ã§ãïŒ
ã¬ãã«ã¯æããã«å転ããŠç§»åããå¿ èŠããããŸãã
ã¬ãã«ã®å転軞ïŒé£è¡æ©ïŒãåç¹ã«é 眮ããããšã§ã人çãæ°žé ã«æ¥œã«ããŸãã ããã§ããã€ã³ãã®åº§æšãã¯ãã«ã®é·ããèšç®ããããšã«ããããã€ã³ããããã€ã³ããŸã§ã®è·é¢ãèšç®ã§ããŸãã äºçŽ°ãªããšã§ãããçŽ æŽãããã
åã¯èŠªã®äžéšã§ããããããªããžã§ã¯ãã®å ±å移åã¯Unityã®ãªããžã§ã¯ãã®éå±€ãéããŠç°¡åã«å®è£ ãããŸãã ããšãã°ã説æãããŠããã¬ãã«æ§é ã¯ã次ã®ããã«è«ççã«å®è£ ãããŸãã
-
- - \
- - - \ 1
- - - - \ 1 (Collider)
- - - - \ ...
- - - - \ N
- - - \ 2 ...
- - - \ 3 ...
- - - \ 4 ...
ïŒã¬ãã«ãªããžã§ã¯ããªãã§ãå®è¡ã§ããŸãïŒ
軞äžã®ã¹ã¯ãªããã¯ããžã£ã€ãã¹ã³ãŒãããããŒã¿ãåä¿¡ããé©åãªè§åºŠãèšå®ããŸã...ãããŠãå転ãéå±€ã«æ²¿ã£ãŠã³ã©ã€ããŒã«éä¿¡ããããããäžåºŠã«å€ãã®ã«ãŒã«ã«éåããŸãã 軞ããœãªããããã£ã«ããé©åãªæ¹æ³ã§å転ãããå¿ èŠããããŸãã ããããã¬ãã«ã®åãã¯ã©ãã§ããïŒ æããã«ãå転軞ãšã¬ãã«ãªããžã§ã¯ãã¯ç§»åããŸãããåã»ã°ã¡ã³ããåå¥ã«ç§»åããå¿ èŠããããŸããããããªããšãç¡éã®åé¡ã«çŽé¢ããŸãã ãããã£ãŠããœãªããã¯ã»ã°ã¡ã³ãã§ãªããã°ãªããŸããã ãããããã§ã«éå±€ã®äžäœã«ãœãªããããã£ãããããœãªããããã£ããœãªããããã£ã®äžéšã«ããããšã¯ã§ããŸããã è«ççã§ãšã¬ã¬ã³ããªéå±€ã¯é©åãããå転軞ã«ãªããžã§ã¯ãã䜿çšããã«ãå転ãšç§»åã®äž¡æ¹ã§ãã¹ãŠãæã§è¡ãå¿ èŠããããŸãã ç¬èªã®ã²ãŒã ãã¬ã€æ©èœãããå Žåã¯ãããã«åããŠãã ããã
ã»ã°ã¡ã³ããçŽæ¥ç§»åããå¿ èŠãããå Žåã¯ãã»ã°ã¡ã³ããå転ããå¿ èŠããããŸãã äž»ãªé£ç¹ã¯ãUnityç©çãšã³ãžã³ã«ã¯ãä»»æã®ç¹ãäžå¿ã«ãªããžã§ã¯ããå転ããããã¡ãœããããªãããšã§ãïŒTransformã«ã¯ãããŸãããèªæãããªãã§ãã ããïŒã ãäžå¿ã®åšããå転ãããã ãã§ãã ä»»æã®è»žãäžå¿ãšããå転ã¯å転ãšç§»åã®äž¡æ¹ã§ããããããã¯2ã€ã®ç°ãªãæäœã§ãããããããã¯è«ççã§ãã ããããæš¡å£ããããšãã§ããŸãã ãŸããã»ã°ã¡ã³ãããã®è»žã®åšãã«å転ããã次ã«ããã®è»žãã®åº§æšãå¹³é¢ã®åšãã«å転ãããŸãã é£è¡æ©ãåç¹ã«ãããšããäºå®ã«ãããåŠæ ¡ã®ãžãªã¡ããªãèŠããŠãŠã£ãããã£ã¢ã«ç»ãå¿ èŠãããããŸãããUnityã«ã¯ãã¹ãŠãæã£ãŠããŸãã å転è§ãã¯ã©ãŒã¿ããªã³ã«å€æãããã€ã³ãã®åº§æšã§ä¹ç®ããã ãã§ååã§ãã ãšããã§ãå転è¡åã䜿çšãããåã«ãèšäºã®å·çäžã«ãã®æš©å©ã«ã€ããŠç¥ããŸããã
é£è¡æ©ãå£ã«æŒã蟌ã¿ã殺ãããšãæãã§ããæµãããŸãã é£è¡æ©ãå£ããæŒãã®ããã·ãŒã«ãããããçãæ®ãã®ã«åœ¹ç«ã¡ãŸãã ããã¯ç°¡åã«å®è£ ãããŸã-åãã¬ãŒã ãåã»ã°ã¡ã³ãã®åº§æšã«è¿œå ããããã®åŸç Žæ£ãããå€äœãã¯ãã«ããããŸãã ç¹å¥ãªæ¹æ³ã§é£è¡æ©ãããã¯ããã人ã¯èª°ã§ããããã¯ã®ãã¯ãã«ãæ®ãããšãã§ããŸããããã¯ããã®å€äœãã¯ãã«ã«è¿œå ãããŸãã
æçµçã«ãåãã¬ãŒã ã®ã»ã°ã¡ã³ãã®å®éã®åº§æšã¯ã次ã®ããã«ã¬ãã«ã®ã¬ãã«ã³ã³ãããŒã«ã»ã³ã¿ãŒã«ãã£ãŠèšç®ãããŸãã
Vector3 position = segment.CachedRigidbody.position; Vector3 deltaPos = Time.deltaTime * Vector3.left * settings.Speed; segment.truePosition = Quaternion.Euler( 0, 0, deltaAngle ) * ( position + deltaPos + movementOffset );
åçæäžã®ã»ã°ã¡ã³ãã®æ£ç¢ºãªçµåã«å¿ èŠãªãã¹ãŠã®èšç®ãšæŸèæã®åŸãsegment.truePositionãã»ã°ã¡ã³ããœãªããã®MovePositionã¡ãœããã«éä¿¡ãããŸãã
çµè«
ã©ã®ãããéãåäœããŸããïŒ å€ããã©ãã°ã·ãã-Nexus 5ããã³LG G2-ã²ãŒã ã¯60 FPSã§é£è¡ããã»ã°ã¡ã³ãã®çæäžã«æ°ããã³ã©ã€ããŒãå«ããéãã»ãšãã©ç®ç«ããªããããŒããŠã³ãããïŒããã¯é¿ãããããè²»çšã¯ããããŸããïŒãã¯ãŒã ã¯å°é¢ããåŒãåºãããŸãïŒå°çã®ãããªãã®ããããåé¿ããããã«ããããä»ã第äžæ³ã®æå³çãªéåããããŸãïŒã 40ã®å®å®ããFPSã¯ãééãããžã£ã€ãã¹ã³ãŒããåããããã€ã¹ãæäŸããŸãã ãã¹ãŠã®æ³åŸã®ç¥èãšèæ ®ãªãã§ã¯ãããã©ãŒãã³ã¹ã¯ãæ§ããã«èšã£ãŠãäžååã§ãé»è©±ã¯éç±ããŠããŸããã ããŸãã«ãå€ãã®ããšã§ãç§ã¯2Dç©çåŠã®ããã®æ°åããªãå°çšãšã³ãžã³ãæžãããšãèããŠããŸããã 幞ããªããšã«ãUnityã®ç©çåŠã¯ååã«æè»ã§ããããããã¹ãŠã®åé¡ãåé¿ããŠç¬èªã®ã²ãŒã ãäœæããããšãã§ãããããæ°é±éã®å®éšã§ååã§ããã
Unityç©çãšã³ãžã³ã®äž»ãªèœãšãç©Žããã¹ãŠç¥ã£ãã®ã§ã人é¡ã®3人ã®è²§ããåŠçã®å€¢ã人çãä¿¡ä»°ãç Žå£ããããšã§ãã²ãŒã ã®ã¯ããŒã³ããã°ããäœæã§ããŸãã ãã®èšäºãããªãã®å°æ¥ã®æéãå€§å¹ ã«ç¯çŽããããªãã®ãããžã§ã¯ãã®çç£çç©çåŠã®æ³åã®ããã»ã©æçœã§ãªãéåãèŠã€ããã®ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãã
ã·ã³ãã«ã§çŽæçãªããŒã«ã䜿çšããŠããå Žåã§ããããã¥ã¡ã³ããšå®éšãèªãã§ãã ããã