CSS3系列之3D制作热衷理财的技术渣渣

如果要说是3D的基础概念,那么有一些属性的理解是一定绕不过去的,首先我们就来谈一谈rotateX()、rotateY()、rotateZ()这几个属性

rotateX()、rotateY()、rotateZ()

rotateX():对应的是3D模型中的X轴上的旋转,传入的参数如:rotateX(45deg)表示的是页面绕X轴顺时针旋转45度

rotateX():对应的是3D模型中的Y轴上的旋转,传入的参数如:rotateY(45deg)表示的是页面绕Y轴顺时针旋转45度

rotateX():对应的是3D模型中的Z轴上的旋转,传入的参数如:rotateZ(45deg)表示的是页面绕Z轴顺时针旋转45度

对应的模型如下:

注:以上模型图的视角是+Z轴指向读者的方向

说到这里还需要注意这几个问题,就是页面(图中的菱形表示的就是页面)与坐标轴的位置是相对位置,不是绝对位置,也就是说页面位置一改变,坐标轴的位置也随着页面一起改变,这个你现在可能还不是很理解这个说法的作用,但是不用着急,如果弄个例子的话,例子会涉及到另外的一个属性的使用,所以先在这里买一个关子。二、旋转到与视线对其的方向的时候会出现消失的现象

HTML代码

Demo1#test{height:200px;width:200px;position:absolute;margin-top:100px;margin-left:100px;}#testdiv{height:200px;width:200px;background:lightblue;-webkit-transition:all.6s;}#testdiv:hover{-webkit-transform:rotateX(90deg);}

效果展示:

看到了没有,这个出现空白是因为,当与你的视线是平行的时候,因为平面是没有厚度的所以你看到的就是空白

旋转方面的属性我们已经讲解了,接下来我们就来讲解一下,3D平移的属性,3D的平移属性分别有:translateX()、tanslateY()、tanslateZ()这三个方法

分别就是对应的是X、Y、Z轴方向上面的平移,这个具体参照上面的坐标图,很容易理解的,这个就不必在此多此一举了,以translateX()为例来讲解一下使用方法,如果是要使平面在X轴正方向上面移动45像素,这个时候可以这样写translateX(45px),其他的使用方法一样,接下来就结合一下上面所提到的一个坐标轴的相对位置问题来接一个例子,也作为translate这一系列属性的一个DEMO

Demo1#test{height:200px;width:200px;position:absolute;margin-top:100px;margin-left:100px;}#test#div2{height:200px;width:200px;background:lightcoral;-webkit-transition:all.6s;position:relative;-webkit-transform:rotateX(-80deg)translateZ(200px);}#test:hover#div2{-webkit-transform:rotateX(80deg);}

由于id=test定义的是margin-left等于margin-top的,但是由于div2中进行了移动的操作,造成了初始化页面红色矩形的margin-top>margin-left,但是细心的你有没有发现,参照上图的3D坐标轴,要使平移的应该是设置rotateY()才对,怎样这里是用过设置rotateZ()来实现的,哈哈,想看结果的请看下面分析

其实我们可以这样分析:

图像中应用了rotateX(-90deg)——也就是说明了图像目前是与我们的视线是平行的,从3D图中我们可以看出,Z轴总是与页面的关系是垂直关系,所以这个时候的Z轴就变成了变换之前的Y轴,所以变换后我们直接操作Z轴就可以起到操作Y轴的作用

三、3D知识点进阶

看到这里我默认读者都已经理解了上面的基础知识点了,毕竟上面的知识点还算是比较好上手的,接下来就是3D属性中一些比较难以理解的属性的讲解,这里会使用通俗的说法来进行说明、阐述观点,如有错误,希望各位同行指出

1、perspective

这个属性具体要怎样描述请自行百度,但是根据我个人对这个属性的理解,这个属性的功能就有点像把平行光设置为聚焦光一样,具体请看下图的分析

注:图片比较难找,大家将就一下

从图中我们可以知道这个属性相当于将默认的平行光置换成焦点光,如果是像perspective:200px,这个我们可以认为是光源离物体的距离是200px,这个数值如果是越大的话,那么等一下的物体呈现就会越小,就如图中来讲,如果是设置为200px会比设置为300px所呈现的书本的大小会更大些,但是如果是物体的Z轴(假设这个时候的物体没有旋转过)的数值大于大于焦点的距离,打个比方就是假设perspective:200px.math_book{-webkit-transform:translateZ(300px)},这个时候就会出现math_book在光源的后面,也就是光源没有覆盖到的地方,这个时候你是在页面中什么效果都没有呈现的,

