ð°UE5ã®ããã°ã©ãã³ã°(ãã«ãŒããªã³ããšC++)ã«ã€ããŠè§£èª¬

- UnrealEngineã§ã®ããã°ã©ãã³ã°ã«ã€ããŠ
- å®éã«ãããã°ã©ãã³ã°(ãã«ãŒããªã³ã)ã§ã²ãŒã ã®æ©èœãäœãæ§åãèŠãŠã¿ãã
- UnrealEngineã®ããã°ã©ãã³ã°èšèªã¯2ã€ãã
- ãã«ãŒããªã³ããšã¯ïŒ
- ããäžã€ã®ããã°ã©ãã³ã°ãC++ããšã¯ïŒ
- äºã€ã®èšèªã¯åãæ©èœãå®è£ ã§ãã
- ãã«ãŒããªã³ããšC++ã®ç¹åŸŽ(ã¡ãªãã,ãã¡ãªãã)
- ã²ãŒã ã¯ãC++ããšããã«ãŒããªã³ããã©ã¡ããäžæ¹ã§ããäž¡æ¹ã§ãäœããïŒ
- ãã«ãŒããªã³ããšC++ã©ã£ã¡ã§ã²ãŒã éçºãããïŒ
- åå¿è ã®æ¹ã¯ãŸããã«ãŒããªã³ããæ¥µããã
- ãã®æ¬ã§ã¯ãã«ãŒããªã³ãã䜿ã£ãŠã²ãŒã éçºã«ã€ããŠåŠãã§ãããŸãð
- ãŸãšã - UE5ã®ããã°ã©ãã³ã°ã«ã€ããŠ
ã³ã¡ã³ãð€
ä»åã¯UnrealEngineã®ããã°ã©ãã³ã°ãšãã«ãŒããªã³ããšC++ã®æŠèŠã«ã€ããŠè§£èª¬ããŠãããŸãã
ãã®ããŒãžã§ã¯UE5ã®ããã°ã©ãã³ã°ãšã¯ã©ããªãã®ãªã®ãïŒäºã€ããããã°ã©ãã³ã°èšèªããã«ãŒããªã³ãããšãC++ãã®éããããŸãæåã¯ã©ã£ã¡ã䜿ãã¹ãã®ããªã©ã解説ããŠãããŸãã
UnrealEngineã§ã®ããã°ã©ãã³ã°ã«ã€ããŠ
ãŸããããããããã°ã©ãã³ã°ãã«ã€ããŠè§£èª¬ãããšãããã°ã©ãã³ã°ãšã¯åŠçãæ©èœãäœãããšã§ããäŸãã°ã¹ããã§é»æºãã¿ã³ãæŒããã黿ºãä»ããããFPSã®ã²ãŒã ããã¬ã€äžã«ã¯ãªãã¯ããŠåŒŸãæã£ãããå埩ã¢ã€ãã ã䜿ã£ããHPãå埩ãããªã©ã®ããã°ã©ã (æ©èœ)ãæžããŠäœãäºãããã°ã©ãã³ã°ãšèšããŸãã
ã§ã¯UnrealEngineã®ããã°ã©ãã³ã°ãšã¯äœãå ·äœçã«æããŠããã®ã§ããããïŒããã°ã©ãã³ã°ãè¡ãäºã«ããã²ãŒã ã®äžã§ãã£ã©ãæäœãããããã¿ã³ãæŒããŠã¢ã€ãã ãè³Œå ¥ããããªã©ãã²ãŒã ãåãããäºãã§ããããã«ãªããŸããèŠããã«ããã°ã©ãã³ã°ã§ã²ãŒã ã«äœããã®æ©èœã远å ã§ãã²ãŒã ãåããäºãã§ãããšããäºã§ããã²ãŒã ãäœãäžã§ããã°ã©ãã³ã°ã¯äžçªéèŠãšãã£ãŠãããé ç®ã«ãªããŸããããã°ã©ãã³ã°æªçµéšè ã®æ¹ã§ã1ãããçè§£é ããæ§ã«ãã®æ¬ã§ã¯UE5ã®ããã°ã©ãã³ã°ã«ã€ããŠè§£èª¬ããŠããã®ã§ãã²æŽ»çšããŠã¿ãã ããã
ããã°ã©ãã³ã°ãªãã§ã²ãŒã ã¯äœããªãïŒ
ããŸã«UnrealEngineã®èšäºãªã©ãèŠããšãããã°ã©ãã³ã°ãªãã§ã²ãŒã ãäœããïŒããšãããã¬ãŒãºãããŸã«èŠãããŸãããããã°ã©ãã³ã°ãªãã§ã²ãŒã ãäœãäºã¯ã©ã®ã²ãŒã ãšã³ãžã³ã§ãåºæ¥ãŸããããã æ£ç¢ºã«ãããšUnrealEngineã§ã¯ã³ã³ããŒãã³ããšåŒã°ããããã°ã©ãã³ã°ã«ä»£ããæ©èœã«ãã£ãŠæäœéã®æ©èœã¯å®è£ ã§ããŸãããããã ãã§ã¯ãšãŠãã²ãŒã éçºã¯ã§ããŸããããã£ãŠããã°ã©ãã³ã°ãªãã§ã²ãŒã ãäœãããšããã®ã¯å人çã«ã¯ããŸãã«ãèªåŒµãã衚çŸã«æããŸã..ãUnrealEngineã ãšãã«ãŒããªã³ããŸãã¯C++ãUnity(ä»ã®ã²ãŒã ãšã³ãžã³)ã ãšC#ãšããããã«ã²ãŒã éçºã«ããã°ã©ãã³ã°ã¯æ¬ ãããŸããã
ã§ã¯å®éã«ããã°ã©ãã³ã°ã®éçšãèŠãŠã¿ãŸãããã
å®éã«ãããã°ã©ãã³ã°(ãã«ãŒããªã³ã)ã§ã²ãŒã ã®æ©èœãäœãæ§åãèŠãŠã¿ãã
ã§ã¯ç°¡åã«ããã°ã©ãã³ã°ã«ãã£ãŠã²ãŒã ã«æ©èœã远å ããŠã¿ãããšæããŸããä»åã¯äžã®åç»ã§ã¯ãªã¹ã¿ã«ã®ãããªãªããžã§ã¯ããå転ãããæ©èœãããã°ã©ãã³ã°ã«ãã£ãŠ1ããå®è£ ããŠã¿ãŸããâ
ãã«ãŒããªã³ãã«ãã£ãŠã¢ã€ãã ãå転ããæ©èœã远å ãããã®ã確èªã§ããŸããã§ã¯ãäžã®åç»ã§å®éã«ã©ããªäºãããã®ãäžåäžåæé ã確èªããŠãããŸãã- ãŸãæåã«ã²ãŒã ããã¬ã€ããæç¹ã§ã¯ã¯ãªã¹ã¿ã«ã¯å転ããŠããŸãããããã¯ãã ã®3Dã¢ãã«ã§äœãæ©èœãæã£ãŠããªãããã§ãã
- ãã«ãŒããªã³ããšåŒã°ããã°ã©ããç¹ãã§ããããã°ã©ãã³ã°ã«ãã£ãŠãå転ãããæ©èœãäœããŸãããããã¯âæåã¯æå³äžæã§ããå匷ããã°çè§£ã§ããããã«ãªããŸããç°¡åã«èª¬æãããšã¢ã€ãã ãåžžã«å転ããããšããæå³ã®ããã°ã©ãã³ã°ã«ãªããŸãã
- ããã§å床ã²ãŒã ããã¬ã€ããŠã¿ããšã¢ã€ãã ãå転ããããã«ãªããŸããã
ãã£ãã®24ç§ã§æåã¯åããªãã£ãã¢ã€ãã ãå転ããããã«ãªããŸãããããããããã°ã©ãã³ã°ãã«ããããå転ãããšããããã°ã©ã (æ©èœ)ãã€ãããšããäºã«ãªããŸãã
ã³ã¡ã³ãð€
ã²ãŒã ã®æ©èœãäœã = ããã°ã©ãã³ã°ã§ããã§ã¯ãªããšãªãããã°ã©ãã³ã°ã«ã€ããŠçè§£ã§ããæã§UnrealEngineã®äºã€ã®ããã°ã©ãã³ã°æ¹æ³ã玹ä»ããŠãããŸãã
UnrealEngineã®ããã°ã©ãã³ã°èšèªã¯2ã€ãã
UnrealEngineã§ã¯ããã°ã©ãã³ã°æ¹æ³ã¯ããã«ãŒããªã³ãããšãC++ãã®äºã€ããããŸããã€ãŸãäºã€ã®æ¹æ³ããããšããäºã¯ã²ãŒã ã®æ©èœã®äœãæ¹ãäºçš®é¡ãããšããäºã§ããã©ã¡ããåãæ©èœãäœãäºãã§ããã®ã§ãããããããã¡ãªãããã¡ãªãããããã®ã§éããšãšãã«ç޹ä»ããŠãããŸãããŸãã¯ãã«ãŒããªã³ããã玹ä»ããŠãããŸãã
ãã«ãŒããªã³ããšã¯ïŒ
ãã«ãŒããªã³ããšã¯ã°ã©ããç·ã§ç¹ããäºã«ãã£ãŠã²ãŒã ã®æ©èœãäœãããã°ã©ãã³ã°ã§ããå
ã»ã©ã®YouTubeã®åç»ã®äžã§ããã«ãŒããªã³ãã§ã¢ã€ãã ãå転ãããæ©èœãã€ãããŸããâ
ãã«ãŒããªã³ãã¯çŽæçã§ãšãŠãç°¡åãå®è£
ãéãã®ãç¹åŸŽã§ããã§ã¯ãã«ãŒããªã³ãã®ä»çµã¿ã«ã€ããŠå°ã玹ä»ããŸãã
ã»ãã«ãŒããªã³ãã®ä»çµã¿ãç°¡åã«ç޹ä»
åç»ã§ç޹ä»ããã¢ã€ãã ãå転ããããã«ãŒããªã³ãã«ã€ããŠã©ãããä»çµã¿ãªã®ãç°¡åã«èª¬æããŸãã
ãã«ãŒããªã³ãã§ã¯ããŒããšåŒã°ããã°ã©ããçœãç·(ã¯ã€ã€ãŒ)ã§ç¹ããŠåŠçãäœã£ãŠãããŸããå·Šã®ãã€ãã³ãTickããšããããŒã(èµ€è²ã®ã°ã©ã)ã¯ãåžžã«ãã®ããŒã(ã°ã©ã)ã«ã€ãªããåŠçãå®è¡ããããšããæ©èœãæã£ããã®ã§ãå³ã®ãAdd Actor Local RotatationããšããããŒã(ã°ã©ã)ã¯ãã¢ã€ãã ãå転ãããããšããæ©èœãæã£ããã®ã«ãªã£ãŠããŸãããã®äºã€ã®ããŒããã¯ã€ã€ãŒ(çœãç·)ã§ç¹ãäºã§ãåžžã«ã¢ã€ãã ãå転ãããããšããæ©èœã«ãªããã²ãŒã ããã¬ã€ãããšã¢ã€ãã ãå転ããããã«ãªããšãã£ãä»çµã¿ã«ãªã£ãŠããŸãâ
ãããã£ãŠããŒããç¹ããŠã²ãŒã ã®æ©èœãäœæããæ¹æ³ããã«ãŒããªã³ãã«ãªããŸãããã«ãŒããªã³ãã®ãããªã°ã©ãã§ããã°ã©ãã³ã°ãè¡ãäºããããžã¥ã¢ã«ã¹ã¯ãªããã£ã³ã°ããšåŒã³ãŸãã
ã³ã¡ã³ãð€
ãªããããã§çè§£ã§ããªããå šãåé¡ã¯ãããŸãããããããå®éã«ãã«ãŒããªã³ãã䜿ã£ãŠçè§£ããŠãããŸãããã
â»ããžã¥ã¢ã«ã¹ã¯ãªããã£ã³ã°ãšã¯ïŒ
ããžã¥ã¢ã«ã¹ã¯ãªããã£ã³ã°(å¥åããžã¥ã¢ã«ããã°ã©ãã³ã°)ã¯ããã¹ãã§ã¯ãªãã°ã©ãæ¹åŒã§è¡ãããã°ã©ãã³ã°ã§ããããžã¥ã¢ã«ã¹ã¯ãªããã£ã³ã°ã§æåãªãã®ã«åäŸçšã®ææãScratchãããããŸãâ
ããããã®æ©èœãæã£ãã°ã©ããçµã¿åãããäºã«ãã£ãŠããã°ã©ãã³ã°ãè¡ã£ãŠãããŸããããžã¥ã¢ã«ã¹ã¯ãªããã£ã³ã°ã¯çŽæçã«æäœãããããããæ¯èŒçç°¡åã«äœ¿çšã§ããŸãããã ãããã°ã©ãã³ã°ã®ä»çµã¿ãšããŠã¯äžè¬çãªããã°ã©ãã³ã°ãšäœãå€ãããŸããã
ã³ã¡ã³ãð€
ãã«ãŒããªã³ã = ããžã¥ã¢ã«ã¹ã¯ãªããã£ã³ã°ã§ç°¡åãªããã°ã©ãã³ã°ã®äºã§ãããã«ãŒããªã³ãã¯ç°¡åããã ãšã¯æãåãããšæããŸããããã®ãã«ãŒããªã³ãã ãã§æ¬åœã«ã²ãŒã ã¯äœããã®ã§ããããïŒçãã¯YESã§ããããããã«ãŒããªã³ãã§ã¯ã§ããªãäºããããŸããããã¯åŸã»ã©ç޹ä»ãããšããŠæ¬¡ã«ããäžã€ã®ããã°ã©ãã³ã°ãC++ããèŠãŠãããŸãããã
ããäžã€ã®ããã°ã©ãã³ã°ãC++ããšã¯ïŒ
C++ãšã¯äžè¬çãªããã°ã©ãã³ã°ãšåãããã¹ãããŒã¹ã®ããã°ã©ãã³ã°ã«ãªããŸãããã«ãŒããªã³ããšåããã²ãŒã ã®æ©èœãäœæããäºãã§ããå
ã»ã©ãã«ãŒããªã³ãã§äœã£ãã¢ã€ãã ãå転ãããæ©èœãC++ã§äœãäºãã§ããŸããå®éã«C++ã§äœãæ§åãYoutubeã§èŠãŠã¿ãŸãããããã«ãŒããªã³ããšåãã¢ã€ãã ãå転ããæ©èœãC++ã«ãã£ãŠäœæããŠããŸãâ
ã³ã¡ã³ãð€
ã§ã¯C++ã«ã€ããŠç°¡åã«ä»çµã¿ã玹ä»ããŠãããŸãããæ¢ã«ãã«ãŒããªã³ãã§ã²ãŒã ãéçºããäºã決ããŠããæ¹ã¯ããã¯ã¹ãããããŠãæ§ããŸããã
âC++ã®ä»çµã¿ãç°¡åã«ç޹ä»
ã§ã¯ãäžã®YouTubeã®åç»ã§ã¢ã€ãã ãå転ãããããã«äœæããã³ãŒã(ããã¹ã)ã®æå³ã«ã€ããŠç°¡åã«è§£èª¬ããŸãâ
ç»åã§èšãèµ€æ ã®éšåãã¢ã€ãã ãå転ããæ©èœãªã®ã§ãããã解説ããŠãããŸã(äžã®ã³ãŒããèµ€æ ã®éšåã®ããã¹ãã§ã)ãæåã¯èš³ãããããªãããšæããŸããå匷ããã°çè§£ã§ããããã«ãªã£ãŠãããŸãã
void ARotationItem::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
FQuat QuatRotation = FQuat(FRotator(0.f, 1.0f, 0.f));
AddActorLocalRotation(QuatRotation, false, 0, ETeleportType::None);
}
ã§ã¯ã解説ããŸãã
- ãŸãã¯ä»¥äžã®ã³ãŒãã®äžã«éµæ¬åŒ§{}ããããŸããããã®éµæ¬åŒ§ã®äžã«æžããåŠçã¯ãåžžã«å®è¡ããããŸããã€ãŸã以äžã®ã³ãŒãã¯åžžã«äœãã®åŠçãå®è¡ããããã«å¿ èŠãªã³ãŒããšããäºã§ãã
void ARotationItem::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
- ããã«äžã®å¥ã®ããŒãã§ã¯ãã¢ã€ãã ãå転ãããããšããåŠçãæžããŠãããŸãã
FQuat QuatRotation = FQuat(FRotator(0.f, 1.0f, 0.f));
AddActorLocalRotation(QuatRotation, false, 0, ETeleportType::None);
- 1ã®éµæ¬åŒ§ã®äžã«2ã®ã³ãŒããå ¥ããŠä»¥äžã®ããã«ãªããŸãããããã§ãåžžã«ã¢ã€ãã ãå転ãããæ©èœãã®åºæ¥äžããã§ãã
void ARotationItem::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
FQuat QuatRotation = FQuat(FRotator(0.f, 1.0f, 0.f));
AddActorLocalRotation(QuatRotation, false, 0, ETeleportType::None);
}
- ã²ãŒã ããã¬ã€ããŠã¿ããšãã«ãŒããªã³ããšåãããã«ã¢ã€ãã ãå転ããããã«ãªããŸããã
ãªããšãªãC++ã¯ãããããã®ãªãã ãªãšã€ã¡ãŒãžãæŽããŠããããã°ãªãã±ãŒã§ãã
ã³ã¡ã³ãð€
C++ = ããã¹ãããŒã¹ã®ããã°ã©ãã³ã°ã§ããèŠãŠã®éãç°¡åãããªã®ã¯ãã«ãŒããªã³ãã§ãé£ããããªã®ã¯C++ã§ããä»çµã¿èªäœã¯äžç·ã§ããã§ã¯ãããããã«ãŒããªã³ããšC++ã®éãã«ã€ããŠè§£èª¬ããŠãããŸãã
äºã€ã®èšèªã¯åãæ©èœãå®è£ ã§ãã
玹ä»ããããã«ãã«ãŒããªã³ãã§ãC++ã§ãåãæ©èœãäœãäºãã§ããŸãã
å³ããã«ãŒããªã³ãã§äœã£ããã®ãå·ŠãC++ã§äœã£ããã®ã§ããã©ã¡ããå
šãåãæåãããŠããŸãâ
ããã°ã©ãã³ã°ã®çš®é¡ã«ãã£ãŠæ©èœãéã£ãŠãããšããèš³ã§ã¯ãããŸããããªã®ã§ãã®ããããã£ããèšããšãã«ãŒããªã³ããšC++ã¯æžãæ¹ãç°ãªãã ãã§åãæ©èœãå®è£
ã§ãããšããäºã§ãã
ã³ã¡ã³ãð€
ããèŠããšãç°¡åãããªãã«ãŒããªã³ãã®æ¹ãè¯ãããã§ããäžæŠã«ã¯ãããšã¯èšããŸããããªããªãC++ã§äœããšã²ãŒã ã®ããã©ãŒãã³ã¹ãè¯ããªããªã©ã®ã¡ãªãããªã©ãããããã§ããããããã®ã¡ãªãããã¡ãªãããèŠãŠãããŸãããã
ãã«ãŒããªã³ããšC++ã®ç¹åŸŽ(ã¡ãªãã,ãã¡ãªãã)
ãã«ãŒããªã³ããšC++ã«ã€ããŠç¹åŸŽãäžèЧã§èŠãŠãããŸãããã
ãã«ãŒããªã³ãã®ç¹åŸŽäžèЧ
ã¡ãªãã | 解説 |
---|---|
â ãšã«ããç°¡å | ãã«ãŒããªã³ãã¯èŠãŠã®éããã°ã©ããç¹ããã ãã§å®è£ ã§ããã®ã§ãšãŠãçŽæçã§çè§£ããããã§ãã |
â¡ããã°ã©ããŒã§ãªããŠãæ±ãã | å šãããã°ã©ãã³ã°ã«ã€ããŠç¥ããªããŠããã«ãŒããªã³ãã¯å°ãã®å匷ã§çè§£ã§ããç·šéã§ããããã«ãªããŸããããŒã ã§ã²ãŒã ãäœãå Žåããã¶ã€ããŒãšãã£ãå°éå€ã®æ¹ã§ãã²ãŒã ã®èª¿æŽãããããã§ãã |
â¢ãããã®æ å ±éãè±å¯ | C++ããå§åçã«ãã«ãŒããªã³ãã¯ãããã§ã®æ å ±éãè±å¯ã§å°ã£ãæã«è§£æ±ºããããã§ãã |
â£å®è£ ã®ã¹ããŒããéã | ãšãŠãç°¡åã§çŽæçã«çµããããC++ããæç¶å®è£ ãéãã§ãã |
â€ãšã©ãŒãå°ãªã | ããã°ã©ãã³ã°ã§æãæ«æããã¿ã€ãã³ã°ããšã©ãŒãèµ·ããæã§ãããããã®ãšã©ãŒããã«ãŒããªã³ãã§ã¯ã·ã³ãã«ãªæ§é ãªããèµ·ãã«ãã解決ããããã§ãã |
ãã¡ãªãã | 解説 |
---|---|
â è€éãªåŠçã ãšèŠã«ãããªã | ãã«ãŒããªã³ãã¯C++ãšéãã°ã©ãæ¹åŒã®ãããã®åç»é¢ã®å¹ ãåããå šäœãææ¡ãã«ãããªããŸãã |
â¡å®è£ ã§ããªãæ©èœããã | ãã«ãŒããªã³ãã¯C++ãšéããå®è£ ã§ããªãæ©èœããããŸãã倧æµäž»ãªæ©èœã¯å®è£ ã§ããŸãããã²ãŒã ãšã³ãžã³ã®ã³ã¢ãªéšåã«ã¢ã¯ã»ã¹ãããããªæ©èœã¯C++ã§ãªããšã§ããŸããã |
â¢åŠçãè¥å¹²é ãå Žåããã | C++ãšæ¯ã¹åŠçãé ããã€ãŸãããã©ãŒãã³ã¹ãããŸãè¯ããªãå Žåããããç¹ã«èšç®ãè¡ããããªåŠçã§é¡èã«ãªããŸããå šãæ°ã¥ããªããããªé å»¶ãã»ãšãã©ã§ãããå€§èŠæš¡ãªã²ãŒã ã«ãªãã»ã©ãã«ãŒããªã³ãã§ã®é å»¶ã¯åæ ãããå¯èœæ§ãé«ããªããŸãã |
ã³ã¡ã³ãð€
ç°¡åã«ç¹åŸŽããŸãšãããšãã«ãŒããªã³ãã¯ç°¡åã§ãšãŠã䟿å©ã§å®è£ ãéãã§ãããããåŠçé床ãé ãå Žåããããå€ãã¯ãªããå®è£ ã§ããªãæ©èœããããšããäºã§ãã
C++ã®ç¹åŸŽäžèЧ
ã¡ãªãã | 解説 |
---|---|
â å šãŠã®æ©èœãå®è£ ã§ãã | UnrealEngineã®æ©èœãå šãŠå®è£ ã§ããã®ã¯C++ã ãã§ãã |
â¡åŠçé床ãéã | C++ã¯ãã«ãŒããªã³ãã«æ¯ã¹åŠçé床ãéãã§ããç¹ã«æ°åŠèšç®ã«ãããŠã¯é¡èã«éããçŸããŸãã |
â¢ãšã³ãžã³ã®ãœãŒã¹ã³ãŒãã«ã¢ã¯ã»ã¹ã§ãã | äžçŽè åãã§ããUnrealEngineã®ãœãŒã¹ã³ãŒãã«ã¢ã¯ã»ã¹ããäºãã§ããŸãã |
ãã¡ãªãã | 解説 |
---|---|
â é£ãã | ãã«ãŒããªã³ããããé£ãããå匷ãããã«å¿ èŠãšãªããŸããããã°ã©ããŒåãã§ãã |
â¡ãããã®æ å ±éãå°ãªã | ãã«ãŒããªã³ããšæ¯ã¹C++ã¯æ å ±éãå°ãªããããå®è£ ãããæ©èœããããäžã«èŒã£ãŠããªãå¯èœæ§ããããŸãã |
â¢åŠç¿æ²ç·ãæ¥ | äžãšäŒŒããããªäºã§ãããåŠç¿ææãå°ãªãã§ããããã°ã©ããŒã§ããã°å°ãå匷ããã°çè§£ã§ããŸãããå šãã®åå¿è ã«ãšã£ãŠæåããC++ã§ã²ãŒã éçºããäºã¯é£ããã§ãããã |
â£äœæ¥æéãå€ããªã | ãã«ãŒããªã³ããšæ¯ã¹ããã°ã©ãã³ã°ã«æéããšãŠãããããŸãã |
â€ãšã©ãŒãèµ·ãããã | ããã¹ãããŒã¹ã®ããã°ã©ãã³ã°å ±éã§ãããããã¹ããäžæåééããã ãã§ãšã©ãŒãçºçããŸãã解決ã«ãæéãããããŸãããæ«æãããããªããŸãã |
ã³ã¡ã³ãð€
ã€ãŸãç°¡åã«ç¹åŸŽããŸãšãããšC++ã¯ãã«ãŒããªã³ãããå€ãã®æ©èœãå®è£ ã§ããããã©ãŒãã³ã¹ãè¯ãã§ãããã ããã«ãŒããªã³ãããããªãé£æåºŠãäžãããšããäºã§ãã
âãã«ãŒããªã³ããšC++ã®ç¹åŸŽãŸãšã
ãã«ãŒããªã³ãã®ç¹åŸŽã¯ãªããšãã£ãŠãã·ã³ãã«ã§ç°¡åãæ©èœã®å®è£ ããã®ãããéãããããã«ããæ å ±éãè±å¯ã§ããäžæ¹C++ã¯ã²ãŒã ã®ã³ã¢ãªéšåãŸã§ã¢ã¯ã»ã¹ã§ããå®è£ ã§ããæ©èœãå€ããããã©ãŒãã³ã¹ãè¯ããšããäºã§ããã€ãŸãããããäžé·äžçã§äžæ¹ã®æ¹ã確å®ã«åªããŠãããšã¯èšãäºã¯ã§ããŸããã
ã²ãŒã ã¯ãC++ããšããã«ãŒããªã³ããã©ã¡ããäžæ¹ã§ããäž¡æ¹ã§ãäœããïŒ
ãŸãåæãšããŠãã«ãŒããªã³ãã®ã¿ã§ãã²ãŒã ã¯äœããŸãããC++ã ãã§ãã²ãŒã ã¯äœããŸãããããŠäž¡æ¹ã䜿çšããŠã²ãŒã ãäœãäºãå¯èœã§ãã
ã»ãã«ãŒããªã³ãã®ã¿ã§äœãããã²ãŒã
äŸãã°ä»¥äžã®BrightMemoryãšããã²ãŒã ã¯ãã«ãŒããªã³ãã®ã¿ã§äœãããã²ãŒã ãšã®äºã§ã(ãœãŒã¹ã¯ãã¡ã)ããã«ãŒããªã³ãã®ããã©ãŒãã³ã¹ãæªããšèšãã©ãå°ãªããšããã®ã²ãŒã ã§é ããšæããäºã¯ç¡ãããã§ãã
ã»C++ã§äž»ã«äœãããã²ãŒã
ãã©ãŒããã€ãã¯ãã«ãŒããªã³ããšC++äž¡æ¹ã䜿ãããŠããŸãããã»ãšãã©ã¯C++ã§äœãããŠããŸã(ãœãŒã¹ã¯ãã¡ã)ãç¹ã«ãã©ãŒããã€ãã®ãããªå€§èŠæš¡ãªãªã³ã©ã€ã³ã²ãŒã ã§ã¯C++ã§ããã©ãŒãã³ã¹è¯ãå®è£ ããäºãéèŠã«ãªã£ãŠããŸãã
ã³ã¡ã³ãð€
ããã°ã©ãã³ã°ã§äœãã®ã¯æ©èœã®éšåã§ãã£ãŠèŠãç®ã®éšåãšã¯äžåé¢ä¿ãããŸãããã€ãŸããã«ãŒããªã³ãã®ã¿ã§ããã©ãŒããã€ãã®ãããªèŠãç®ã®ã²ãŒã ã¯äœããŸãã
ã»äžè¬çãªã²ãŒã ã«ã¯ãã«ãŒããªã³ããšC++äž¡æ¹ã䜿çšãããŠãã
äžè¬çãªã²ãŒã ã«äœ¿çšãããŠãããã¿ãŒã³ãšããŠã¯ãã«ãŒããªã³ããšC++äž¡æ¹ã䜿ã£ãŠã²ãŒã éçºãããäºãå€ãããã§ããå®éã«äž¡æ¹ã®è¯ããæŽ»çšããŠã²ãŒã ãäœãäºãäžçªã²ãŒã éçºãæãã§ããããäŸãã°ããã«ãŒããªã³ãã§ã²ãŒã ã®å€§éšåãäœã£ãŠãã«ãŒããªã³ãã§äœããªãæ©èœã¯C++ã§è£ãã ã£ãããšãã£ãæ¹æ³ãããè¡ãããŸãã
ãã«ãŒããªã³ããšC++ã©ã£ã¡ã§ã²ãŒã éçºãããïŒ
ãã«ãŒããªã³ããšC++ã¯äžé·äžçã ãšèšãäºãããããŸãããã§ã¯ã©ã¡ãã䜿çšããŠã²ãŒã éçºãããã¹ããªã®ã§ããããïŒããããã¯ç¶æ³ã«åãããŠéžã¶ãšããäºã§ãã
äŸãã°ããã°ã©ãã³ã°æªçµéšã®åå¿è ã®å Žåã¯ãã«ãŒããªã³ãã§ã®ã²ãŒã éçºãå§åçã«ããããã§ããäžæ¹ãC++ã®äœ¿çšããããããªæ¹ã¯æ¢ã«UnrealEngineãç¿åŸããŠããããã€ããã°ã©ãã³ã°ã®çµéšãè±å¯ã§ããªã³ã©ã€ã³FPSã®ãããªå€§èŠæš¡ãªã²ãŒã ãäœãå Žåã«é©ããŠããã§ãããã
ãããŠæçµçã«ã¯ãã«ãŒããªã³ããšC++äž¡æ¹ãç¿åŸããŠãäž¡æ¹ã®è¯ããæŽ»ãããŠã²ãŒã ãéçºã§ããããã«ç®æãã®ããã¹ãã ãšæããŸããäž¡æ¹äœ¿ããå Žåã ãšãããã¿ã€ããå°èŠæš¡ãªã²ãŒã ã¯å®è£ ãéããã«ãŒããªã³ãã§ãã²ãŒã ããããã¿ã€ããã補åçã«ç§»è¡ããæã«ã¯C++ã§å®è£ ããããªã©ããããã®è¯ããæŽ»ãããŠäœ¿ãåããäºãã§ããŸãã
ã³ã¡ã³ãð€
ãšããèš³ã§ãã«ãŒããªã³ããšC++ã¯èªèº«ã®ã¬ãã«ãäœãã²ãŒã åãããŠéžã¶ãšããäºãããããŸãããã§ã¯åŠã³æ¹ãšããŠã¯æåã¯ã©ã¡ããåŠãã§ããã°è¯ãã®ã§ããããïŒ
åå¿è ã®æ¹ã¯ãŸããã«ãŒããªã³ããæ¥µããã
ããã°ã©ãã³ã°çµéšè
ã®æ¹ã§ããã°C++ã§ãæ§ããŸããããå人çã«ã¯åå¿è
ã®æ¹ã§ããçµéšè
ã®æ¹ã§ãããã«ãŒããªã³ãããå§ããäºãããããããŸãããšããã®ãã»ãšãã©ã®UnrealEngineã§ã®ã²ãŒã éçºã«é¢ãããããã®æ
å ±ãææã¯ãã«ãŒããªã³ãã§è§£èª¬ãããŠããããã§ãããŸãããã«ãŒããªã³ããšC++ã¯èŠãç®ã¯ç°ãªããã®ã®ãä»çµã¿ãããã°ã©ãã³ã°ã§äœ¿çšããæ©èœã®éšåã«é¢ããŠã¯äœãå€ããã¯ãããŸãããäŸãã°ãäžèšã§æ¯èŒãããã¢ã€ãã ãå転ãããããšããæ©èœãæã€ãã«ãŒããªã³ããšC++ã¯èŠãç®ãç°ãªãã ãã§ä»çµã¿ã¯å
šãåãã§ãã
ã€ãŸãç°¡åãªãã«ãŒããªã³ãããåºæ¬ãããã°ã©ãã³ã°ã®ä»çµã¿ãåŠã³ããã®åŸã«C++ãå°ããã€åŠãã§ãããšããæ¹ãã²ãŒã éçºã«ã€ããŠçè§£ãããããšå人çã«ã¯æã£ãŠããããã§ãããšããäºã§åå¿è ã®æ¹ã¯ç°¡åãªãã«ãŒããªã³ãããåŠãã§ããäºãããããããŸãã
ãã®æ¬ã§ã¯ãã«ãŒããªã³ãã䜿ã£ãŠã²ãŒã éçºã«ã€ããŠåŠãã§ãããŸãð
ãã®æ¬äžå·»ã§ããã«ãŒããªã³ãã䜿çšããŠUnrealEngineã§ã®ã²ãŒã ã®äœãæ¹ã«ã€ããŠè§£èª¬ããŠãããŸãããããã®æ¬ã«éèŠãããã°C++ç·šãšããŠå¥åã®äžå·»ãäœããããšæã£ãŠããŸãããŸãã¯ãã«ãŒããªã³ãããããã°ã©ãã³ã°ãäžç·ã«æ¥µããŠãããŸãããïŒ
ã³ã¡ã³ãð€
ãŸã UrnealEngineãè§Šã£ãäºããªãåå¿è ã®æ¹ã¯äœã®è©±ãããŠããã®ããããããªãã£ããããããŸããããèŠããã«UnrealEngineã§ã²ãŒã éçºãè¡ããªããã«ãŒããªã³ããåŠãã§ãããŸããããšããäºã«ãªããŸãããŸã çŸåšæ¬ã¯äœæäžã§ãã1ãã解説ããŠãããŸãã®ã§ããã°ã©ãã³ã°åå¿è ã®æ¹ããã²ãã£ã¬ã³ãžããŠã¿ãŠãã ããã
ãŸãšã - UE5ã®ããã°ã©ãã³ã°ã«ã€ããŠ
UnrealEngineã§ã¯ããã°ã©ãã³ã°ã¯äºã€ã®æ¹æ³ããããŸããããããã«ãŒããªã³ããšC++ã§ãã©ã¡ããå šãåãæ©èœãäœãäºãã§ããä»çµã¿ãäžç·ã§ããã€ãŸããããã£ãèšããšèŠãç®ãç°ãªãã ãã§ãããã«ãŒããªã³ãã®ç¹åŸŽã¯ç°¡åã§çŽæçãäœæ¥ãéãã§ããäžæ¹C++ã¯é£ããã§ããC++ã«ããäœããªãæ©èœããã£ããããã©ãŒãã³ã¹ãåäžããå ŽåããããŸããç¶æ³ã«åãããŠãã«ãŒããªã³ããC++ããéžã¶äºãéèŠã§ãåå¿è ã®æ¹ã¯ç°¡åãªãã«ãŒããªã³ãããåŠã¶ã®ãããããã§ãããã®æ¬ã§ããã«ãŒããªã³ãã䜿ã£ãŠã²ãŒã éçºãããŠãããŸãã