演示效果,模拟专用服务器多人游戏时候的同步场景,本文只作功能解析:
本人郑重说明,Unreal是可以做任何类型游戏的,门槛非常高
呀哈哈,就这么一个点击移动的功能,如果放在Unity中几句代码,放在Unreal中可是非常的复杂,因为
这个行为在Unreal中认为是一个AI行为,点击了地面,然后自动移动过去,没有玩家的参与,这不就是AI行为?
Unreal是这么认识的,所以这个行为会经过Unreal中AI、检测、导航、移动、目标、及Network;
涉及到的功能点包括:AI、检测、导航、移动、目标、及Network
#1 执行流程图,简化版
#2 AI部分说明
点击地面进行移动需要有AI的功能,我们操作的角色不是AI,Unreal中的角色可以携带一个AI功能;不需要这个角色本身就是一个AI的主体,每个Character的子类都有AIController的功能,默认情况下会生成一个
如果制作AI也会用到,这里的AI表示自动化,并不真正的要表示是一个AI。
#3 当前使用到检测功能
点击需要检测鼠标点击到地面的位置信息,有两种方式,一般使用第二种,效率高
转换的地方,这个源码资料很少有的
// Trace to see what is under the mouse cursor
FHitResult Hit;
GetHitResultUnderCursor(ECC_Visibility, false, Hit);
GetHitResultUnderCursorByChannel(UEngineTypes::ConvertToTraceType(ECC_Camera), true, Hit);
#4 Unreal中的导航功能
Unreal的导航功能咋一看好像非常的强大,应该是非常的强大,在AI的移动的时候可以看到;
在Project