全套源码丨Cocos Creator 3.0 开发 io 类游戏关键技术点详解

App Store 曾经将 io 游戏列为“值得关注的四个趋势”之一。io 类游戏在国内又被称为休闲竞技类游戏、大作战游戏、大乱斗游戏等,以操作规则简单、多人在线对抗、死后即刻复活等为特点,曾经风靡一时的《球球大作战》、《贪吃蛇大作战》都属于这一类型,广受玩家喜爱。

cbe3ba89ca1fd54e19dd78a403ecaa89.jpeg

扫码体验微信小游戏《奔跑吧小仙女》

Cocos 引擎官方于上周正式推出一款 io 类玩法游戏源码《奔跑吧小仙女》。本项目源码包里包含了完整策划文档、项目源码、美术源文件,且官方支持免费提供微信小游戏上线源码授权服务

游戏中角色会自动前进,玩家需要滑动屏幕控制角色移动的方向,通过收集木板来跨域水域达到抄近路的目的。游戏一共5人参与,最快到达终点的玩家即为胜利。

《奔跑吧小仙女》在不使用物理的基础上进行开发。同时,我们也配置了完整的教程,包括如何启动场景、摄像机跟随、水面和天空球的设置、玩家与 AI 的控制,以及如何加载数据,相关配置文件等。除此之外我们还有地图编辑器,供玩家扩展使用。

今天主要从以下四个方面对本项目进行关键技术点解析

  • 游戏场景与地图生成

  • 玩家控制与 AI

  • 地图编辑器

  • 性能优化

PART 1

游戏场景与地图生成

《奔跑吧小仙女》设定在一个水上乐园,为这美丽的环境,我们给场景中添加了天空球和水面效果。

我们只需要简单的图片和简单的模型就能实现好看的效果!

天空球由以下组成:

  • 球模型

  • 一张贴图

  • 一个旋转动画

  •  一个 builtin-unlit 无光照材质

8985911c9e809745f92833501b645c9a.png

dd5657f015e19068de03ac3d8da2f5bd.png

水面由以下几部分构成:

  • 平面模型(四方形)

  • 噪声贴图(用于显示水纹)

  • 深度贴图(控制水的颜色,中心到边缘的变化)

  • 一小段 shader 代码

287821d6dab7409a616378ef1c6f20df.png

顶点偏移动画,上下起伏:

#if USE_WAVE
      vec3 offset;
      vec3 tangent;
      vec3 bitangent;
      gerstnerWaves(worldPos.xyz, waveVisuals.xyz, waveDirections, offset, v_normal, tangent, bitangent);
      worldPos.xyz += offset;

      #if USE_NORMAL_MAP
        v_tangent = tangent;
        v_bitangent = bitangent;
      #endif
    #endif

水基础颜色:

// color
vec4 waterColor = shallowColor;

计算水纹:

// caustic
    vec4 finalCausticColor = vec4(0.);
    #if USE_CAUSTIC
      float causticDepth = causticParams2
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值