Unreal Engine添加UGameInstanceSubsystem子类

这篇具有很好参考价值的文章主要介绍了Unreal Engine添加UGameInstanceSubsystem子类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. 点击C++类文件夹,在右边的区域点击鼠标右键,在弹出的菜单中选择“新建C++类”
    Unreal Engine添加UGameInstanceSubsystem子类,Unreal Engine,虚幻,游戏引擎,c++
  2. 在弹出的菜单中选中“显示所有类”,选择GameInstanceSubsystem作为父类, 点击“下一步”按钮
    Unreal Engine添加UGameInstanceSubsystem子类,Unreal Engine,虚幻,游戏引擎,c++
  3. 输入子类名称“UVRVIUOnlineGameSubsystem”,选择插件作为新类的目标模块,点击“公共”选择器
    Unreal Engine添加UGameInstanceSubsystem子类,Unreal Engine,虚幻,游戏引擎,c++
  4. 打开C++工程,找到".Build.cs"文件,在“PublicDependencyModuleNames”下,添加"MultiPlayerPlugin"
    Unreal Engine添加UGameInstanceSubsystem子类,Unreal Engine,虚幻,游戏引擎,c++

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    public class LandMaster : ModuleRules

    {

        public LandMaster(ReadOnlyTargetRules Target) : base(Target)

        {

            PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;

      

            PublicDependencyModuleNames.AddRange(new string[] { "Core""CoreUObject""Engine""InputCore""UMG""Http""Json""JsonUtilities""Sockets""Networking""OnlineSubsystem""OnlineSubsystemUtils""MultiPlayerPlugin" });

      

            PrivateDependencyModuleNames.AddRange(new string[] { "Slate""SlateCore" });

        }

    }

  5. 设置“MultiPlayerPlugin.uplugin”文件

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    {

        "FileVersion": 3,

        "Version": 1,

        "VersionName""1.0",

        "FriendlyName""MultiPlayerPlugin",

        "Description""plugin for multi player ",

        "Category""Other",

        "CreatedBy""VRVIU_Jacky",

        "CreatedByURL""",

        "DocsURL""",

        "MarketplaceURL""",

        "SupportURL""",

        "EngineVersion""4.26.0",

        "CanContainContent"true,

        "Installed"true,

        "Modules": [

            {

                "Name""MultiPlayerPlugin",

                "Type""Runtime",

                "LoadingPhase""Default",

                "WhitelistPlatforms": [

                    "Win32",

                    "Win64"

                ]

            }

        ]

    }

  6. 设置插件“.Build.cs”文件,添加需要引用的模块

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    // Copyright Epic Games, Inc. All Rights Reserved.

      

    using UnrealBuildTool;

      

    public class MultiPlayerPlugin : ModuleRules

    {

        public MultiPlayerPlugin(ReadOnlyTargetRules Target) : base(Target)

        {

            bEnableUndefinedIdentifierWarnings = false;

            PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

            //bUsePrecompiled = true;

            PublicIncludePaths.AddRange(

                new string[] {

                    "MultiPlayerPlugin/Public"

                }

                );

                      

              

            PrivateIncludePaths.AddRange(

                new string[] {

                      

                }

                );

                  

              

            PublicDependencyModuleNames.AddRange(

                new string[]

                {

                    "Core"

                    // ... add other public dependencies that you statically link with here ...

                }

                );

                  

              

            PrivateDependencyModuleNames.AddRange(

                new string[]

                {

                    "CoreUObject",

                    "Engine",

                    "Slate",

                    "SlateCore""UMG""Http""Json""JsonUtilities""Sockets""Networking"

                    // ... add private dependencies that you statically link with here ... 

                }

                );

              

              

            DynamicallyLoadedModuleNames.AddRange(

                new string[]

                {

                    // ... add any modules that your module loads dynamically here ...

                }

                );

        }

    }

  7. 获取本机IP地址

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    FString UVRVIUOnlineGameSubsystem::GetIpAddress(bool bHasPort /*= true*/)

    {

        FString IpAddr("NONE");

        bool canBind = false;

        TSharedRef<FInternetAddr>LocalIp = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->GetLocalHostAddr(*GLog, canBind);

        if (LocalIp->IsValid())

        {

            IpAddr = LocalIp->ToString(bHasPort);

        }

        return IpAddr;

    }

  8. 创建会话

    1

    2

    3

    FString cmd = "open " + Map + "?listen";

    UGameplayStatics::GetPlayerController(GetWorld(), 0)->ConsoleCommand(cmd);

    m_ServerAddress = ServerAddress.Len() == 0 ? GetIpAddress(false):ServerAddress;

  9. 加入会话

    1

    2

    3

    4

    5

    UE_LOG(LogTemp, Warning, TEXT("UVRVIUOnlineGameSubsystem::ConnectServer %s"), *IntranetIP);

    FString cmd = "open " + IntranetIP;

    UGameplayStatics::GetPlayerController(GetWorld(), 0)->ConsoleCommand(cmd);

    m_ServerAddress = IntranetIP;文章来源地址https://www.toymoban.com/news/detail-858818.html

