UE4ã§ãããã¯ãŒã¯PONGäœæåå¿é²â¡ ããŒã®äœæ
ã¯ããã«
ååã®ç¶ãã ä»åã¯ããŒã®äœæãè¡ããŸããããã«ããŠãããã¯ãŒã¯ã²ãŒã ã§å€§åãªæŠå¿µã§ããåæåŠçãåºãŠããã®ã§æ··ä¹±ããã¡ã§ããæå ã§è©ŠããŠè²ã ããã£ãŠã¿ãŠãã ãããåºæ¬çã«ããã°ã«ã¯ãã£ãããšãã解説ãæžããŠè©³çŽ°ã¯åç»ã§ãèŠãããã¹ã¿ã€ã«ã§ãããŸãã®ã§ã容赊ãã ãã å®æãªããžããªã¯äžã«çœ®ããŠãããŸãã
äœãæ¹
åç»
詳现ã¯åç»ãèŠãŠãã ããã
ãŸã äœæããŠãªãã§ã
å šäœã®æµã
- Gameç»é¢ã®ã»ããã¢ããã
- ããŒã³çæåŸãåãã¬ã€ã€ãŒãæå®ã®äœçœ®ã«åãããã
- ããŒã®ç§»åå¶åŸ¡ããŒããæžãã
1. Gameç»é¢ã®ã»ããã¢ãã
StarterContentã®Floorã䜿ã£ãŠã¹ããŒãžãäœããŸãããPlayerStartã®äœçœ®ã¯ã®ã¡ã®ãã¹ããã¯ã©ã€ã¢ã³ãã®ããŒã®äœçœ®ã«ãªããŸãã
2. ããŒã³çæåŸãåãã¬ã€ã€ãŒãæå®ã®äœçœ®ã«åãããã
åºåºã¯ã©ã¹ããGameModeãã®BPãäœæããŸãã以äžã®åŠçã¯ãã®BPã«æžã蟌ã¿ãŸãã
ã©ã®PlayerStartããçæãããã®ãããããªãã®ã§åãåæããã¢ã¯ã¿ãçæãããå¯èœæ§ããããŸãïŒæå®ã§ããæ¹æ³ããã£ããæããŠãã ããïŒããªã®ã§ãã¬ã€ã€ãŒãçæãããçŽåŸã«æå®ã®äœçœ®ãèšå®ããŠãããŸãã ã¯ã©ã€ã¢ã³ãããã¹ããªã®ããå€å¥ããããã« is local player controller ã䜿çšããããšã§æ±ãŸããŸãã Get Player Start Trans ã¯èªäœã®ããŒãã§ããäžèº«ã¯ã¿ã°ãèŠãŠç¹å®ã®PlayerStartã®TransformãååŸããã ãã§ãã
3.ããŒç§»åå¶åŸ¡ã®ããŒããæžã
ããŒBPãäœæããŸããåºåºã¯ã©ã¹ã¯ãActorãã§ãã以äžã®åŠçã¯ãã®BPã«æžã蟌ã¿ãŸããããããåæåŠçãåºãŠããŸãã
ã¬ããªã±ãŒãïŒè€è£œïŒãåºãŠããŸãããã®åã«å³ã§åæããã£ãã説æããŸãã ããã§ã¯ããŒãã®è§£èª¬ã«å ¥ããŸãã
移åæ¹åãæ ŒçŽãã Velocityå€æ° ãã¬ããªã±ãŒãããèšå®ã§äœããããã§ãµãŒãåŽã§å€æ°ã®å€ãå€ããããšã§å šã¯ã©ã€ã¢ã³ãã«ãã®å€æŽãé©çšãããããšãã§ããã
ã¯ã©ã€ã¢ã³ãåŽã§æäœãããŒãåããæäœããããšãã«ãã®å€æŽããµãŒãåŽã«äŒãããã®ã§ OnServer ã®èšå®ã§ã€ãã³ããå®è¡ãããããã®èšå®ãããããšã§ã€ãã³ãããµãŒãã«éä¿¡/å®è¡ããããšãã§ããããªã®ã§å€æ°ã®ã¬ããªã±ãŒããå šã¯ã©ã€ã¢ã³ãã«è¡ãããšãã§ããã
Movement ã€ãã³ã㯠ã¬ããªã±ãŒããããå€æ°ãå©çšããŠå®éã«ç§»åãè¡ããããã¯ãµãŒãã«éä¿¡ããå¿ èŠã¯ãªãåèªã§å®è¡ãããã°ããã®ã§ã¬ããªã±ãŒãããªãã
ãããã«
ããã§Menuã¬ãã«ããå®è¡ãããã°åäœãããšæããŸããç»åã¯å®æåã§ãã以äžã®ããã«ããŒãäºã€çæãããŸãã
次å: ããŒã«ãäœæããã
- äœè : æ¹åä¹ ,å è¶ç¥æš¹
- åºç瀟/ã¡ãŒã«ãŒ: ããŒã³ããžã¿ã«
- çºå£²æ¥: 2015/07/25
- ã¡ãã£ã¢: 倧åæ¬
- ãã®ååãå«ãããã° (1件) ãèŠã
UE4ã§RGBãããPostProcessMaterialãäœã
ã¯ããã«
Twitterã§æ軜ã«èŠãç®ãããããå å·¥ã®ä»£è¡šäŸãšããŠãRGBããããããã£ãã®ã§äœæããŠã¿ãŸããã ïŒä»ã«ã¯ãã«ãŒã ãšãããããŸããïŒ
äœã£ãåŸã«æ°ã¥ãããã§ããã© å
¬åŒãµã³ãã«ã«RGBãããããããŸãããã
RGBããããšã¯
ç§ãã¡ãèŠãŠããç»é¢ã¯RGBãšèšãããå ã®äžåè²ãçµã¿åããããŠæç»ãããŠããŸãã ãã®RGBãããããã®èŠçŽ ããšã«ç°ãªãæ¹åã«ã«ãããããšã§ã§ãããšã¢ãè¡šçŸã RGBããããšãããŸãã(èšäºãæžããåŸã«æ°ã¥ããŸãããè²åå·®ã£ãŠåŒã°ããŠãããã§ããã)
ãªãããæãã«èŠããã®ãèšèªåãããã£ãã§ããã§ããŸããã§ããããªã®ã§ãšã¢ããšããè¡šçŸã 䜿ãããŠããã ããŸãã
çµæ
çµæã¯åç»ã§èŠãŠãã ããã
éåžžã®æç»ãšã®æ¯èŒããªãããããã«ããã£ãã®ã§æ¥µç«¯ã«RGBãããå¹æãèŒããç»åãèŒããŠãããŸãã
äœãæ¹
å šäœã®ããŒã
æµã
- Material ã PostProcessçšã«èšå®
- RGBããšã«ç»é¢ã®æç»ãå解
- RGBããããã®UVãããããç»é¢æç»ããããã
- PostProcessVolumeã«äœæããPostProcessãããªã¢ã«ãèšå®
1. Material ã PostProcessçšã«èšå®
PostProcessçšã®ãããªã¢ã«ãäœæãããšã㯠Material Domain ã PostProcess ã«ããå¿ èŠããããŸãã
2.RGBããšã«ç»é¢ã®æç»ãå解
ComponentMaskã䜿ãããšã§èŠçŽ ã®æœåºãè¡ãããšãã§ããŸããããã䜿ãç»é¢æç»ãRGBããšã«åããããšãã§ããŸããç»é¢æç»ã¯ SceneTexture ã§ååŸããããšãã§ããŸããåç §ãããã¯ã¹ãã£éžã¶ Scene Texture id ã PostProcessInput ã«å€æŽããå¿ èŠããããŸãã
3.RGBããããã®UVãããããç»é¢æç»ããããã
OffsetHogeãã©ã¡ãŒã¿ã䜿ããç»é¢æç»ã®RGBããšã«UVãããããŸããUVã«åŸã£ãŠæç»ãããŠããç»é¢æç»ãããã§ãããããšãã§ããŸãã
4. PostProcessVolumeã«äœæããPostProcessãããªã¢ã«ãèšå®
ãã©ã¡ãŒã¿
åç»ã§èšå®ãããã©ã¡ãŒã¿ã§ãããã®ããããäžåºŠè¯ãã®ã§ã¯ãªãããšæããŸãã
- äœè : æ¹åä¹ ,å è¶ç¥æš¹
- åºç瀟/ã¡ãŒã«ãŒ: ããŒã³ããžã¿ã«
- çºå£²æ¥: 2015/07/25
- ã¡ãã£ã¢: 倧åæ¬
- ãã®ååãå«ãããã° (1件) ãèŠã
UE4ã§ãããã¯ãŒã¯PONGäœæåå¿é²â Sessionäœæ/åå ç·š
泚ææžã
å匷ããªããã¡ã¢ããŠããã®ã§ééãããããšæããŸãã ééãããã£ãå Žåã¯å®¹èµŠãªãã³ã¡ã³ãããŠããããšå¬ããã§ãã
ã¯ããã«
éä¿¡ãããŠéã¶ã²ãŒã ãåœããåã®ããã«ããäžã®äžã§èªåããã®ãããªã²ãŒã ãäœãããã äœãããšãã§ããã°å¶äœã®å¹ ãåºãããªãšæã£ãã®ã§äœã£ãŠã¿ã
åç»ãèŠãã
åãããçæããŠå³åŸå·ŠåŸããããããããã¯ãŒã¯ã²ãŒã ã«ã€ããŠä¿¯ç°çã«åºæ¬çãªéšåãç¥ã£ãŠããäœæ¥ ãããæ¹ãè¯ããšæã£ãã®ã§UnrealEngineå ¬åŒãåºããŠãããã¥ãŒããªã¢ã«åç»ããŸãèŠããã æ¥æ¬èªåå¹ãã€ããŠããã®ã§å®å¿ã ã£ãã
ãããžã§ã¯ãéå§
ããŒã決å®
ããã³ããäœãããšãç®æããã
ãã³ã¯äžèšURLãèŠãã°ããããã©ã²ãŒã ã»ã³ã¿ãŒã®ãšã¢ããã±ãŒã®ãããªã²ãŒã ã§ãã ãäºãã«çãçžæã®é£å°ã«å ¥ããããšãç®çã®ã²ãŒã ã ã
ãããã¯ãŒã¯ã²ãŒã åŠç¿çšãšããŠã®ãããžã§ã¯ããªã®ã§ãé¢çœãã¯èããã«ã§ããã ãã·ã³ãã«ãªç©ãé¡æã«ãããã
åç»ã§åŠãã 倧äºãªããš
- ã¯ã©ã€ã¢ã³ããå Œä»»ãããµãŒããšå°ä»»ã®ãµãŒããååšããã(listenãµãŒã)
- ããŒã¿ã¯ã¬ããªã±ãŒã(è€è£œ)ãããŠãµãŒããšã¯ã©ã€ã¢ã³ãéã®æŽåæ§ãåãã
- éä¿¡ãæ ä¿ããªããŠãããåœä»€ã«é¢ããŠã¯Realiveã«ãã§ãã¯ãå ¥ããã«ããããšã§ã¡ãã£ãšããæé©åã«ãªãã
- èŠããªãã¢ã¯ã¿ã®éä¿¡ãŸã§è¡ãå¿ èŠã¯ãªããèŠããŠããã¢ã¯ã¿ã«é¢ããéä¿¡ã ããè¡ããšã¯ãŒã«ãªãããã¯ãŒã¯ã²ãŒã ãäœããã
å®éã«äœæããŠã¿ãã
Sessionäœæ/åå ç·šåç»æçš¿
åç»ã«ããŠYoutubeã«æçš¿ãããå ·äœçãªããŒãã®çµã¿æ¹ã¯ãã¡ããèŠãã
é²ç»æã«ããŸããŸãšãŸã£ãŠããªããŠäžæã«åãããšãã§ããªãã£ããå°åžžã§ã¯ãªãããã声ãèãåãã¥ããã®ã§ãªããšãããããå€åãã€ãºæå¶ã²ãŒããæªãã 以äžãåç»å ã§éèŠãããªéšåãæãåºããŠæžãçããã
éèŠã¡ã¢
ãšã©ãŒãã³ããªã³ã°
Game Instance ã¯ã©ã¹ã䜿çšããããªããªã Game Instance ã§ã¯ Network ãšã©ãŒãåŒãèµ·ãããéã«åŒã³åºãããã€ãã³ãã以äžã®ãããªèšå®ãããŠããããã
- NetworkError
- Trable Error
ãµãŒãã®çš®é¡
UE4ã§ã¯ Listen server ãš dedicated server ã®äºçš®é¡ãååšããã éãã¯ä»¥äžã®éãã ã
Listen Server
ãµãŒããŒãšã¯ã©ã€ã¢ã³ãã®äž¡æ¹ã®åœ¹ç®ãæ ããéä¿¡ã«ãããŠãµãŒããŒãšã¯ã©ã€ã¢ã³ããå Œä»»ããŠããããšããå€å°ä»ã®ã¯ã©ã€ã¢ã³ããããéä¿¡ã®é 延ãå°ãªã
dedicated server
ãµãŒããŒãšããŠã®åœ¹å²ã ããæãããæç»ãè¡ãããµãŒããšããŠã®åœ¹å²ãšããŠæé©åãããŠããã
ãšã©ãŒè§£æ±º(å²ãšããããã¡)
ãã¹ããã¬ã€æãlistenãµãŒãåŽã§æ°ããã¬ãã«ãžç§»è¡ããéã«ãªãã·ã§ã³ã«listenãæž¡ããå Žå㫠以äžã®ãããªãšã©ãŒãåºã
Client1 : Connection Lost Client1 : Received Failure
ãã㯠ListenãµãŒãåŽã§æ°ããListenãµãŒããšããŠç«ã¡äžããããšããéã«ãå ã æ¥ç¶ããŠããã¯ã©ã€ã¢ã³ããšã®æ¥ç¶ãåããŠããŸãåºçŸãããšã©ãŒã§ããã ãªã®ã§ãã¹ããã¬ã€ã®éã¯ClientåŽã§ãã¹ããæå®ãããããã㯠dedicated server ãæå®ããããšã§ã©ã¡ãã®ãŠã£ã³ããŠãã¯ã©ã€ã¢ã³ãã®ç¶æ ã§å§ããæ¹æ³ãããã
(ãµãŒãåŽã§ã¯ listen ãªãã·ã§ã³ãæž¡ããªãããã«å Žååããããæ段ãããããã)
次åäºå : Baräœæã®èšäºãæžãã
- äœè : æ¹åä¹ ,å è¶ç¥æš¹
- åºç瀟/ã¡ãŒã«ãŒ: ããŒã³ããžã¿ã«
- çºå£²æ¥: 2015/07/25
- ã¡ãã£ã¢: 倧åæ¬
- ãã®ååãå«ãããã° (1件) ãèŠã
第10åã·ã¡ã³ã³æ¯ãè¿ãâ
äŒç»ã®äºãèããŠããæã®äºãã¡ã¢ãªãŸã
ä»åã®ã·ã¡ã³ã³ã®äŒç»ã¯ä»¥äžã®ç¹ã«æ³šæããŠæ±ºãã
- èŠãç®ã®å®æ床ãé«ãã«ããããšãç®æšãšããã
- ããŸãç¹æ®ãªã«ãŒã«ã»ã²ãŒã ã«ããªã
- ã¡ã€ã³ã§ã¯1ç»é¢ã§å®çµãããããªäŒç»ã«ããã
- äžæ £ããªæè¡ãå¿ èŠãããªäŒç»ã«ã¯ããªãã
èŠãç®ã®å®æ床ãé«ãã«ããããšãç®æšãšããã
ããã«ã²ãŒã æ§ãé¢çœããŠãèŠãç®ã®å®æ床ãäœããšé¢å ãçãã²ãŒã ã«ãªã£ãŠããŸããšèããããèŠãç®ã®å®æ床ããããããšãç®æšã«ããŠéçºãè¡ãããšã«ããã
ããŸãç¹æ®ãªã«ãŒã«ã»ã²ãŒã ã«ããªã
ç¹æ®ãªã«ãŒã«ã«ãããšé¢çœããèŠå€±ããã¡ã«ãªãäŒç»ãå®ãŸããã²ãŒã ã®ããŒã¹ãã§ãããŸã§æéãããããã¡ã«ãªããéã«å ãé¢çœãã«ãŒã«ã§ããã°ããŒã¹ãäœãçµãããŸã§ã®æéãçããªããç®æšã§ããèŠãç®ã®å®æ床ã«åãå ¥ããããšãæ¯èŒç容æã«ãªãã
ã¡ã€ã³ã§ã¯1ç»é¢ã§å®çµãããããªäŒç»ã«ããã
åºããšãªã¢ã䜿çšããäŒç»ã«ããŠããŸããšãã®åã ãã¬ãã«ãã¶ã€ã³ã«æéãå²ãå¿ èŠãããã èŠãç®ã®å®æ床ãç®çãšãããšåºããšãªã¢ã«ãããã³ã«è² æ ã倧ãããªãããããã¯é¿ããã
äžæ £ããªæè¡ãå¿ èŠãããªäŒç»ã«ãã¯ããªãã
å¶äœæéã1ã±æãããªãïŒå®éã«ã¯1ã±æãã¹ãŠã·ã¡ã³ã³ã«è²»ãããããã§ã¯ãªãã®ã§ãã£ãšçãïŒã®ã§äžæ £ããªæè¡ã«ã¯æãåºããªãããã«ãããäŸãã°ãããã¯ãŒã¯é¢é£ãªã©ã ããã¯äžæ £ããªæè¡ã«æãåºããçµæã·ã¹ãã ãäœãåºãããšã«ãã£ã±ããã£ã±ãã«ãªã£ãŠããŸãèŠãç®ã«ãŸã§æãåããªããªã£ãŠããŸãäºãäºæ³ããããã§ããã
ããã
é·ãæç« ãæžãããšãèŠæãªã®ã§ãã®ãããã§ãããã«ãããã»ã»ã»ã» â¡ããããã¯ããããŸãããæžããšãããã³ãŒãã®éšåããªïŒ
ãUnity2017.1.xãPC, Mac & Linux Standalone Twitterã·ã§ã¢æ©èœãäœã
åãã«
èªäœã²ãŒã ããã¬ã€ããŠãããããã«ã¯ãŸã人ã«èªç¥ããŠãããå¿ èŠãããããã®ããã«ã¯ã·ã§ã¢æ©èœã倧äºã ãšæããã®ã§ Unityã«ãããã·ã§ã¢æ©èœã®äœãæ¹ãæžãããã®éã«ã€ãŸä»ããç¹ãã¡ã¢ã£ãŠããã
以äžã®æµãã§æžããŠè¡ããŸã
- ã³ãŒã
- ãã£ãããšããæµã
- ã€ãŸã¥ããã€ã³ã
äœãæ¹
ã·ã§ã¢æ©èœã¯åãã©ãããã©ãŒã ããšã«å®è£ ã®ä»æ¹ãéãã ä»åã¯ãPC, Mac & Linux Standaloneã察å¿ã®ã·ã§ã¢æ©èœäœææ¹æ³ãæžãçããŸãã
ã³ãŒã
å®éã«Unity1weekã§äœ¿çšããã³ãŒããæç²ããŠæ²èŒããŸãã 倧äºãªã®ã¯ Application.OpenURLã®ç®æãªã®ã§ãã®éšåã³ããã°çŽãã«å®è£ ã§ããŸãã
public void Share() { // æçš¿ããå 容ã®æ§ç¯ ãããããstring workURL = "https://sim-mokomo-shop.booth.pm"; StringBuilder builder = new StringBuilder(); builder.AppendLine($"ããããéã¹ããâ{workURL}"); builder.AppendLine("#VoiceRock #unity1week"); string text = builder.ToString(); // æå®ã®URLã䜿ãæçš¿ Application.OpenURL( "http://twitter.com/intent/tweet?text=" + WWW.EscapeURL( $"{text}" ) ); }
æµã
æçš¿ããéã®æååãäœãã
Application.OpenURLãçšããŠTwitteræçš¿ç»é¢ãéãã
ãã®éã«textãã©ã¡ãŒã¿ã«ã¯ããããã決ããŠãããæçš¿ã®å 容ãæž¡ããŠããã
ã€ãŸã¥ããã€ã³ã
䜿çšããé¢æ°ã«æ°ãã€ãã
æå®ã®ãµã€ããéãæ¹æ³ãšããŠããã€ããããäžã«æ¹æ³ãæ²èŒãããŠããã
- Application.ExternalEval
- Application.OpenURL
1.㯠Unity5.4.0以éã¯ãµããŒãããŠããªã ãšæžãããŠããã®ã§2.ã䜿çšããã
æçš¿æååã«æ°ãã€ãã
textãã©ã¡ãŒã¿ã«æçš¿ããããå 容ã®æååãåã蟌ãæã«ãšã¹ã±ãŒãåŠçãæãå¿ èŠããããããã¯ç¹å®ã®æåã«ã€ããŠãäŸãã° & < > çãããã«è©²åœããã
ãããã®æåã䜿ã£ãŠããæååããã®ãŸãŸOpenURLã«æž¡ããå Žåãµã€ããéãããšãã§ããªããªã£ãŠããŸã(äœãèµ·ããªã)
ãªã®ã§ WWW.EscapeURLãçšããŠURLãšããŠæç«ããäºãä¿èšŒããå¿ èŠãããã
çµæ
é©åœãªãã¿ã³ã«äžèšã®é¢æ°ãç»é²ããŠãã¿ã³ãæŒããæã«å®è¡ãããäºã§ Twitteræçš¿ç»é¢ãã²ãããŸãðª