首页 > 编程语言 >UWA学堂上新|服务器AOI(Area Of Interest)算法和功能实现

UWA学堂上新|服务器AOI(Area Of Interest)算法和功能实现

时间:2024-07-12 16:10:24浏览次数:13  
标签:游戏 Area AOI Interest MMORPG 服务器 客户端 分布式

课程是《基于.NetCore开发MMORPG分布式游戏服务器》系列课程第6节,本系列课程旨在帮助大家从零开始搭建商业化MMORPG的分布式服务器框架,包括不同种类服务器的线程模型,如中心服务器、网关服务器、游戏服务器、寻路服务器等,并讲解了这些服务器该如何根据各自的职责进行业务模块分工。   本课程主要带大家掌握如何使用Unity的NavMesh进行寻路,包括多代理同时寻路,不同代理的参数设置等。客户端大的3D场景如何进行AOI切分,并导出AOI数据给服务器使用,服务器加载AOI数据并创建服务器版本的场景和对应AOI区域实例。服务器进行刷怪,在对应的AOI区域创建怪实例,只有当玩家进入对应区域,才能看见怪,离开对应区域时,怪会进行卸载,从而优化整个客户端同时显示的角色数量,减少通讯压力!     相关课程推荐: 《分布式MMORPG服务器框架搭建以及MongoDB和Redis使用》(基于.NetCore开发MMORPG分布式游戏服务器系列篇1) 《支持HotFix的分布式服务器框架搭建》(基于.NetCore开发MMORPG分布式游戏服务器系列篇2) 《FlatBuffer表格工具和服务器表格加载》(基于.NetCore开发MMORPG分布式游戏服务器系列篇3) 《分布式网络和通讯协议数据传输》(基于.NetCore开发MMORPG分布式游戏服务器系列篇4) 《MMO游戏创建加载游戏角色对应服务器数据存储和读取》(基于.NetCore开发MMORPG分布式游戏服务器系列篇5)   饭饭:独立游戏制作人 YouYouFramework游戏框架作者 自研MMORPG客户端和服务器框架 2014进入手游行业,7年以上游戏前后端开发经验,曾任日系游戏公司主程,畅游程序开发专家。开发过MMORPG游戏《封神之怒》、《轩辕剑》,SLG游戏《战之海贼》、《我的城堡》,休闲游戏《俄罗斯方块环游记》。  


  目录   1|客户端使用NavMesh进行寻路 2|客户端自定义AOI编辑器创建九宫格数据供服务器使用 3|服务器加载AOI区域数据并在对应区域创建服务器角色 4|客户端进入游戏后根据AOI区域显示对应的角色 5|客户端跨区域移动的时候动态加载和卸载AOI区域角色  
  本篇转载自《服务器AOI(Area Of Interest)算法和功能实现》的第1节免费试读中,点击链接查看。   视频封面  
此课程比较适合初涉MMORPG服务器的开发者、从事Unity前端开发,对服务器进行学习的开发者以及希望全面学习服务器从零搭建到商业化的开发者。   看完全篇后你会获得: 1、客户端NavMesh的使用和场景进行AOI切分; 2、服务器实现AOI算法并在对应区域进行刷怪; 3、课程配套Demo工程。

标签:游戏,Area,AOI,Interest,MMORPG,服务器,客户端,分布式
From: https://www.cnblogs.com/uwatech/p/18298606

相关文章

  • B. Area of the Devil
    借这道题夯实一下计算几何的基础向量积:顺负逆正两线交点和夹角都是借助向量工具求解的分类讨论:圆弧小于180度时,减去三角形面积;大于180度时,加上三角形面积割补法求面积(正难则反)C++中的角度以弧度制表示点击查看代码#include<bits/stdc++.h>#definepddpair<double,dou......
  • 对原生textarea加上:当前输入字数/最大输入字数
    源码:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>TextareaCharacterCounterwithDr......
  • 腾讯冷启动论文阅读《Enhancing User Interest based on Stream Clustering and Memor
    背景用户冷启动一直是推荐系统中的一个难题,新用户(或非活跃用户)由于缺少行为数据,模型预估不准确。为了改善用户冷启动,腾讯提出了UserInterestEnhancement(UIE)模型(论文中提到也可以用于item的冷启动)。基本思想是先对用户聚类,然后用userembedding检索最相似的k个聚类中心来表示......
  • SwiftUI中SafeArea的管理与使用(ignoresSafeArea, safeAreaPadding, safeAreaInset)
    SafeArea是指不与视图控制器提供的导航栏、选项卡栏、工具栏或其他视图重叠的内容空间。在UIKit中,开发人员需要使用safeAreaInsets或safeAreaLayoutGuide来确保视图被放置在界面的可见部分。SwiftUI彻底简化了上述过程,除非开发者明确要求视图突破安全区域的限制,否则SwiftU......
  • P2215 [HAOI2007] 上升序列题解
    题目大意对于一个集合$S$,对于$S$中长度为$m$的子序列$P$,在集合$P$中如果$P_1<P_2<...<P_m$那么我们称$P$为$S$的一个上升序列。如果有多个$P$满足条件我们就输出最小的那个,如果没有完成条件的$P$则输出Impossible。思路对于一个含有$......
  • com.omarea.vtools/files/up.sh
    scene="com.omarea.vtools"daemon="scene-daemon"current_dir=$(dirname$0)origin_path="$current_dir/$daemon"if[[!-e"$origin_path"]];then echo$origin_path echo"Scene'sdaemonnotfound!" exit......
  • 【uni-app】 textarea组件的auto-hieght属性,显隐切换时高度异常,无法自适应内容撑开。
    bug1:在uni-app中,在使用多文本输入框时,如果输入框存在if的显隐切换时,真机调试中auto-height计算高度有误(一般是高于正常高度),导致小程序页面渲染出现很大问题。案例代码如下:<viewclass="content_right"v-if="editable"> <textareaplaceholder="请输入地址"......
  • 2024 jscpc B题 Area of the Devil 题解
    题目链接:AreaoftheDevil算不在题目说的区域内的面积,直接算是比较麻烦的,这里给一个朋友直接算画的图,其实画出区域以后也算好算,当然官解提到的容斥去算更好写。一共有五个空余的区域,我们考虑这五个区域怎么计算,图一是直接画出的所有区域的并集,图二则是五角星处于边界情况时,图......
  • P4290 [HAOI2008] 玩具取名
    原题链接题解1.复杂问题简单化,把字符用数字代替2.每次替换都会减少一个字符,到最后一定是由两个字符合成一个字符,并且这两个字符的来源区间不相交3.相同区间不同的合并方式,最后生成的字符也不同,所以dp多加一个状态4.题目只问能否合成对应字符code#include<bits/stdc++.h>us......
  • P2341 [USACO03FALL / HAOI2006] 受欢迎的牛 G
    链接:https://www.luogu.com.cn/problem/P2341题目:思路:tarjan缩点:把所有强连通分量缩成一个点,然后统计出度为0的缩点,如果只有一个,那么能成为明星的数量就是该缩点扩充后的个数;如果不止一个,那就是0.代码:额,就是不知道为什么debug了两节课.......#include<iostream>#include<v......