这个时候不知道各位看官们还能不能理解这段话的意思呢!不懂没有关系,下面通过一个示例来分析一下光源理论是怎样得出来的

HTML代码:

效果展示

注:图片有点大,但是也是没有办法的

这个案例中有几点在这里要说明,不知道大家知不知道为什么会出现旋转的好像要与屏幕相撞的原因?其实这个是博主故意这样做得,我在上面的例子中把光源的位置设置为200px但是我们从设置可以知道矩形的宽是400px,旋转的Y轴位置默认的是与Y轴平行,并且穿过中心点,所以我们也就知道了这个旋转半圆的半径是200px,所以这样就导致了光源点与矩形在矩形旋转到90度的时候相碰撞,所以这个时候,我们可以将光源点的位置设置的更远一些,比如说是500px或者是更大,但是这个时候我们应该要注意一点就是,如果设置过大的话,会导致图形在页面中的呈现变小了

对了,我还没有说明我的光源理论来的,不好意思,下面就来聊聊我自己的光源理论(理论是博主自己的心得来的,有错希望各位大神指出),上图

已知手电筒是发散的光源(即非平行光),如果这个时候有一个物体(图中对应的是BOOK)绕着Y轴在旋转,,那么我们假设在这本书的后面有一面墙,那么墙最后呈现的效果是出现了一个菱形,这个与我们看到的GIF图像在每帧位置上面相对应。实际上,上面的图像说到底也就是菱形的变换然后套接一个animate。如果是没有设置perspective属性,那么就会出现我说所的平行光的效果,平行光效果,请看下图

相信大家都看出来是什么效果吧,就是平行光效果就是说:如果是平行光照射到物体上面,即使物体绕着Y轴旋转,那么最后在页面上呈现的效果也是一个矩形边框的变

perspective属性就说到这里了,在上面的例子中我们还提到了另外的一个属性就是transform-style:preserve-3d;这个属性其实就相当于创建一个3D的空间

我们这里就来假设一下,假设perspective对应的是发散光源,transform-style对应的是一个舞台,如果舞台是一个2维的也就是像电视一样的,那么这样最后也产生不来一个3D的效果,但是如果舞台是一个3D,例如舞台是一个京剧舞台,那么这个3D的舞台投影上就可以看到3维的变化,所以我们急需要perspective属性来设置"光源"类型,也需要transform-style来设置一个投影的3D空间.

在使用perspective的时候我们需要注意的是如果把这个属性加在某些具体元素上面并且旋转的角度相同,那么这些元素所呈现的效果是相同的,这个正好可以用perspective类比为光源来解释,如果在每个对象上面加上个一个光源,那么投影就是一样的,但是如果是加在这些元素的父节点上面,那么元素所呈现的效果是不同的,这个的解释是我们把光源加在这些元素上面,那么我们可以把这些元素看成是一个这些元素都在一个平面上面,那么因为因为光源的位置是一定的,但是每个元素在平面上面的位置不一样,所以呈现的就是不同的效果(这个可能比较抽象难以理解,如果有疑问的话可以在后面留言)

perspective-orgin:这个属性相当于是设置坐标的原点,因为默认的原点是在图像的中心位置,但是有时候我们可能像旋转的中心的位置变换一下,这个时候,这个属性就可以满足我们的需求

backface-visibility:这个属性是用来设置3D的背景是不是透明的,选项有visible|hidden,默认的是hidden

四、案例练习

先来看一下效果:

看起来很炫是不是,这个其实的制作原理就是按照我在上面提到的这些属性去制作的,首先我们分析一下,在创建这个的时候,第一步我们要引入光源,然后是添加一个3D的舞台,接着是把带猴子的图片放在垃圾桶图片的下面并且边缘相接,最后在这些图片的父类定义一个动画,就是在鼠标悬停的时候出发的动作,这样这个就制作完成了,对了在这个例子中图片的尺寸最好要相同(里面这些图是博主在网上找的)

具体的HTML代码如下:

