V7投稿 | 3D物理麻将消除 - 核心玩法

内容介绍

小游戏畅玩榜的IAA游戏,自从羊了个羊打开三消新格局后,三消系列已经进化到,3D表现+物理效果,质感效果也越来越好。如何美化3D方块效果,优化物理性能,解决3D长宽屏幕的适配,提供一些制作思路。

体验链接:点击体验
获取链接:点击获取

3D方块

3D方块使用定制的白模( uv 固定顶面,美术或者程序生成),
因为白模通过shader的计算,能更好实时还原光照和阴影效果

  • 如何3D方块的合批?(优化)
    开启GPU合批提高性能,使用GPU instance 自定义纹理 a_uv
    shader的定义:
    1715872204795
    脚本使用方式:
    1715872111461

  • 如何提升3D方块的质感效果?(美化)
    光照材质 Roughness(粗糙度0.3) + Metallic(金属度0.05) + ShadowMap(阴影)
    image

  • 如何消除3D麻将底色交界的锯齿?(重点美化)
    底色牌白色硬边交界,光栅化容易产生锯齿,影响观感。
    image
    常规全屏抗锯齿办法,例如 多重采样(硬件), FXAA(后处) …等,
    但是这些方法,性能消耗代价不小,有没更加简单性能好的办法?
    办法是有的,使用smoothstep()处理底色和白色的过渡,完美消除交界锯齿。
    image

物理系统

  • 如何支持物理系统 Sleep ?(重点优化)
    快速Sleep + 局部激活 , 是物理优化的关键。

    • 1.开启允许的Sleep,设置适当的临界速度。
      项目设置->物理
      1715872608233
    • 2.主动激活局物体避免过度连锁反应。
      但是,大家会发现,物理开启sleep,在物体稳定后,
      点取下面方块,其他方块没掉下来,场面一度十分的尴尬。
      怎样局部的激活其他的物体呢?使用sweep几何投射进行收集激活

物理优化效果:(左图:Sleep 前, 右图:Sleep 后)
image

屏幕适配

  • 如何适配长短屏 ?
    3D相机,使用水平FOV适配 , 对大于1:2 的宽屏进行动态FOV的转换适配.
    (creator 3.8.2) 水平FOV和 垂直互转函数:
    1715871014586

长宽屏适配效果:
image

常见疑问

    1. 代码授权问题,微信,抖音,小游戏
      不要过分担忧,代码量简短,容易修改。
      占整个游戏比重非常小,容易通过。
    1. 小游戏首包过大,功能裁剪,小游戏分包
      增加过渡场景,游戏场景可以独立打bundle.
    1. 自定义主题素材扩充,可以使用图集
      texturepack,打包增加你想要的素材。
    1. IOS 性能优化,强烈推荐使用 3.8.3 打包,
      勾选支持 webgl2 , 勾选小游戏高性能,
      勾选 wasm+asmjs 模式,按机器使用阴影
      (高端:shadowmap , 中端:planar, 低端:关闭)

欢迎入群关注交流:

6f9cc8dd227de41fd2b30fa21f2b39d

获取链接: 3D麻将消除-核心玩法

5赞

大佬,666

W大总管,你来啦

机会转眼就过,只渡有缘人

还得是98卡…这里没用你之前的轻量物理么。

与时进步,官方bullet己支持wasm,3.8.3 可以试试

在用了,被sleep坑的一愣一愣的。睡了就不起來了,最後也是靠幾何投射一巴掌抽醒的。

哈哈哈,灵光一闪

1.0.1 版本更新,
1.调整代码结构,分离界面和场景

体验链接:点击体验
获取链接:点击获取

image

常见疑问

    1. 代码授权问题,微信,抖音,小游戏
      不要过分担忧,代码量简短,容易修改。
      占整个游戏比重非常小,容易通过。
    1. 小游戏首包过大,功能裁剪,小游戏分包
      增加过渡场景,游戏场景可以独立打bundle.
    1. 自定义主题素材扩充,可以使用图集
      texturepack,打包增加你想要的素材。
    1. IOS 性能优化,强烈推荐使用 3.8.3 打包,
      开启wasm+asmjs模式,按机器使用阴影
      (高端:shadowmap , 中端:planar, 低端:关闭)

体验链接:点击体验
获取链接:点击获取

啊,群二维码过期了 求再加一下

加我方式:
6f9cc8dd227de41fd2b30fa21f2b39d

666 666 6!