Cocos Creator 3.0 入门 ! 2D 素材 3D 效果!

news/2024/12/23 4:32:30/

用 2D 素材实现 3D 效果!

前言

好久没写教程笔记了,不知大伙是否想念教程干货了?

温馨提示:所有内容纯属个人瞎玩研究,如要上线项目,请自行评估~ oh

最近逛论坛,看到有一位小伙伴想实现下面这种透视效果。

92236867e082130baacf6af0ffd7e155.gif
预期效果

接着,去找了(扒)这个游戏的素材,都是 2D 图片。

ae63bb5afa1b1d1600690114d575791b.jpeg
图片素材

想到两个方案可实现:

  1. 纯 2D 实现:对一张图片的每个顶点做一次投影变换,算出每个顶点在 2D 屏幕中的坐标。

  2. 用 3D 实现:调整相机参数,图片放在 Quad (四方形) 上,布置 3D 场景。

综合考虑,用 3D 实现相对方便一点,行动起来吧!

实现

本次主要实现两个点:

  1. 透视场景效果

  2. 金币动画

布置场景

新建场景后,在场景中添加 4 个四方形(Quad),通过旋转平移缩放,围成长方体的四个面。

313f8c480b1988e64a3e1faed5c29349.jpeg
四个四方形围成的四个面

接着创建材质(墙 / 地板 / 天花板),采用 builtin-unlit.effect(无光照),并选取对应的texture,再把材质加在对应的四方形上。

4a75c21097388b4edf334beadfa8f783.gif
创建材质

所有都创建完后,是这个样子的。

bebe9fbbed43c1dba606e9bc4ba55958.jpeg
山洞效果

这个洞的深处应该有个渐变黑影,把这个资源类型改成sprite-frame,并加入场景的 UI 层。

05dda9ccc6c2624306030f850816625a.gif
修改资源类型

接着调整一下摄像机的参数,让这个渐变黑影在中间,预览运行,结果如下。

dca4e094a310a18c3b52b544c69eb6a2.jpeg
山洞效果+阴影遮罩

帧动画

金币素材是 2D 的帧动画,要在 3D 实现透视效果,这里同样采用四方形。

原素材有点挤,我们稍微处理一下,让其每一帧的图片位置均匀。

这边用的是 shoebox 拆图,然后放在 ps 里调位置,导出的图片长宽需要是2 的 n 次幂

更程序员的做法是写个脚本分割图片,再重新生成图片(或者找美术爸爸出图)

a29d485047aa0b4deb18f407dae9a88a.jpeg
金币图片处理

同样的,也建一个金币材质,选择builtin-unlit.effect,选择transparent(透明)的通道(因为该图要用到透明),修改tillingOffset(纹理缩放偏移)参数。

45dde91a87090a4357b1bdfaa95523eb.gif
创建金币材质

创建一个四方形,选择金币材质,添加动画,修改tillingOffset中的偏移参数。

68fc43d33c287deb8d8173cc2f543c72.gif

创建金币动画1

再把动画过程调成Const,可以看到初步效果。

90d799eded2ccb2e867f6dc4d2e36b08.gif
创建金币动画2

最后,多放几个金币在场景中,加一些墙纸放墙上~

b7d8043e31ca3e985c0cf8411334dd9b.gif
最后效果预览

更多可能

如果你想继续把这个做成游戏的话,可以参考以下几个步骤:

  1. 角色也是帧动画资源,可以放在 UI 层,控制其左右。

  2. 角色前进:可以通过控制摄像机向前推进。

  3. 地图生成:把地图块做成预制体,根据相机的位置,不断回收前面和生成后面的地图块。

  4. 碰撞检测:同样可以根据摄像机的位置以及角色的位置,和带检测物体的位置判断。

小结

巧用四边形!3D 效果值得拥有!

