cocos creator新手教程:第003节3D模型的基本概念

这篇具有很好参考价值的文章主要介绍了cocos creator新手教程:第003节3D模型的基本概念。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

3.1 计算机如何制作一个3D模型

讲述这个问题之前,我们先来看下现实生活中我们要做一个模型,应该如何做呢?首先我们要把模型的形状给雕刻构建出来,现实生活中的物体都是由分子组成的连续的表面,计算机是离散的无法做到这点,所以计算机通过微分的方式,把一个曲面分成”多个平面”来模拟实现连续的物体表面。常见的平面我们有三角形,四边形, 五边形等,任何一个平面都可以分割成若干三角形,所以计算机所指的面都是三角形,这样做有一个好处,底层与显卡只要处理同一种面(三角形)就可以了,这样渲染流水线处理会简单统一。每个三角形都是由空间中的3个顶点来确定的,当空间中的3个点定下来,他们就能确定一个三角形平面。三角形的3个顶点,我们在3D里面通常称为面的顶点。

对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。

cocos creator新手教程:第003节3D模型的基本概念

空间的物体也可以由若干三角形来构成,雕刻成形状,如果物体是曲面,那么就会通过将曲面分小成若干小三角形来组成曲面形状。理论上来说,三角形分的越小,越接近于真实的曲面,当然三角形分的越小,面的数目越多,处理起来性能也越差。一般在建模的时候,人眼看上去接近曲面就可以了。

所以计算机制作3D模型的第一个步骤就是建模,建模的时候,会先确定一个坐标系(原点与x, y,z轴),这个坐标系我们通常叫做模型坐标系,所有的三角形面的顶点的位置都是基于这个坐标系的。模型中顶点的坐标我们又叫做顶点的模型坐标。由此我们可以得到如下推论:

顶点的世界坐标 = 物体的世界坐标 + 顶点的模型坐标

(注:这里的+是叠加变换,包括旋转等,不是简单的坐标相加)

建模完成以后,物体的形状就被雕刻出来了,接下来就是给每个面涂上颜色。发挥一下我们的想象力,我们用一张白纸包住整个模型,然后用图钉基于面的每个顶点把图钉按下去,这样这个白纸就会贴合固定到模型上了。接下来美术就在白纸上涂颜色,图好以后,模型上色完成,变成物体的形状。

接下来我们再把”图钉”取下来,把贴在模型上的白纸展开出来,我们就得到了上好颜色的纸,我们叫做纹理贴图,如图所示:

cocos creator新手教程:第003节3D模型的基本概念

刚才每个顶点的固定图钉,都会在纹理贴图上留下一个小针孔(如图中的紫色点),这个针孔所在的位置叫做顶点的纹理坐标。纹理坐标是一个二维坐标(x, y),坐标系的原点是左下角(0, 0), 右上角是1, 1, 根据这个标准,来确定纹理每个顶点的纹理坐标。到此我们就建好了一个模型。美术交付的时候就包含了 fbx模型文件与模型的纹理贴图,当然还有其它的一些细节增强的贴图,如法线贴图等,fbx存放的是模型的顶点数据等,纹理贴图就是物体的表面颜色。最后总结以下美术3D建模的一些基本概念:

(1)3D模型是由一个个的三角形面组成的形状,每个三角形由3个顶点组成,三角形组成的模型形状,像网格一样,所以我们把建模的三角形面的数据又叫做网格数据,后文成Mesh。

(2) 每个三角形的面有3个顶点,很多同学理解为顶点就是顶点坐标,其实这个说法是错误的,3D中的顶点包含了: 顶点的坐标(position), 顶点的纹理坐标(uv), 顶点的法线坐标(Normal)等。所以顶点是这些数据的集合,并不单指模型顶点的位置

3.2 模型动画

模型制作好以后,有些人物角色还需要做模型动画, 让角色能有动作。模型动画其实就是模型的顶点在一段时间内的连续变换,比如一组待机动画,哪些顶点会动,如何动,每个顶点在动画中每一帧的的位置如何,这样每一帧,顶点的位置不一样,然后把每一帧播放出来,计算出顶点在这一帧的位置(动画采样), 每一帧,顶点的位置不同,人眼会把每帧的相关形状补间起来,形成了动画的感觉,叫做模型动画,比如3D鱼模型的游动,在每一帧,尾巴处的顶点位置不同,导致物体的形状不同,连起来就形成了3D动画。模型顶点的动画运动数据,也可以存放到fbx文件里面。

cocos creator新手教程:第003节3D模型的基本概念

今天的分享就到这里了,希望帮助你建立一些基本的3D概念。关注我们学习更多游戏开发相关的知识。文章来源地址https://www.toymoban.com/news/detail-436542.html

