zoukankan
html css js c++ java
Unreal Engine4 蓝图入门
微信公众号:UE交流学习 UE4开发群:344602753
蓝图是Unreal Engine的特点,用C++编程固然好,但是效率要低很多,主要是国内资料比较少,所以不太容易学习,用蓝图编程可以节省开发成本,我认为蓝图编程也是可以解决问题的,他其实也是一个一个方法进行执行的,可能程序员用这个不太习惯,但是用多了还是挺方便的,对于不懂编程的人来说,思路非常清晰的情况下,最好是有一定的编程基础,这样最好!
题外话,有个Virtools可视化编程软件,用的也是类图,不能用C++直接编程,但是可以用C++编写模块,供调用,我个人认为它做的还是挺成功的!
首先我新建一个蓝图类,在资源视图中,右键新建就可以!
点击Blueprint后弹出一个父类框,其中有Actor,Pawn,Character,PlayerController等,
在All Classes中还有一些不常用的类!在这里我继承了Actor类,Actor就是最基本的类,也就是每个类都必须有的变换类!类似Unity3d的Transform,每个类都必须有的组件!
在蓝图类中,首先有两个事件,是必须有的,Eevnt BeginPlay类似于类的初始化事件,
ActorBeginOverlap是触发器触发事件,就是当前物体碰到了其他物体的时候就会触发!
Event Tick是每帧都调用的事件!
首先像是每个程序都一样的,打印个HelloWorld!其中箭头表示流程,程序都是线性流程性的,靠一条线连接到底,不能用一个箭头连向两个地方!其中String就是参数,参数可以连接到多个地方的!
然后就可以在屏幕上打印出来Hello World!
UE在运行的时候默认不显示鼠标,我写个代码,让显示个鼠标!
首先是有个蓝图 SET Show Mouse Cursor这个属性,后面的框可以手动输入参数,来决定是否显示鼠标,但是如果Target不能为NULL,否则会编译不过,也就是说这个方法是属于某个类的方法,那么这个Target到底是什么类型呢?可以用鼠标放到Target上,会提示你的类型,那么我们就需要获取当前场景中的人物控制对象,可以用静态方法Get Player Controller来获取,然后赋予它就可以!
再说明下Tick事件,它是每一帧都要执行的,那么我们在游戏程序中有一个参数非常的重要,那就是上一帧运行的时间,我们需要乘以这个参数,来保证游戏的公平性!那么如何获取呢?可以通过Tick时间的delta来获取,也可以通过一个蓝图模块来获取!
通过BuildString方法,可以拼接两个字符串,Prefix是前缀,这里填写的是“Delta”,然后把Delat Senconds的值赋予进来,即可进行拼接的!然后打印出来!
我们可以在蓝图中添加一个Cube,但是必须勾选Overlap Event,这样
Event ActorBeginOverlap事件才会被触发,Collision Presets设置为
OverlapOnlyPawn,这样会接受角色的触发!
首先碰到了其他物体,那么我们首先进行试着转换,采用Cast To ThirdPersonCharacter类型,如果转换失败,则执行Cast Failed,转换成功则进行后续的流程,我采用Get Display Name可以打印出这个角色的名称,然后再删除方块自己,类似跑酷中的吃到金币!模块为DestroyActor删除自己!
查看全文
相关阅读:
jquery获取tr并更改tr内容
jquery获取元素索引值index()
禁止apache显示目录索引 apache禁止列目录
mysql启动错误之mysql启动报1067错误如何解决
Expo大作战(四)--快速用expo构建一个app,expo中的关键术语
Expo大作战(三)--针对已经开发过react native项目开发人员有针对性的介绍了expo,expo的局限性,开发时项目选型注意点等
Expo大作战(二)--expo的生命周期,expo社区交流方式,expo学习必备资源,开发使用expo时关注的一些问题
Expo大作战(一)--什么是expo,如何安装expo clinet和xde,xde如何使用
Linux(CentOS)之-性能监控
[转]winform程序textbox滚动条保持在最下面 内容不闪烁
原文地址:https://www.cnblogs.com/alongu3d/p/5066955.html
最新文章
springboot快速入门(三)——Controller的使用
springboot快速入门(二)——项目属性配置(日志详解)
springboot快速入门(一)——HelloWorld搭建
大数据入门第十天——hadoop高可用HA
大数据入门第九天——MapReduce详解(六)MR其他补充
OS X日语输入法中如何输入ゐ、ゑ
我的免费软件产品
Ubuntu下使用AMD APP编写OpenCL程序
关于“不想当将军的士兵不是好士兵”这个命题的逻辑分析
GCC4.7+中如何替代C11中的_Generic
热门文章
让父母至少多活20年的方法「转」
OS X中如何获取当前运行程序的路径
OpenCL如何获取最小线程并行粒度
Intel64及IA-32架构优化指南第8章多核与超线程技术——8.9 其它共享资源的优化
带密匙的php加密解密代码
php实现aes加密类
js 字符串操作函数
sql查看所有表大小的方法
PHP域名whois查询代码(数据源万网、新网)
PHP 魔术方法总结
Copyright © 2011-2022 走看看