如果想用ECS实现技能系统有什么好的思路

news/2025/1/21 3:00:49/文章来源:https://www.cnblogs.com/uwatech/p/18513941

1)如果想用ECS实现技能系统有什么好的思路
2)在使用Recast Navigation时遇到的两个问题
3)通过摇杆控制角色移动时,怎么获取要移动方向上的坐标
4)有判断一个点是否在NavMesh上的接口吗


这是第406篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

UWA社区主页:community.uwa4d.com
UWA QQ群:793972859

Script

Q:在DOTS中,如果想用ECS实现技能系统有什么好的思路吗?

A:有,但是开发成本太大。没有特别值得推广的设计,本身ECS是可以的,但是非得用上DOTS,是不值得的。如果只用ECS,帧同步类游戏会非常方便,但是MMO等回调驱动的游戏,与OOP的开发难度一致甚至略高,后期成本在于把握各种时序。无DOTS的ECS,可以直接参考ET框架。

如果是割草游戏中小兵的“技能系统”,建议直接硬做。以实现需求为主,也就是1个技能1个System,开单子做功能。想要通过某些“设计”一劳永逸,基本不太可能。本身ECS的抽象性就是远远不如OOP的,再加上DOTS中禁用Class,导致你所有“抽象”行为基本全不被支持。

针对以上问题,有经验的朋友欢迎转至社区交流:
https://answer.uwa4d.com/question/67160df6682c7e5cd61bf960


Terrain

Q:在使用Recast Navigation遇到的两个问题:
1. 场景中的资源(网格 bin 文件)都打成AssetBundle了,那现在LoadNavMesh的方法是不是就会有问题了,要怎么修改?

2. 切换场景的时候,之前场景加载的场景数据怎么清除?

 

 

A:1. 可以把文件内容在C#里读出来,然后直接传给LoadNavMesh,也就是要改一下 LoadNavMesh的实现,把LoadNavMesh(path)改成LoadNavMesh(content)。

  1. LoadNavMesh里换成新的内容,然后把之前的数据清掉。

针对以上问题,有经验的朋友欢迎转至社区交流:
https://answer.uwa4d.com/question/67160fcc682c7e5cd61bf961


Terrain

Q:用Recast Navigation时,在通过摇杆控制角色移动时,怎么获取要移动方向上的坐标?

A:代码如图所示:

 

针对以上问题,有经验的朋友欢迎转至社区交流:
https://answer.uwa4d.com/question/6716110a3d306f3e9d594d48


Terrain

Q:有判断一个点是否在NavMesh上的接口吗?

A:代码如图所示:

 

 

针对以上问题,有经验的朋友欢迎转至社区交流:
https://answer.uwa4d.com/question/671611893d306f3e9d594d49

封面图来源于网络


今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/823771.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Markmap,用Markdown语法轻松创建思维导图,AI助力提升工作效率

Markmap介绍 首先,什么是 Markmap? Markmap 是一个开源项目,旨在用 Markdown 语法来制作思维导图。 它的目的是:允许你使用简单的 Markdown 语法来快速编写思维导图。 值得一提的是,中文Markmap 在此基础上进一步引入了AI技术,实现了自动生成思维导图的功能。 用户只需输…

单元测试,集成测试,系统测试的区别是什么

单元测试、集成测试、系统测试各有专注的测试层面和目标。单元测试主要聚焦于验证单个组件或者模块的功能正确性、集成测试则是关注不同模块之间接口和交互的准确性、而系统测试涉及对整个完整系统功能和性能的全面评估。在详细描述中,我们可以深入探讨系统测试,它不仅包括功…

数据采集与融合技术作业三

目录作业①实验要求及结果心得体会作业②实验要求及结果心得体会作业③实验要求及结果心得体会码云连接作业① 实验要求及结果要求 要求:指定一个网站,爬取这个网站中的所有的所有图片,例如:中国气象网(http://www.weather.com.cn)。使用scrapy框架分别实现单线程和多线程…

UIAdornerManager实现角标功能

界面设计放入dxUIAdornerManager控件,功能很简单详见主食procedure TForm1.cxButton1Click(Sender: TObject); varaBadge: TdxBadge; // 声明一个变量用于存储徽章对象 begin// 清除当前所有徽章dxUIAdornerManager1.Badges.Clear;// 创建第一个徽章并设置其属性aBadge := dxU…

云服务器和物理服务器有区别吗?

在当今数字化时代,服务器是支撑各类网络应用和服务的关键基础设施。云服务器和物理服务器作为两种常见的服务器类型,它们在多个方面存在着显著的区别。 一、概念 物理服务器是一种独立的、实实在在的硬件设备,具备实体的计算、存储和网络连接等资源,用于运行各种应用程序和…

记一个mysql 主从切换的实验记录

一、前言 msyql 切换主库一般都是用高可用方案,例如MHA,MGR,高可用方案可以自动切主,但是MHA的failover功能无法把旧主自动挂到新主上作为从库使用,所以发生failover后,还需要手动把旧的主库作为备库挂到新的主库上。此时常规操作就是备份新主库,然后应用到旧主库上,然后…

银河麒麟系统V10安装mysql5.7

1、cat /proc/version查看系统版本2、官网(https://dev.mysql.com/downloads/mysql/)下载mysql 3、在服务器直接下载压缩包wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar4、创建upload目录存储压缩包 5、cd /upload/,…

macOS Sonoma 14.7.1 (23H222) Boot ISO 原版可引导镜像下载

macOS Sonoma 14.7.1 (23H222) Boot ISO 原版可引导镜像下载macOS Sonoma 14.7.1 (23H222) Boot ISO 原版可引导镜像下载 2024 年 10 月 28 日,Apple 智能今日登陆 iPhone、iPad 和 Mac。用户现可借助 Apple 智能优化写作,为通知、邮件和消息生成摘要,体验交互更自然、功能更…

macOS Sonoma 14.7.1 (23H222) 正式版发布,ISO、IPSW、PKG 下载

macOS Sonoma 14.7.1 (23H222) 正式版发布,ISO、IPSW、PKG 下载macOS Sonoma 14.7.1 (23H222) 正式版发布,ISO、IPSW、PKG 下载 2024 年 10 月 28 日,Apple 智能今日登陆 iPhone、iPad 和 Mac。用户现可借助 Apple 智能优化写作,为通知、邮件和消息生成摘要,体验交互更自然…

macOS Sequoia 15.1 (24B83) 正式版 ISO、IPSW、PKG 下载

macOS Sequoia 15.1 (24B83) 正式版 ISO、IPSW、PKG 下载macOS Sequoia 15.1 (24B83) 正式版 ISO、IPSW、PKG 下载 iPhone 镜像、Safari 浏览器重大更新和 Apple Intelligence 等众多全新功能令 Mac 使用体验再升级 请访问原文链接:macOS Sequoia 15.1 (24B83) 正式版 ISO、IP…

macOS Sequoia 15.1 (24B83) Boot ISO 原版可引导镜像下载

macOS Sequoia 15.1 (24B83) Boot ISO 原版可引导镜像下载macOS Sequoia 15.1 (24B83) Boot ISO 原版可引导镜像下载 iPhone 镜像、Safari 浏览器重大更新和 Apple Intelligence 等众多全新功能令 Mac 使用体验再升级 请访问原文链接:macOS Sequoia 15.1 (24B83) Boot ISO 原版…