游戏开发程序员必备英语单词回顾:

  • opaque - [oʊ'peɪk] 不透明的

  • transparent - [træns'perənt] 透明的

  • unlit - [ʌn'lɪt] 无灯光的

以上为白玉无冰使用 Cocos Creator 3.0 preview-1 实现 "用 2D 素材实现 3D 效果 的技术分享。欢迎分享给身边的朋友!


如果大家想了解更多更全面的动画编辑效果,欢迎戳【阅读原文】前往 B 站观看我们放空老师新鲜出炉的动画视频教程:

https://www.bilibili.com/video/BV1jK4y1S7jM

这期视频教程基于 Creator 3.0 制作,通过“小羊快跑”的案例帮助大家快速了解 Cocos Creator 动画编辑器的使用。

今后我们也会在 B 站不定期发布实例+技术这种实用性更强的视频教程,大家有什么想要了解的技术内容可以随时留言告诉我们噢~

往期精彩

ad63fa856d95655249f49793cad34d60.jpeg

97769bd51c110a980dc9860855f630e5.jpeg

448d8728134770d9428a4f8fb8558305.jpeg

“点赞“ ”在看” 鼓励一下657cff8de41b6a7758515a71c71713e7.png


http://www.ppmy.cn/news/511675.html

相关文章

编程制作动态壁纸的思路_抖音上很火的3D立体动态相册实现教程!(不懂编程也能学会)...

现在开始说说制作过程: 一、创建文件夹 1.在桌面建一个文件夹,命名随意 2.在文件夹里创建一个文件名为index.html的文件 3.在文件夹里创建两个文件名分别为img、css的文件夹 4.在css文件夹里创建一个名为style.css的文件 二、导入文件 1.将index.html的文件以记事本…

使用 HTML 5 Canvas 和 Raycasting 创建伪 3D 游戏

使用 HTML 5 Canvas 和 Raycasting 创建伪 3D 游戏 介绍地图Opera浏览器与图像插值优化拆分渲染和游戏逻辑优化渲染碰撞检测精灵敌人 介绍 随着最近浏览器性能的提高,除了像 Tic-Tac-Toe 这样的简单游戏之外,用 JavaScript 实现游戏变得更加容易。我们不…

android立体3D效果_Android实现八大行星绕太阳3D旋转效果

code小生 一个专注大前端领域的技术平台公众号回复Android加入安卓技术群 作者:史蒂芬诺夫斯基链接:https://www.jianshu.com/p/2954f2ef8ea5声明:本文已获史蒂芬诺夫斯基授权发表,转发等请联系原作者授权 好久没写View了&#xf…

android文字立体,3d立体字转换器

3d立体字转换器APP安卓软件是一款将文字转化立体字的软件,用户可以以视频格式保存屏幕内容并添加语音消息,3d立体字转换器免费版可以通过应用程序与任何人分享视频,3d立体字转换器支持多种图片格式,更加充满艺术性,感兴…

在线人民币数字金额转成美元金额大写工具

在线人民币数字金额转成美元金额大写工具 在线人民币数字金额转成美元金额大写工具 本工具可以在浏览器本地将数字人民币转换成美元美分。 如果金额里面有小数,英文金额大写有3种表达方式:美分,美点,分数 https://tooltt.com/dollar/

Android开发实用小工具八——汇率转换工具

文章目录 前言一、效果展示二、代码主代码 总结 前言 汇率转换工具的开发与实现。 一、效果展示 二、代码 准备工作和样式布局与我开发的另一个小工具(长度转换工具)所用一致,详情请看我上一篇文章。 链接: Android开发实用小工具二——长度…

React Native 安卓人民币符号显示异常问题解决

在项目中经常会发现人民币符号 ¥ 在安卓机下的显示异常(只显示一横如下图),而 h5、iOS 均无误 这是因为全角半角的原因,全角 ¥ 会受系统影响,而半角 则基本不受影响 那么知道原因之后&#xf…

分析称预期优酷第三季度每股亏3美分

据国外媒体报道,美国科技博客网站今天刊登了分析师张江(Jiang Zhang)的文章,文章指出优酷在行业竞争高度激烈的形势之下,需要考虑一些措施来捍卫自己的市场,例如自主开发内容。该文章还表示,华尔…