捕鱼游戏思路(一)

基本要点:

1.鱼最基本的动画:帧动画
帧动画在Unity里面可以选择用animation制作,也可以考虑直接拖拽素材到场景使其自动生成。
2.鱼游动的方式:匀速和变速
匀速:可选择使用Unity自带的Vector3.MoveTowards(pos,new pos,speed)
变速:考虑使用插值运算
gameObject.transform.localPosition = new Vector3(Mathf.Lerp(gameObject.transform.localPosition.x, 5, step), Mathf.Lerp(gameObject.transform.localPosition.y, 5, step), Mathf.Lerp(gameObject.transform.localPosition.z, 0, step));
3.鱼游动的过程:从起点到终点,不可能都是直线前进,必须要有弯曲的前进路线。针对此情况,客户端可以有很多种方式来实现。如:

  • 用ITween来设置Point,然后让鱼随着Point前进
  • 根据起点和终点,获取圆弧,利用角度和半径来计算鱼的前进路线
  • 根据起点和终点以及二者之间的点通过贝塞尔曲线来获取前进的路线

认识贝塞尔曲线:http://www.html-js.com/article/1628
一位大神使用贝塞尔写的游动的路线:http://blog.csdn.net/i646372587/article/details/46852835
以上是关于客户端实现鱼游动路线的思路,那么问题来了,服务器应该需要做一些怎么样的处理?

  • 服务器无法实现客户端这种复杂的图形化式的东东
  • 在游戏过程中,服务器必须随时知道某一条鱼究竟在哪个位置
  • 服务器能给客户端提供的只是关于某一条鱼的起点和终点

SO,接下来解决思路是:
写一个算法来生成一些随机点。。。当服务器给出起点和终点,服务器和客户端同时计算生成的点,鱼通过客户端生成的点通过贝塞尔进行运动,服务器可设定多少时间验证当前鱼儿所在点和自己计算点的差别,当在可接受范围内,无视;当偏值过大,则鱼儿必须运动到服务器指定的点。
所以,重点是这个算法啊,算法啊。算法啊!!!!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,403评论 19 139
  • This article is a record of my journey to learn Game Deve...
    蔡子聪阅读 9,333评论 0 9
  • 算法的问题没解决之前先解决了贝塞尔曲线的算法问题,由于使用的是三阶贝塞尔,必须要传入四个点。起点,终点以及两个控制...
    夜行水寒阅读 4,865评论 0 0
  • Unity工程结构: Assets文件夹:存储工程所需的所有资源文件 Library:工程所需要的所有资源库(类库...
    斗魁阅读 6,006评论 0 3
  • 每当暮色降临的时候,这个像是襁褓中的孩子城市就被一团团朦胧的气息所掩埋。于是这个小城市显得又那么平静与自然,...
    散落的后来阅读 1,410评论 0 1