CSS3练习案例*{margin:0px;padding:0px;}.light{margin-top:200px;margin-left:200px;width:310px;height:100px;position:absolute;perspective:500px;}.light.stage{position:relative;width:310px;height:100px;transform-style:preserve-3d;-webkit-transition:all0.8s;}.light.stage.image1{width:310px;height:100px;position:absolute;-webkit-transform:translateZ(50px);-webkit-transition:all0.8s;}.light.stage.image2{width:310px;height:100px;position:absolute;-webkit-transition:all0.8s;-webkit-transform:rotateX(-90deg)translateZ(50px);}.light.stage:hover{-webkit-transform:rotateX(90deg);}

图片我就不提供了,请自行百度上找

五、总结

这节我们梳理了CSS3中3D效果制作的一些标签以及通过一个小小的案例来分析标签是怎样使用的,如果有那个地方是由说错的,希望各位不吝笔墨,告诉我一声,谢谢

THE END
1.AI制作模型:3D模型与模板一键生成教程在当今数字时代3D建模和设计已经成为创意产业中不可或缺的一环。传统的3D建模过程往往繁琐耗时需要专业的技术和大量的实践经验。随着人工智能技术的飞速发展制作模型成为了一种新兴趋势它可以大大简化建模流程增进工作效率。本文将为您详细介绍怎样利用技术一键生成3D模型与模板帮助您轻松掌握这一前沿技术。 http://www.slrbs.com/jrzg/aizhishi/389768.html
2.3DSMAX制作三维立体六边形蜂窝蜂巢结构不规则几何3D图形MAX模型专用模型 SU模型SU模型 产品|机械产品|机械 3d打印3d打印 家装|工装家装|工装 材质贴图 贴图贴图 VRayVRay HDRIHDRI PBRPBR 平面 素材 图标图标 元素元素 背景背景 PPTPPT 字体字体 动图动图 模板 在线设计在线设计 样机样机 海报海报 插画插画 UIUI https://www.aigei.com/item/3dsmax_zhi_zuo_117.html
3.CG微资讯嘲模型与贴图制作的革命,基于拍摄的3d扫描技术..不是照片。实际上这是我们游戏里的一个教堂的三维模型。在告诉你们是怎么做出这么照片级真实的素材之前(也许令人惊讶的是,我们为什么不在游戏中使用完全写实的模型),我们想想到底是什么让它看起来这么真实。 看看你周围 – 你看到任何无缝循环的贴图了吗? https://www.aboutcg.com/26020.html
4.模型上传——3D模型标准装修设计教程DIY装修在max和贴图都完备后,打包文件(文件格式为.rar或.zip),推荐使用max的archive工具或者resource collector(如下图)来归档文件。 有些特殊的路径会造成贴图丢失的情况,所以建议打包完再在max里用shift+t工具来检查一遍。 七、3D建模标准—特殊品类模型制作规范 ...https://www.shejijia.com/ketang/text-detail.html?p=6993
5.特别的留念!毕业生用时3个月拍摄5000张图片自学制作母校3D模型打开特别的留念!毕业生用时3个月拍摄5000张图片自学制作母校3D模型https://news.jstv.com/wap/video/20230525/1684983840976.shtml
1.制作3D模型的步骤与技巧制作一个精美的三维模型需要经过规划、基础几何体创建、细节建模、材质与纹理添加、灯光与渲染等多个步骤。同时也需要掌握各种工具和技巧,并不断优化和调整以达到最佳效果。 希望本文所介绍的制作3D模型的步骤与技巧能够对你有所帮助,并且激发你对于创造更加逼真和精彩三维世界的热情!https://www.coffee.cn/xican/post/423381.html
2.超详细3D建模制作流程!3D建模是一项充满创造力和技术性的艺术,它涉及了从虚拟概念到逼真模型的多个精细步骤。不论是在电影、游戏、工程设计,还是艺术创作领域,3D建模的制作流程都扮演着不可或缺的重要角色。在本文中,我们将深入探索3D建模制作流程,从初步构思到最终成品的制作过程。 https://www.hxsd.com/information/12346/
3.3Dmax扫描命令怎么使用?如何使用扫描命令制作模型图?3Dmax扫描命令怎么使用?如何使用扫描命令制作模型图? 2022-03-31 浏览量:263 提问者:觐 回答: 3Dmax扫描命令制作模型图步骤(学习更多没门路?这里推荐:3dmax2018全套超详细零基础教程 ~教你从零基础的界面操作到吊灯、楼梯、天花、家具等建模的实操,学会就能快速室内建模设计~):打开3Dmax,用样线绘制模型路径。右...https://www.yutu.cn/question/tiwen_162515.html
4.如何制作3D打印的镂空模型这样的模型既很美观,又很节省材料。现在阿巴赛就来教大家怎么由一个模型得到这种镂空的效果(如图2)。图2镂空效果展示需要的工具原料:MeshLab软件、ZBrush软件、Cura软件、测试模型Cat.obj。讲解之前我们先简单地介绍一下这次制作过程中使用到的几个软件。MeshLab(提取密码:nsnt)是个开源免费的3D网格处理软件,它主要...https://m.renrendoc.com/paper/202965341.html
5.超细节3D角色模型贴图制作教程zbrush,Mari,maya本文是由视觉艺术家Simon Gomez提供的一个贴图制作流程教程,包括使用了textureXYZ贴图库,结合了zbrush,Mari,maya,nuke和ACES的工作流程,也总总结一些技巧,对于想了解高质量贴图制作流程来说非常有帮助。 我热衷于创建逼真的纹理和材料,我将在我的个人项目“莉莉”(由Niyazi Selimoglu设计的漂亮模型)上向您展示我的工作...https://blog.csdn.net/weixin_48173457/article/details/108055399
6....直接打开三维图形(3DCAD图纸)51CTO博客三维轻量化浏览器SView,是一款高性能的3D可视化应用软件。SView可以直接读取主流三维CAD数据,突破CAD格式之间的技术鸿沟。SView提供三维模型的轻量化浏览、轻量化装配、虚拟漫游、协同会议、3D批注及注释、3D装配工艺仿真、CAVE(沉浸式仿真)、交互式电子技术手册制作(IETM)等功能。通过对CAD数模的轻量化处理,可完整保...https://blog.51cto.com/14941238/3402386
7....su模型下载,zhimowang提供3D模型库下载效果图制作贴图的...为室内设计师提供3D模型下载、3D模型库免费下载、效果图制作、贴图下载的设计交易服务平台。知末网是一家模型下载平台,由网站用户自行上传设计模型/贴图等作品,通过审核后,并官方审订修订价格后,挂在平台上售卖并赚取相应金额。用户可根据设计需求,支付金额,下载相应模型与贴图等资源。知末网-拥有近500万效果图作品,提供...https://biemoyu.com/sites/zhimowang.html
8.科技日报扬州大学学生制作《清明上河图》3D版实体模型1月7日,扬州大学建工学院的杨凌凡同学向记者展示了他和20多名团队队员历时半年才完成的北宋《清明上河图》3D复原实体模型。 “我们的建筑复原是先立结构,再附表皮,最后进行沙盘拼装,这样才能保证尺寸的准确性。”在谈及建筑设计的过程时,队员王曦告诉记者,复原设计一共花费了半年的时间,最困难的地方在于重新核定尺寸...http://www.yzu.edu.cn/info/1124/101891.htm
9.3D效果图的制作要求和注意问题3D效果图是建筑装饰设计方案的重要组成部分,明确3D效果图的制作要求,掌握科学的制作方法是十分必要的,下面是YJBYS小编为大家搜索整理了关于3D效果图的制作要求和注意问题,欢迎参考阅读,希望对大家有所帮助。想了解更多相关信息请持续关注我们应届毕业生培训网! 随着http://edu.yjbys.com/3D/43834.html
10.利用3DsMax2013锥化修改器制作石桌石凳3D模型建模这篇教程是向大家介绍利用利用3DsMax2013锥化修改器制作石桌石凳3D模型建模,制作出来的效果非常逼真,教程很实用,推荐过来与大家一起学习,希望对大家有一定的帮助! 我们先来看看最终效果图: 制作步骤: 1.单击“创建”-“几何体”-“扩展基本体”-“切角圆柱体”按钮,在3DsMax2013“顶”视图中创建一个切角圆柱体...https://m.jb51.net/3DMAX/181337.html
11.3D立体地形地貌沙盘模型制作来图定做效果逼真艺美图片北京泰金文化传播有限公司详细为您展示3D立体地形地貌 沙盘模型制作 来图定做 效果逼真 艺美图片,同时为您推荐本商铺同类3D立体地形地貌 沙盘模型制作 来图定做 效果逼真 艺美图片,同行业同类3D立体地形地貌 沙盘模型制作 来图定做 效果逼真 艺美图片大全。https://www.china.cn/pic/5222702202_0.html