UE4 的 C++ 开发体验

来源:互联网 发布:fm球员在线数据库 编辑:程序博客网 时间:2024/06/04 18:29

UE4 开源,是多么令人激动的一件事,好吧,没开源之前我也没有用过UE4.

开源之后可以选择直接在官网下载安装,或者通过follow官网的Github获得源码自己编译。这样的话你就有两种不同的体验了,这里说的不同的体验说的不是整个安装过程,而是开发过程。

在通过官网下载安装的UE4,似乎更通过源码编译的UE4有所不同,同一个函数,在两种环境下运行,一个没有效果,说的就是 AssetRegisterMoudle 里面的 一个 ScanPathsSync 函数,以及跟他类似的函数,简直要命,一开始没有打算自己下载源码编译,可是在官方给的安装环境中怎么都没有效果,这个函数不就是为了重新扫描资源文件到资产注册表吗?官方给了这个函数,却留下了这个Bug,可能是某个设置参数不对?等等,我要回去看看源码中的Core.cpp文件,里面有好多调试参数呢。不过官方给的是Release版呀。调试参数为什么还有影响代码运行。简直了,我用源码编译的环境就有效果,可以更新资产注册表。

问题还不止这一个,为了给虚幻4的编辑器写一个插件,导入资源时不显示Options对话框,发现导入资源的 UFactory 对象有一个bShowOptions 成员变量,但是protected成员,be protected ,how can I change it for dismiss the Import Options Dialog。因为我分析源码发现只要在 这个 UFactory对象在 导入资源时,bShowOptions为False,就可以不显示对话框。那我就想办法把这个保护成员变量的值成功的改成false了,this be protected member bShowOptions was initialed by true。这里我非常懊恼的是,UFactroy 有一个共有的成员函数叫EnableShowOptions,里面就一句代码{bShowOption=true;},你说气不气人,就没有一个叫DisableShowOptions的函数,给我说说既然没有Disable,而它本来就为true,你这个Enable有什么用呢,程序员你就不能多写一个函数么。

关键是,我把这个bShowOptions成功的改成false之后,哪个设置导入选项的对话框还是冒出来了,经过九九八十一难,跟踪源码执行发现,原来那个被我改掉的UFactory好像在执行的某个地方被改回去了,或者程序执行的时候使用的是一个不完整浅拷贝对象,这个bShowOptions在最终导入资源的时候,我.....又刺裸裸的变成了true。就算在源码编译的环境中的效果都还是一样的。

可是最后我还是使用Core.cpp中的调试参数把对话框给dismiss了,great。

只能说现在的UE4渲染效果做的不错,但是对程序员来说,可能还是有一些坑需要完善。或者 官方可以给更多的文档,不过这些坑,一般的程序还不会遇到。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 在赶集网登录时忘记验证码该怎么办 支付宝绑定的手机号是空号了怎么办 微信聊天后电话号码重复是怎么办 老婆在外省工作不回到我身边怎么办 知道扣扣号怎样盗取他的密码怎么办 喜欢养猫又怕猫破坏家里怎么办 约她她每次都找借口怎么办? 遇到总是找借口不还钱的人怎么办 装修好了业主找借口不给钱怎么办 荒野行动手机换了帐号登不上怎么办 换新手机后微信头像都没有了怎么办 苹果系统维护换不了微信头像怎么办 系统通知栏不显示qq图标怎么办 快递号码写错了而且发货了怎么办 包裹遗忘在郑州东站安检口了怎么办 锁书包的锁头钥匙全掉了怎么办 平板电脑恢复出厂设置变英语怎么办 给国外银行汇款账号写错账号怎么办 顺丰快递暴力运输产品坏了怎么办 亚航订机票名字少写一个字母怎么办 如果淘宝付款七天内不发货怎么办 浪琴手表调了一下日期不走了怎么办 收件人号码写错快递柜已签收怎么办 医院名字写错了怎么办保险报销 电脑在使用中出现了英文字慕怎么办 下雨天了怎么办我好想你是什么歌 安卓手机不支持微信运动怎么办 装系统时无法跳过密匙怎么办 在msdn里下的系统没有网怎么办 w7电脑更新后系统没法激活怎么办 手机使用加速器后网速变卡怎么办 奥特曼ol分解了迪迦石像怎么办 左右棋牌游戏兑换总说系统护怎么办 四季海棠扦插以后黄叶卷叶怎么办 竹节海棠浇水多了叶子蔫了怎么办 社保停缴了里面的钱怎么办 王者荣耀英雄释放技能有延迟怎么办 买的桑拿木板颜色太深了怎么办 万一填写了奔跑吧诈骗信息该怎么办 深圳限行时段堵在路上怎么办 开车堵在路上到了限行时间怎么办