GameDesign 板


LINE

用Unreal已经有一小段时间了 稍微分享一下自己的心得 没有经过同意还请勿无断转载 谢谢~ 为了避免大家讨厌看落落长的文章,我先讲结论,如果你已经知道就可以左转离开了。 1. Circular reference在UE4是很多问题的根源,不要让你的BP有circular reference。 2. 为了效能好,BP之间的Reference越少越好。 ==================落落长的本文开始================== Blueprint(BP)是UE4最重要的技术之一 使用BP可以减少编译执行档的时间,马上改马上测试,不用频繁更新执行档等等优点。 可是大量使用BP开发的结果 应该会发现BP有几个问题会慢慢浮现: 1. 游戏效能不好,读取关卡速度慢 2. 某些BP会跳不明的错误 3. 不好用断点追bug (相较於Visual Studio) 4. 难以用版本控管Diff不同版本之间的差异 5. BP没多少节点.uasset档就上MB,甚至数十MB 6. 改名不方便,操作不慎可能会让别的BP里面断线。 这边就先来提一下至今遇过造成BP最多问题的原因之一 Circular reference。 BP在编译的时候会根据其相依关系,把有参照到的BP class递回的编译一次。 因此如果a参照到b, 而b又参照到a的话,就会形成circular reference。 Circular reference我至少遇过几种问题: 1. BP无缘无故跳错,打开重新编译没事,关掉UE4重开又跳错 2. 读取效能不好,profiling时发现某个BP读取很久 如果有以上原因,我会建议利用Reference Viewer, 好好的检查一下你的BP有没有 circular reference的现象。 如果有,建议一定要解掉。 解法大致上有几种, 其中一种是用参照interface取代直接参照; 另一种则是使用Event dispatcher在BP之间沟通; 最後一种则是以C++ class取代。 这边要注意的几个点是,如果你的interface也是用BP做的,那一样要注意循环参照。 例如a->interface b ->a,这种状况依然要避免。 单层的循环参照还好找,如果有a->b->c->d->a的循环参照,要找到就要多花时间。 当Circular reference减少的差不多之後 如果读取效能还是不好,就要考虑减少不必要的reference。 例如有些cast是不必要的,当你已经有interface之後,应该尽量使用它。 另一个改善读取速度的方向则是预设变数 有时候会在BPa的array变数预设一组模型档或是动画档 但是这个array变数却在另一个关卡设定为另一组动画档 如果这样设定的话,这个关卡在读取的时候会同时包含两串素材 这时会建议把预设的array清空。需要的动画档设定在种在关卡内的Actor。 一时之间能想到比较重要的问题跟解法是这些。 建议开发规模到一定程度之後,让C++与BP互相搭配会是比较好的使用方法。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.116.41.55
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/GameDesign/M.1479530144.A.AE8.html
1F:推 coolrobin: UE4使用者推一个 11/19 13:26
2F:推 damody: 通常还是要混用比较方便 11/20 00:39
3F:推 PathosCross: 长知识推 11/20 01:43
4F:推 FukadaKyoko: 感谢分享 11/29 16:08







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP