引言哈喽大家好我是亿元程序员上次老板让做拼图游戏的那个小伙伴又来了亿哥我又来了捂脸上次我们老板不是让我们趁热抢个拼图游戏头位吗结果还是慢了一节投流基本纯亏现在大家都在拼题材和变种了哭笑不得。老板却异想天开让我搞一个3d版本的捂脸我这没有经验咋搞啊别慌3d版本的拼图游戏那不就是拼模型其实很早就有小伙伴咨询笔者关于Cocos游戏开发中的动态切割模型之前还不知道意欲何为现在想起大有乾坤。言归正传本期带大家一起来看看如何在Cocos游戏开发中实现一个3d版本的拼图拼模型游戏并加入到我的亿元Cocos小游戏实战合集中去。本文源工程可在文末获取小伙伴们自行前往。简单分析一下3d的拼图游戏其实可以做成拼模型的游戏就是基本规则沿用拼图游戏的规则将完整的图片按照难度分割成n*n的碎片然后打乱玩家通过交换拼图最终把图片恢复完整包括一些特殊的规则例如正确相邻的图片会合并成整体。拼模型游戏就是按照上述规则将图片替换成模型即可其关键的第一步就是要把模型动态分割。那么问题来了如何将一个模型进行动态分割动态模型分割其实关于动态模型分割笔者之前的文章就已经做过了介绍感兴趣的小伙伴可以前往阅读《如何在CocosCreator3.8中实现动态切割模型》。动态模型分割说是分割其实是创建就是动态创建被切割平面分割的两部分子模型然后把原模型销毁。其中最关键的API就是utils.MeshUtils.createMesh。这里面涉及的知识点实在是非常多包括分割、生成、割面填充等等不要求小伙伴们都会会用就行或者会指挥AI用就行。既然分割起来这么麻烦有没有更简单的方法美术妹子分割美术妹子 我再次谢谢你为什么是再次这时候又有小伙伴提出疑问了不是说程序能完成的事情尽量不要麻烦美术妹子吗就不怕妹子追你九条街其实对于没有3d游戏开发经验的小伙伴来说美术妹子分割好给到都不一定能完成游戏的开发更何况通过程序去动态切割说到这里我相信美术妹子会理解的模型能切割成的份数很多情况下是可以确定的所以试试看说不定能成。话又说回来没有3d游戏开发经验的小伙伴该怎么着手开发拼模型游戏创建项目万事开头难首先第一步就要创建项目这里注意要创建一个3d的项目。区别于2d游戏项目项目创建后场景中会自带灯光和相机以及三维的场景编辑器。下面列举一些常用的操作定位物体可以通过双击或者快捷键F快速定位物体。场景漫游按下鼠标右键后可以通过快捷键w、s、a、d、e、q漫游场景。调整相机视角调整好合适的视角后选中相机后可以通过菜单栏节点-将节点对齐到场景视角快速调整相机视角。快速回到相机视角选中相机后可以通过菜单栏节点-将场景视角对齐到与节点快速回到相机视角。这太基础了你上你也行那如何让界面既能显示3d模型又能显示UI多相机共存**如上图所示**游戏画面中包含UI和模型意味着场景中可能包含至少2个相机。控制相机拍摄哪些物体可以通过Visibility属性去控制。控制相机的渲染优先级可以通过Priority属性去控制如上面拍背景的相机为0、拍模型的相机为1拍弹框的相机为2。说了那么多可以开始实战写模型游戏写代码没拼模型游戏实战相信小伙伴们通过上面的文章内容已经学会如何着手开发拼模型游戏了吧由于本期还没有贴熟悉的代码笔者还是决定补充一些关键代码屏幕点击3d物体 首先通过screenPointToRay方法将点击转成射线然后通过PhysicsSystem.instance.raycast获取到对应的物体。拖拽3d物体3d物体动画 直接用熟悉的tween动画即可。效果演示结语拼图游戏现在都玩出花了要不要做个3d版本的试一试小伙伴们你们都学会了吗本文实战完整源码可以通过订阅获取。
老板说拼图游戏太卷了,让我用Cocos做个3d版本的...
引言哈喽大家好我是亿元程序员上次老板让做拼图游戏的那个小伙伴又来了亿哥我又来了捂脸上次我们老板不是让我们趁热抢个拼图游戏头位吗结果还是慢了一节投流基本纯亏现在大家都在拼题材和变种了哭笑不得。老板却异想天开让我搞一个3d版本的捂脸我这没有经验咋搞啊别慌3d版本的拼图游戏那不就是拼模型其实很早就有小伙伴咨询笔者关于Cocos游戏开发中的动态切割模型之前还不知道意欲何为现在想起大有乾坤。言归正传本期带大家一起来看看如何在Cocos游戏开发中实现一个3d版本的拼图拼模型游戏并加入到我的亿元Cocos小游戏实战合集中去。本文源工程可在文末获取小伙伴们自行前往。简单分析一下3d的拼图游戏其实可以做成拼模型的游戏就是基本规则沿用拼图游戏的规则将完整的图片按照难度分割成n*n的碎片然后打乱玩家通过交换拼图最终把图片恢复完整包括一些特殊的规则例如正确相邻的图片会合并成整体。拼模型游戏就是按照上述规则将图片替换成模型即可其关键的第一步就是要把模型动态分割。那么问题来了如何将一个模型进行动态分割动态模型分割其实关于动态模型分割笔者之前的文章就已经做过了介绍感兴趣的小伙伴可以前往阅读《如何在CocosCreator3.8中实现动态切割模型》。动态模型分割说是分割其实是创建就是动态创建被切割平面分割的两部分子模型然后把原模型销毁。其中最关键的API就是utils.MeshUtils.createMesh。这里面涉及的知识点实在是非常多包括分割、生成、割面填充等等不要求小伙伴们都会会用就行或者会指挥AI用就行。既然分割起来这么麻烦有没有更简单的方法美术妹子分割美术妹子 我再次谢谢你为什么是再次这时候又有小伙伴提出疑问了不是说程序能完成的事情尽量不要麻烦美术妹子吗就不怕妹子追你九条街其实对于没有3d游戏开发经验的小伙伴来说美术妹子分割好给到都不一定能完成游戏的开发更何况通过程序去动态切割说到这里我相信美术妹子会理解的模型能切割成的份数很多情况下是可以确定的所以试试看说不定能成。话又说回来没有3d游戏开发经验的小伙伴该怎么着手开发拼模型游戏创建项目万事开头难首先第一步就要创建项目这里注意要创建一个3d的项目。区别于2d游戏项目项目创建后场景中会自带灯光和相机以及三维的场景编辑器。下面列举一些常用的操作定位物体可以通过双击或者快捷键F快速定位物体。场景漫游按下鼠标右键后可以通过快捷键w、s、a、d、e、q漫游场景。调整相机视角调整好合适的视角后选中相机后可以通过菜单栏节点-将节点对齐到场景视角快速调整相机视角。快速回到相机视角选中相机后可以通过菜单栏节点-将场景视角对齐到与节点快速回到相机视角。这太基础了你上你也行那如何让界面既能显示3d模型又能显示UI多相机共存**如上图所示**游戏画面中包含UI和模型意味着场景中可能包含至少2个相机。控制相机拍摄哪些物体可以通过Visibility属性去控制。控制相机的渲染优先级可以通过Priority属性去控制如上面拍背景的相机为0、拍模型的相机为1拍弹框的相机为2。说了那么多可以开始实战写模型游戏写代码没拼模型游戏实战相信小伙伴们通过上面的文章内容已经学会如何着手开发拼模型游戏了吧由于本期还没有贴熟悉的代码笔者还是决定补充一些关键代码屏幕点击3d物体 首先通过screenPointToRay方法将点击转成射线然后通过PhysicsSystem.instance.raycast获取到对应的物体。拖拽3d物体3d物体动画 直接用熟悉的tween动画即可。效果演示结语拼图游戏现在都玩出花了要不要做个3d版本的试一试小伙伴们你们都学会了吗本文实战完整源码可以通过订阅获取。