到了这里,关于Unreal Engine添加UGameInstanceSubsystem子类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unreal Engine 游戏中枪的构建

      一、创建枪蓝图 1、创建一个actor蓝图: 在Blueprints文件夹中右键添加蓝图类actor并命名为Gun_BPGun_BP 2、添加骨骼网格体组件 双击打开蓝图类,在左上角组件中添加骨骼网格体组件 3、选择枪模型 选中骨骼网格体组件,将枪的网格体选中为这样 4、将骨骼网格体设置为蓝图的根

    2024年02月03日
    浏览(72)
  • 游戏编程中的AI与物理模拟——用Unreal Engine创建惊艳的游戏世界

    作者:禅与计算机程序设计艺术 作为游戏开发者,我们经常需要在游戏中加入一些视觉、听觉或者触觉等交互性元素,并且给用户提供更具个性化的游戏体验。游戏制作人员也喜欢利用人工智能(AI)来辅助游戏制作过程,例如制作游戏中的怪物和敌人具有潜在的危险性,能

    2024年02月07日
    浏览(52)
  • 一文读懂Unreal Engine游戏引擎如何提高数字孪生场景渲染能力

    以下案例来自于《数字孪生世界白皮书(2023版)》 领取方式:公众号「EasyV数字孪生」后台回复「白皮书」即可领取! Unreal Engine(下文简称为UE),是一款由Epic Games开发的游戏引擎,用于创建电子游戏、虚拟现实和增强现实应用、数字孪生等内容。UE支持实时渲染、高品质

    2024年02月12日
    浏览(48)
  • C语言与游戏引擎插件开发:Unity、Unreal Engine中C插件的编写与集成(一)

    目录 一、引言 C语言在游戏开发中的重要地位与优势 游戏引擎插件机制与C语言的价值 二、C语言基础与游戏开发特性 C语言核心特性及其在游戏开发中的应用 游戏引擎API对接关键概念与技巧 C语言在游戏开发领域占据着无可替代的重要地位,尤其在应对高性能计算需求与底层

    2024年04月29日
    浏览(72)
  • C语言与游戏引擎插件开发:Unity、Unreal Engine中C插件的编写与集成(四)

    目录 一、C插件开发最佳实践与常见问题解析 性能优化: 跨平台兼容性: 版本管理与升级: 二、结论 C语言在游戏引擎插件开发中的关键作用与优势: 对开发者提出建议: 性能优化: 内存管理: 智能指针 :利用UE的 TSharedPtr 、 TWeakPtr 等智能指针管理动态内存,确保资源释

    2024年04月27日
    浏览(55)
  • unreal虚幻引擎源码开发

    https://github.com/EpicGames/UnrealEngine.git unreal的源码在github上面有权限限制,需要申请加入EpicGames组织才行。(EpicGames官网上绑定github账号,平台会自动邀请你加入) 运行setup.bat,网络不是很好,大多数时候是失败的,可以修改bat如下 升级失败了,自动跳转继续更新知道下载完所

    2024年02月16日
    浏览(55)
  • 【整活】Unreal Engine 3体验

    今天下了UDK,想在用虚幻5的年头体验一下\\\"上古时代\\\"的虚幻3,链接 安装 跟虚幻4对比,虚幻4可是比它大不少:      一般来说,编辑器程序在这个文件夹中 比如我的这个: 这个UDK.exe就是虚幻3编辑器程序 游戏 双击打开,却发现它默认运行自带的游戏       ......别说这画质还可以..

    2023年04月08日
    浏览(41)
  • 开源虚拟现实引擎。CARLA是一个基于Unreal Engine 4开发的游戏引擎,支持模拟各种汽车、摩托车、轨道交通信号等车辆的行驶行为,并且提供了一套API接口,供开发者进行调用,用来进行地图构建

    作者:禅与计算机程序设计艺术 目前,市面上存在多个智能汽车解决方案,包括滴滴、理想汽车、百度无人驾驶等,均由大型科技公司或各个公司开发,其中一些公司如理想汽车、百度、字节跳动等已经取得了较为丰硕的成果。随着技术的发展,人们越来越关注智能汽车在未

    2024年02月08日
    浏览(58)
  • Unreal Engine 4创建图片背景场景。

    传统的UI界面通常位于整个模型场景的最前面,这可能会导致很多的限制,例如创建纯图片的背景或者创建类似于游戏人物装备简介界面,这些场景图片都位于模型的后面,我们这个方法就是先解决这个问题。 创建 Actor蓝图类 2. 添加组件 :添加 “场景组件”,添加“摄像机

    2024年02月14日
    浏览(34)
  • Unreal Engine 与 Blender - 比较指南

    虚幻引擎和 Blender 是游戏开发人员中最常用的两种软件,它们在游戏开发工作流程中都有自己的用途和地位。作为进入视频游戏行业的初学者,可能很难从数十种软件中筛选找到最适合您需求的一款。希望本指南能够缓解这一困难并帮助您决定选择哪个软件。 虚幻引擎是由

    2024年02月16日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包