到了这里,关于cocos creator新手教程:第003节3D模型的基本概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Cocos Creator3.8 项目实战(二)cocos creator编辑器中绑定事件引发的bug解决

    问题描述: 编辑器里面多个按钮绑定同一个脚本,并配置事件,脚本中有其他消息监听,引起逻辑混乱。 问题原因: 编辑器里面多个按钮绑定同一个脚本, 每次绑定一个按钮事件,就会导致加载一次脚本 ,如上绑定了多个按钮的事件,脚本也就被加载多次,导致初始化接

    2024年02月07日
    浏览(37)
  • Cocos Creator问题汇总

    [Window] Cannot read property ‘cameraPriority’ of null node.on(Node.EventType.TOUCH_END, this.onBlockClicked, this); 解决 :监听的时候,node节点上必须有UITransform组件 Camera priority error - Cocos Creator - Cocos Forums 新建的prefab在运行的时候ui不显示,只能看到按钮上的label文本内容。 解决 :检查是否有C

    2024年02月13日
    浏览(27)
  • Cocos Creator 使用protobufjs

    在使用cocos creator开发微信小程序的时候,服务器是使用的skynet,服务器与前端的通讯想使用protobuf,网上有文档,但不多,经过一天的奋斗,终于是让cocos creator能够使用protobuf 官网文档参考: https://www.npmjs.com/package/protobufjs https://docs.cocos.com/creator/3.5/manual/zh/scripting/modules/example.html p

    2024年02月05日
    浏览(35)
  • cocos creator踩坑记录

    cocos creator踩坑记录 removeFromParent 和removeAllChildren cocos2dx直接从父节点移除并回收内存 creator 则只是从父节点移除,回收内存则需要使用destory,creator 使用destroy并不会立即在父节点中移除该节点,会延后执行。 官方文档地址 模拟器 Android APP点击EditBox报错 Function: JSB_showInputBo

    2024年02月15日
    浏览(28)
  • Cocos Creator:AR 交互

    推荐:将 NSDT场景编辑器

    2024年02月09日
    浏览(54)
  • cocos creator 鼠标画笔|画线

    cocos creator 版本使用 至少适配版本2.3.2以上 案例: 简要思路:MOUSE_MOVE事件和Graphics组件实现 前端也可以通过canvas和mousemove事件实现,原理一致 具体步骤如下: 1.添加节点Node 2.在Node节点上绑定 组件Graphics 3.添加下方脚本drawcontroll.ts 4.注意Node节点的锚点和位置(如果不想要这个

    2024年02月11日
    浏览(28)
  • FariyGUI × Cocos Creator 入门

    程序员向的初探Cocos Creator结和FairyGUI的使用,会比较偏向FairyGUI一点,默认各位读者都熟练掌握Cocos Creator以及js/ts脚本编写。 初探门径,欢迎大佬指教,欢迎在评论区或私信与本人交流,谢谢! 都不需要科学上网,非常友好。 下载fgui:https://www.fairygui.com/ 下载Cocos Creator并安

    2024年02月22日
    浏览(29)
  • cocos creator 节点的镜像反转

    自己在做横版小游戏的时候,想左右运动时精灵图直接旋转,但是一直搞不懂那个旋转,后面才发现2d情况下,旋转时没有z轴,就只能是原地转圈上下颠倒,而想要镜像反转的话就需要开启3d模式了 如果是在编辑器上的话直接点击左上角最右边的3D按钮就行了 如果是想在代码

    2024年02月12日
    浏览(46)
  • cocos creator 学习第一篇

    unity 编程语言主要为c# 早期cocos2d 等用c++ 或者lua cocos creator 编程语言主要为js 所以cocos 适合h5 小游戏,而且跨平台性更好,unity性能可能更好 cocos creator简介 cocos2d-python cocos 1.x 2d cocos 2.x 也是2d 为了不影响2d版本,单独出了3d版本,只有一个版本 cocos 3.x 在cocos 3d基础上 又将2d加

    2024年02月04日
    浏览(29)
  • 【100个Cocos实例】实现和平精英中3D模型渲染到2D界面的模型展示效果

    3D模型渲染到2D界面的模型展示效果 在 游戏开发 中常常需要在 UI界面 上 显示 一个 3D模型 ,例如 时装界面 里 人物换装 展示、 Boss挑战界面 里 选择Boss 展示等等。 本文将介绍一下在 Cocos 游戏开发中实现 和平精英 中 3D模型渲染到2D界面 的模型展示效果。 本文源工程在文末

    2024年02月05日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包