如何渲染网络图片_初探精灵中的网格渲染模式 !

小朋友你是否有很多问号?

303009e4f12053f2fbf1329d857a0a1d.png

当 Sprite 组件选择渲染模式 Mesh 时,图片会没了?

c1b67dd80c49184054164ea0b95019a3.png

翻翻官方文档看看这个是什么东西?

https://docs.cocos.com/creator/manual/zh/components/sprite.htm

413536d80a2127811b93b2e3c5e6499d.png

按照文档,下载 TexturePacker 并导出,拖到编辑器内,改成 Mesh 果然出现图片了。

2b93339bb425a8cfc2ca74e915d73ab2.png

请无视上面红色的部分,因为是免费版的,导出的时候自动加码了。

好了,该开始研究一下该怎么用这个 (Mesh)渲染模式 。

除了使用 TexturePacker 导出的资源,我们还可以通过代码去实现这个网络模式。

先看看 MeshSpriteAssembler 的源码。

a41411ba4e3d3a5089519cb9c81a5685.png

可以看到在 sprite.spriteFrame 中有一个数据 vertices

vertices 非常像在 使用 mesh 实现多边形裁剪图片 中介绍的 cc.Mesh

根据命名和源码,大概可以猜到 vertices 中的每个参数的含义。

  • x ,位置坐标x的数组。
  • y ,位置坐标y的数组。
  • nu ,纹理坐标u的数组。
  • nv ,纹理坐标v的数组。
  • triangles ,顶点索引数组。

可以尝试传入一些数据进去。

// this.sp // cc.Spritethis.sp.spriteFrame.vertices = {
    x: [0, 100, 100],
    y: [0, 0, 100],
    nu: [0, 1, 1],
    nv: [0, 0, 1], 
    triangles: [0, 1, 2],
}// 标记顶点数据修改过了this.sp.setVertsDirty();  

效果如下。

c2407fb08d205b951ad150e99a8a6cf8.png

可以看出来位置坐标 x 和 y 是以左上角为原点。纹理坐标u 和 v 也是以左上角为原点。

当然可以围成一个正方形,这只需要四个顶点数据,和六个顶点索引就可以了。

a6c32a174b3991dce7180500055ad536.png

再大致解释一下这些东西。

96746d2e1e8f0a3357016187b331b8ad.png

通过上图可以看出来,x y nu nv 构成了顶点数据。

triangles 构成了顶点索引,告诉它该以什么顺序画三角形(0->1->22->3->0这两个三角形)。因为网络都是以三角形组成的。

当然,这个 MeshSpriteAssembler 的顶点数据格式仅支持位置坐标``纹理坐标``颜色值这几个数据。而且默认颜色值是固定一个值的。

dd8b5f4bc6f646dcbf471c864afeb707.png

如果要定制其他数据,或者实现渐变效果(修改颜色值),可以自定义 Assembler ,达到自定义渲染的效果。

https://docs.cocos.com/creator/manual/zh/advanced-topics/custom-render.html

6a6d3d7c98af70657ac91d3ca06fa75e.png

这些内容且听下回分解(挖一个坑)~

使用 mesh 实现多边形裁剪图片 和这篇讲解的地方有相通之处,可以结合着一起学习喔。

小结

以上为白玉无冰使用  Cocos Creator v2.3.3  的技术分享,再次感谢白玉无冰童鞋,如果您在使用 Cocos Creator 2D/3D 的过程中 get 了独到的开发心得、见解或是方法,欢迎随时向我们投稿,帮助更多开发者们解决技术问题哦~ 更多精彩: 腾讯光子团队是如何制作《最强魔斗士》的? 520出海脱单指南,“大厂”的流量扶持策略 Cocos Creator 物理挖洞教程! Creator 3D v1.1 里程碑版本,三大维度齐升级! 腾讯光子《最强魔斗士》3D开发经验分享 新书推荐|零基础入门小游戏开发 你还在熬夜加班写 bug?  让小秘书来帮你 Cocos 插件开发者的福音来了,余额提现秒到账 Creator 2.3.3 更新说明,效率即是一切! Creator 3D 官方中文视频教程 ,附素材源码 如何在 Creator 中优雅地嵌套 Prefab? 如何打通用户获取与变现的闭环实现稳定增长? Analytics 自定义事件功能详解,埋点分析利器 Cocos Creator 开发原生游戏 体验如何 原生 3D 游戏《弹无虚发》是如何炼成的? 微信小游戏首包超出4M之后 技巧:微信如何设置星标?? 前端开发者入门 Cocos Creator 必读

42992eda8fcbd5a72606363a8836825b.png

“在看”是最大的鼓励▼

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值