如何在DOTS中实现角色视线随时盯着目标?

DOTS游戏开发实战记录

前言

这个功能在Unity中用面向对象的API非常容易实现,但是在DOTS中就不是那么简单了,对比一下代码就知道差距了。

面向对象实现

这个相信萌新都知道怎么写,直接上代码:

//角色转向目标target
transform.LookAt(target);

DOTS实现

//角色转向目标target
//首先计算从角色到目标的向量
var direction = SystemAPI.GetComponentRO<LocalTransform>(target).ValueRO.Position -localTransform.ValueRO.Position;
//转向目标
localTransform.ValueRW.Rotation = quaternion.LookRotationSafe(direction, math.up());

后续

其实还有很多非常实用的干货想要分享,但是最近在DOTS中屡屡碰壁,很多功能都没有实现,绞尽脑汁中,所以先写一个开篇吧,希望对那些DOTS 感兴趣的技术萌新有帮助,来个三连支持一下的话,笔者会抓紧更新更多DOTS相关技术栈噢,其实自己也是半吊子,只不过没有人分享的话,大家都踩相同一个坑,多不好。

猜你喜欢

转载自blog.csdn.net/qq_30137245/article/details/131354411