• UE4学习-阶段性总结1


    首先说说GameMode,GameState,PlayerController:

    共同点:

    里面的变量都是全局变量,这是与蓝图类的一个很大的区别;

    并且里面包含了EventBeginPlay/EventTick等与关卡蓝图的类似的方法;

    不同点:

     GameMode:是规定了游戏运行的一个环境,里面的全局变量大都在本地调用;

     GameState:里面定义的全局变量大都用于网络数据的传输;

     PlayerController:里面的全局变量大都用于各个蓝图类之间的数据调用,这样说它与GameMode类似,但其实他们俩起到的作用是完全不一样的;它会赋予一定的控制能力给指定的PlayerStart,下面第5点。

    最下面的那个图是一个GameMode的设置面板

    1、蓝图可以看成是Unity的Prefab,但却比Unity的Prefab强大太多。

    2、每个物体都有自己的编辑界面,不仅仅是蓝图,包括导入的资源,如果一个大模型上有很多组件,那么可以在模型的根模型上设置锚点,使子模型的坐标归0时保持整体的一个正常显示。实际操作是模型的SocketManager功能。

    3、GameMode是规定游戏运行的一个环境,里面的全局变量大都数是在本地调用。

    如果你要使用一个自己的GameMode,而不是UE默认的,设置方法是:

    先创建一个蓝图,继承自GameModeBase,然后

    Edit - project Settings - [Project-Maps & Modes] -Default Modes - "Default GameMode",再选择自己创建的GameModel。

    4、创建一个蓝图BP_Tank,可以默认继承自Actor,或者Pawn都行。

    如果你要更改它的继承,修改方法是:

    双击这个蓝图,找到ClassSettings,然后更改ClassOptions下的ParentClass选项。

    5、PlayerStart:玩家出生点,出生点想要出生什么,在下图的Default Pawn Class里选择,但这个东西必须是继承Pawn的,如果一个坦克,继承了Pawn,然后我们在这里选择坦克的脚本,则在这个出生点会出生一个坦克,并且会默认绑定游戏所使用的PlayerController。

    6、PlayerController:下图中选择PlayerController,出生点物体的控制器,只有一个。

    然后我们回到蓝图创建的物体上来,我们说说怎么绑定脚本。

    绑定基对象:相当于Unity的transform,如果我们创建一个继承自Pawn的C++类Tank在蓝图上选择Class Settings的ClassOptions中的ParentClass,然后选择Tank,则完成Tank脚本和蓝图的绑定,这个Tank的C++类需继承自Pawn,可以理解为相当于unity的Gameobject,否则是无法选择绑定的。

    绑定控制器:比如如下图的这个蓝图,选择红圈内的选项,会出现Details面板(在Unity里面相当于是检视面板),然后选我们看到Pawn节点下的AIControllerClass,然后我们选择自己来操作这个蓝图对象的控制器,这个控制器必须继承自AIController,否则我们是无法绑定的。

    7、基于脚本的开发说明

    创建一个继承自Pawn的C++类后会在解决方案里生成Tank.h和Tank.cpp,但类名为变成ATank,这是UE4的一个命名规则,无需纠结这个东西,这是约定规则。

    暂时就写到这里。

  • 相关阅读:
    Hadoop源代码分析(五)
    使用Solr Data Import的deltaimport功能
    hbasewriter
    Hadoop源代码分析(四)
    lucene .NET 搜索图片 功能实现
    char类型与string类型的区别
    Windows程序设计:'SM_ MOUSEWHEELPRESENT' : undeclared identifier解决办法
    汇编里的栈空间
    在汇编源程序中,数据不能以字母开头
    中值
  • 原文地址:https://www.cnblogs.com/vsirWaiter/p/8648319.html
Copyright © 2020-2023  润新知