UE4C++快速上手_实战篇_上

作者: 安宁Ken分类: 计算机技术 发布时间: 2020-05-25 04:43:50 浏览:51558 次

UE4C++快速上手_实战篇_上

年少追梦-:
想补充一下,UObject 是所有纳入到UE4反射系统的基类对象,所有要被纳入到UE4反射系统的对象都必须继承自UObject, 继承自UObject将会被UE4引用计数,并最终用于垃圾回收。UClass用于捕获一个类的所有属性和方法, 可以认为是一个类的元数据结构。这个元数据结构提供在运行期获得一个类的属性和方法基本信息,一旦有了类的元数据,就可以将一个类的属性和方法暴露到编辑器里,蓝图。使得c++和编辑器,蓝图通信,c++和蓝图互相调用变成可能。在类的属性和方法里可以选择性的通过宏来声明是否要将该属性和方法纳入反射,不纳入到反射的属性将不会被UE4引用计数,对于裸指针而言,是比较危险的操作。UE4也提供了自己的智能指针系统,对没有纳入到反射的属性也能最终被系统回收。在你创建的每个类的头文件,虚幻4会添加generate.h头文件,这个就是每个继承自UObject 类的头文件里生成的对应的宏代码。

【回复】看起来很有道理,而且这么长,我又不懂,听你的
【回复】虚幻的垃圾回收的引用计数的方法吗 我记得好像是根可达算法实现的
百里登沐风:
-- 源码+材质、声音、物体 链接:https://pan.baidu.com/s/1tjzDDSPyO-dbJCVPGzD86Q?pwd=drsf 提取码:drsf

【回复】回复 @阿恺啊啊啊 :链接:https://pan.baidu.com/s/18T_WO1w-7znqMY4N9juBRA 提取码:kmwv --来自百度网盘超级会员V3的分享
【回复】好人一生平安,你必须发财!
Thunder_land:
77:42处的代码有小bug 当摁下w,pitch达到+30后马上切换到s键,也就是中间不会有val=0的时刻,那么模型会卡在pitch+30的角度倒退。这是因为判断条件只看当前的倾斜角度的绝对值,只要达到30就不会回调,即便摁下了相反的方向键。建议修改为: float valpitch = -val * pitch; if ( valpitch < 30.0f) { DroneMesh->AddRelativeRotation(FRotator(-val * 100.0f*GetWorld()->DeltaTimeSeconds,0.0f, 0.0f)); } 在两种情况下需要调整DroneMesh的倾角: 1.键盘输入与倾角方向一致但还未达到30度 2.键盘输入与倾角不一致一定要调整 所以设置一个valpitch = -val * pitch,其正负来记录当前的两者是否一致,+为一致,其绝对值大小表示倾角大小。 对于第一种情况,当val和pitch异号时,valpitch为正,说明此时倾角和键盘输入是一致的,但我们不希望这个倾角大于30。 对于第二种情况,当val和pitch同号时,valpitch为负,说明此时倾角和键盘输入是不一致的,必须调整倾角。 综上,只要valpitch<30,就包含了以上两种情况,就需要执行AddRaletiveRotation函数。

【回复】群好像没有了 你模型怎么来的呀
【回复】第一句写错了 应该为当摁下w,pitch达到-30后马上切换到s键,也就是中间不会有val=0的时刻,那么模型会卡在pitch-30的角度倒退。
布欧汤圆:
字正腔圆,逻辑清晰,英语发音还很标准。优质的视频,棒棒的

纸盒里的海:
安宁大佬能不能出个联网小游戏教程呀[tv_点赞]

【回复】回复 @capacityvirus :还没有,这个时间没法保证,慢慢来吧,一个个系列做
【回复】回复 @安宁Ken :联网小游戏 有了吗
Swordfish:
弹幕说听不下去的,人家讲的挺良心了,蠢就别叫了

【回复】没学过c++的确实听不懂,这个没有讲最基础的c++概念,小白听不懂很正常
百里屠苏他爷:
大佬讲的真棒!感觉是目前看的最爽的一个教程!没有一点废话,全是干货,而且通俗易懂,幸甚至哉!幸甚至哉!

江淮子弟:
UP主大佬分享啦 链接:https://pan.baidu.com/s/1qN50nSmcF_4BrDKYPfD0qA 提取码:jq7g

【回复】感谢分享,请问一下工程源码文件夹的项目是有教程的吗
BLG就是拨浪鼓:
我发现引入头文件没有用是因为双击了这个组件的名字(例如:UBoxComponent),如果单击这个组件任意一个字母,然后右键都会有add include (前提是上面并没有引用头文件的情况下)

q暖夏少年q:
群满了没资料拿,学习进度卡住了[藏狐]

【回复】链接:https://pan.baidu.com/s/1qN50nSmcF_4BrDKYPfD0qA 提取码:jq7g
【回复】回复 @q暖夏少年q :我只是想下dorne的模型,没想到发现了宝藏[藏狐][藏狐][藏狐][藏狐]
【回复】回复 @安宁Ken :谢谢大佬[打call]
机智的失眠飞行家:
视频42分钟左右飞机飞不起来的把碰撞盒子下面的mesh和四个机翼的重量都改成0试试

【回复】回复 @散装怪人 :hh,虽然我很想回答你这个问题,但是ue我已经快一年没碰过了
【回复】牛逼兄弟!不过我还是不理解不是没勾吗为什么会质量数值还是会生效
【回复】谢谢你,我找了一个小时了[大哭][大哭][大哭],终于看到了解决办法
瑛璐丹:
按 w和s旋转的 可能是因为forwardThruster 位置没有居中 在世界大纲中找到BpDrone 细节面板中选中forwardthruster组件 把位置清零

【回复】困扰了我一个上午,解决了,感谢!希望更多人看到
笑死时光:
点赞投币都没有收藏多你们还有良心吗?

【回复】我只点赞投币了,但是没有收藏[嗑瓜子]
yang-agg:
OutCollision->SetSimulatePhysics(true);导致无效模拟选项:形体(BP_Drone_2.outCollision)被设置为模拟物理,但“启用碰撞”不兼容。(4.27版)怎么办?

KversKiller:
其中,添加UpThruster速度控制 即if( Input Component->GetAxisValue( TEXT(" Lift")) == 0.0f)后,运行直接未经处理的异常,访问位置冲突,UE4提示EXCEPTION_ACCESS_VIILATION

【回复】直接GetAxisValue就好,不用加前面的 InputComponent
【回复】我也报错了,请问怎么解决的
插件儿:
鼠标旋转摄像机ARM 会触发万向锁 有没有好的方法解决啊?

知识分享官 虚幻4 虚幻引擎 C++ UE4 UE4教程

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!