当前位置:文档之家› 3D编程基础知识(opengl)

3D编程基础知识(opengl)

3D编程基础知识(opengl)
3D编程基础知识(opengl)

3D编程基础知识(OpenGL)

一、前言

科学计算可视化、计算机动画、虚拟现实是计算机图形学领域内三大活跃的发展方向,它们的技术核心都是三维真实感图形。而OpenGL就是这三维真实感图形的构造之一。

二、概述

1、Direct3D & OpenGL

Direct3D是Microsoft的DirectX其中的一个COM组件,目前最新版本是Direct9.0c;OpenGL最初由SGI开发,目前由OpenGL体系结构审核委员会(ARB)所维护。OpenGL ARB 是个行业协会,负责OpenGL以及相关技术的发展和演变。OpenGL ARB由下面这些计算机图形行业的领先企业所组成:3Dlabs、Apple、ATI、Dell、IBM、Intel、NVIDIA、SGI和Sun Microsystems。最新的规范是2.0。有两套实现,一套是SGI的OpenGL实现,一套是Microsoft 的OpenGL实现。目前Microsoft的OpenGL只支持1.1规范。

Direct3D:1、适合做游戏开发。DirectX是非常成熟的游戏开发的组件,辅助的功能库、数学库都很强大和成熟,如D3DX.lib中包含的大量辅助函数,而OpenGL没有这些相关的东西,它只专注于3d的渲染,辅助的东西不得不由第三方提供,或者自己开发...而且DirectX更新比较快。2、Direct3D是面向对象的COM实现。OpenGL只是一套面向结构的图形API。3、OpenGL不支持一些低端显卡。

OpenGL:1、跨平台性。可应用在Windows、OS/2、Unix、Max等系统上。2、在光源和纹理的处理上性能比较优秀。

2、OpenGL的发展

OpenGL(Open Graphics Library),开放图形程序接口。

1、1992年7月,SGI公司发布OpenGL1.0。

2、1995年,SGI发布OpenGL1.1 。

3、2001年8月,ARB发布OpenGL1.3规范。

4、2003年7月,ARB公布OpenGL1.5规范。

5、2004年8月,ARB发布OpenGL2.0规范。

3、OpenGL的工作结构

Application

OpenGL Command

OpenGL DLL

Server DLL

Win32 DDI

Video Driver

OpenGL DLL:opengl32.dll,glu.dll

Server DLL:Winsrv.dll

Win32 DDI:Win32设备驱动接口

三、OpenGL基本功能

(1) 建模功能(点、线、复杂曲线、曲面)

(2) 变换功能(模型变换:平移、旋转、缩放等;投影变换:透视投影、正射投影)

(3) 颜色模式(RGBA颜色模式、索引颜色模式)

(4) 光照材质(光照模型:辐射光、环境光、漫反射光、镜面光。材质:光的反射率)

(5) 图像处理(图象显示、增加)

(6) 纹理映射(包含颜色、alpha值、亮度等数据的矩形数据)

(7) 动画制作(双缓存动画:后台缓存计算场景、生成动画,前台缓存显示后台缓存已画好的画面)

(8) 交互技术(选择、拾取、反馈三种机制)

四、OpenGL的组成

1、(1)OpenGL核心函数(115个函数,函数名前缀为gl)opengl32.dll

(2)OpenGL实用库函数(43个函数,函数名前缀为glu) glu.dll

(3)OpenGL辅助库函数(31个函数,函数名前缀为aux)glaux.dll

(4)Windows专用函数

(5)Win32 API函数

(6)OpenGL状态变量

2、学习界面库:Glut32.dll

五、OpenGL变换

1、三维图形的输出过程

计算机屏幕上只能表现二维图象,在三维图形到二维平面之间,需要什么样的变换,才能真实反映

世界。我们用照相机来模拟这一个过程。首先,在相机的前面是真实的三维世界,而在相机的取景器上出现的是二维平面。

投影变换---使用变焦镜头,可以在不改变相机与被摄物体之间的空间距离的情况下,改变被摄物体在取景器中投影的大小。

模型变换---改变被摄物体在取景器中的位置。

视点变换---人通过改变相机的方向和位置,可以改变出现在取景器中的景物;改变相机与被摄物体之间的空间距离,使被摄物体在取景器中的大小变化。

视口变换---冲洗相片底片时,还可以调整成像的位置,仅仅使照片中的影像的一部分显现出来。

2、坐标系和坐标变换

三维世界使用世界坐标系,屏幕使用屏幕坐标系。

几何变换矩阵

投影变换矩阵

视图处理矩阵

视口处理矩阵

3、投影变换

(1)平行投影

Void glOrtho(Left, Right, Bottom, Top, Near, Far);

(2)透视投影

Void glFrustum(Left, Right, Bottom, Top, Near, Far);

4、模型变换

(1)平移

//将原点向Z负方向移动4.5,所有的Z坐标被加了4.5

glMatrixMode(GL_MODELVIEW);

glLoadIdentity();

glTranslatef(0.0f,0.0f, -4.5f);

// 绘制图形;

glFinish();

(2)旋转

glRotatef(60.0f,0.0f, 1.0f,0.0f);

(3)缩放

glScalef(1.5f,1.0f,1.0f)

5、视口变换

glViewPoint(x, y, width, height)

六、绘制图形

1、绘制

(1)、画点

glBegin( GL_POINTS);

glVertex2f( 0.0f, 0.0f);

glEnd();

glFinish();

(2)、画线

glBegin( GL_LINES);

glVertex2f( 0.5f, 0.0f);

glVertex2f( -0.5f, 0.0f);

glEnd();

glFinish();

2、消隐:清除一个物体被其他物体挡住的部分的操作称做消隐。

3、显示列表

显示列表由一组预先定义并储存起来可以在以后执行的OpenGL函数组成。

3.1 为什么要有显示列表

提高应用程序的运行性能。

3.2 如何使用显示列表

glNewList(1, GL_COMPILE)

glBegin();

glEnd();

glEndList();

glCallList(1);

七、真实感世界生成

1、光源材质

光从物体表面反射形成反射光;光穿透物体,形成透射光;光被物体吸收,转换称为物体的内能。OPENGL的光照模型分为4个独立组成部分:辐射光、环境光、漫反射光、镜面反射光。材质是物体对光的反射率。

示例代码:

GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 1.0};

GLfloat light_postion[] = {1.0, 1.0, 1.0, 1.0};

glMaterialfv( GL_FRONT, GL_SPECULAR, mat_specular);

glLightfv( GL_LIGHT0, GL_POSITION, light_postion);

glEnable(GL_LIGHT0);

2、纹理映射

纹理是包含颜色、alpha值、亮度等数据的矩形数据。将纹理数据贴在多边形上,多边型在变换时,仍保证纹理的图案与多边形保持一致性。例如:采用透视投影观察墙面的时候,远端的砖会变小,而近处的砖会变大。

glTextImage2D(GL_TEXTURE_2D, level, components, width, height, border, format, type, pixels);

十、OpenGL动画

应用程序绘制动画时,可以先将图象绘制到后台缓冲区中,绘制结束后可以通过交换缓冲区,将后台缓冲区已经绘制好的图象直接送到前台缓冲区中,由系统显示功能完成屏幕的显示,此时应用程序已经开始在后台缓冲区中绘制下一幅图象了。

auxSwapBuffers();

SU导入3D的流程

Sketchup建模及导入3D的方法及选项设置 用su建模,一是推敲方案,二是在方案推敲完成导入3D后进入后期的渲染,出效果图。 SU建模注意:为了加快建模速度必须设定自己的一套快捷键,在建模的过程中必须每个体量编辑组件,以便以后的修改。为了能导入3D中进行渲染,Sketchup的模型必须面是统一 的,系统默认白色的是正面,蓝色的是反面,就必须把正面朝外反面朝里,要不然在3d里面反面是显示不出来。 第一,第二就是Sketchup 一定是专业版,只有它才能导出3ds格式和dwg格式。 第二,在Sketchup中把材质都赋好,记得一点是不要用Sketchup默认的材质,要新建材质赋你有的jpg格式贴图,这样在3d里面才能继续调整贴图,Sketchup默认的贴 图在3d里可是不认。 第三,就是导出了,在Sketchup里面:文件,导出,3d模型,第一个下拉菜单选所有图层,然后中间的全部都不要选择,最后一个把单位改成毫米就可以了。第一个不动直接确定,第二个点否,现在导进来了,打灯光,打摄像机,调Vary选项。 第四,在Sketchup中赋好的材质,先把模型选中然后在编辑菜单中选Poly Select (可编辑网格选择),下面有几个选项选倒数第二个Polygon,然后在Select By Material ID里面输入相应的材质ID,被选中的材质就会变成红色,这样就可以进行材质的调 整了。 第五,SU导出3DS格式说明:1、Sin gel Object勾选此选项时,整个场景将合并成一个物体被输出,在SketchUP中建立的群组和组件将不能被单独进行操作,在场景中线面数很大的情况 下有可能不能完成输出;(这视情况而定) 2、Objects By Geometry 此选项将以群组和组件为单位输出物体,SketchUP 最表面一层的群组和组件被保留为单独的物体,可以在max中进行单独灵活的各种 编辑,推荐使用。缺点是每一个群组和组件都会输出一个自身的多重子材质 3、Output Texture Maps 如果不勾选,输出材质中将不包含贴图信息;贴图 文件路径需要在max里添加,建议将所有贴图复制到max模型文件所在工作目录, 这样就不会出现找不到贴图的错误信息 4、Output 2-Sides 输出双面:一般情况下不需要,会额外增加模型量;但是 在SketchUP建模阶段必须保证面法线正反的正确性,否则反面在max里无法显示, 产生丢面现象。Materiar和Geometry分别以材质和物体产生双面。 5、Output Standalong Edges 输出边线,对于max 不必要。 6、Use “Color By Layer ” Mater用I层的颜色作为材质输出,是以层颜色进行管 理的材质,需要在建模起始阶段就规划好的材质管理方式,物体(或面)将以所在的层的颜色为自身的材质。因为SketchUP里组件和层是参插的,在组件具有复合 材质时好像不易管理。 7、Gen erate Cameras 产生相机,基本上每一个页面会产生一个相机,这个不用勾 选。

三维模型导入ADAMS的实用方法

三维模型导入ADAMS仿真的实用方法摘要:此文内容主要来源于 宋博士的博客(https://www.doczj.com/doc/9f18976701.html,/doctorsongshaoyun)。 本文所提供的方法是现有ADAMS书籍上未曾提供的内容,是解决大家建模感觉繁琐的非常实用的方法。 下面谈谈我的一些经验:尽管ADAMS软件中提供了几何建模的工具,但相比现在成熟的三维专业设计CAD软件而言其功能非常薄弱。ADAMS/View提供的建模工具功能非常的原始,即使对于简单的几何模型,用户想直接在ADAMS/View中建立也需要非常熟练地掌握移动和旋转工作栅格才能实现,而对于复杂的机械装配模型,ADAMS/View基本无能为力,因此目前通常的做法是先用成熟三维设计软件(如CATIA,UG,Pro/E,Solidwork等)精确建立机械系统实体零件模型和虚拟装配模型,之后通过数据交换的方式(我一般使用parasolid格式)将模型导入到ADAMS软件中,根据实际情况抽象出相应的运动副添加适当的约束、驱动和负载等(此处在正确位置建立合适的Maker点很关键,对于不规则实体有时软件自动建立的cm点并非在仿真需要的地方,运动副位置设置错了容易导致仿真失败)建立起机械系统的虚拟样机,来模拟实际工况和真实运动情况。此外机械系统方面的仿真建议大家使用Adams/Machinery这个插件,可以极大的提高仿真效率。 欢迎访问我的新浪博客(https://www.doczj.com/doc/9f18976701.html,/u/1774643737)。 基于SOLIDWORKS-ADAMS的机构动力学仿真对一个实际的机构做动力学仿真,是我们在机械设计实践中经常会遇到的的问题。一般我们会首先用某款三维软件(如SOLIDWORKS,SOLIDEDGE,PRO/E,UG,CATIA等)对所有零件进行建模,然后把零件组装成为装配体,接着把模型导入到机构动力学软件如ADAMS中进行动力学中仿真。 然而,从三维软件的装配模型导入到ADAMS中时,由于装配体中的零件很多,如果直接导入,会在ADAMS中出现许多零件,而其中许多零件之间并不存在相对运动,为了在ADAMS 中进行正确的仿真,就需要首先对没有相对运动的一系列零件之间建立固定副。对于简单的

DMAX模型导入到Unity3D的步骤

3DMAX模型导入到Unity3D的步骤 1、打开3DMAX,自定义-》单位设置,将系统单位和显示单位都设置为“厘米” 2、建立一个Polygon管状体,参数如下:内径20CM,外径30CM,高30CM 注:保证其坐标原点在0,0,0 3、选中模型右击鼠标转换为可编辑多边形。 多模型进行一些挤出操作。 4、开始导出模型。保持模型选中状态,点击左上角3DMAX图标菜单, 导出-》导出选定对象。导出格式为.FBX,名称必须为英文字母类, 跳出的选项框默认直接确定即可。 例如导出的名称为 5、接下来打开Unity3D,新建立一个项目。 因为是测试项目所以可不导入Unity提供的资源包 6、将之前在3DMAX里导出的模型复制到Unity项目所在文件夹中的Assets文件夹下。 Unity会自动刷新出资源并自动创建一个Materials材质文件夹。如下图示: 7、单击Tube资源,在旁边的Inspector视图中可以看到:Scale Factor的值 表示的比例

8、鼠标拖动Tube到场景中,保持选择状态,摁键盘“F”键,物体自动放大到场景最大 点。3DMAX模型导入到Unity3D的步骤完成。 9、在3DMAX里新建立一个圆柱,系统单位和显示单位仍为CM厘米,圆柱参数如下: 半径100cm,高100cm,模型中心在坐标原点,转换为可编辑多边形, 保存命名为。将复制到Unity项目的Assets文件夹下 10、拖动yuanzhu到主场景。接着在Unity里建立一个圆柱体 Unity里默认是直径1M,高1M的圆柱。我们之前在3DMAX里建立的圆柱半径100cm,导入到Unity后即直径是200cm了。 将Unity里建立的圆柱,Scale参数中的X和Z放大2倍,这个圆柱的半径才是100cm(直径200cm) 然后将从3DMAX里导入的圆柱与Unity里建立的圆柱比较:半径是一样大小的。 说明在3DMAX里建立对应到Unity的模型,系统单位和显示单位设置为“CM”最好。

prescan 3D模型导入步骤

3D模型导入 一.把3D导入PreScan中有步骤: 1.从sketchup软件中导出目标模型文件 1)打开sketchup,右击“文件”——“3D模型库” ——“获取模型”,然后再弹出的模型库页面中 搜索目标模型; 2)选择目标文件并点击下载(保存为.dae格式,只有这个文件prescan才能识别)。 2.把下载下来的目标模型文件添加到prescan用户元素 库中 1)右击prescan上的“Tools”——“User Library Elments Wizard”; 2)弹出的菜单最上面是选择存放路径,下面的选项按钮点击“classic ULE”,然后点击“Add folder” 并对新生成的文件命名; 3)点击新生成的文件来激活对话框右边的“New Element”按钮并点击; 4)在弹出的对话框的第一页给文件命名以及选择元素类型并点击“next”; 5)在弹出的对话框的第二页给添加的心元素命名以及必要的描述并点击“next”; 6)在弹出的对话框的第三页选择第一步骤下载下

来的目标模型文件并点击“next”; 7)第四页是对目标模型进行尺寸设置,一般从sketchup中下载文件都已设置好,可以直接点 击“next”; 8)下面只要顺着点击“next”即可,最后点击“User Library Elments Wizard”对话框上的“refersh and close”就能在prescan的UL Elements中直接拖 拉该模型放置场景中。 注意:1)在3D模型库中下载的文件需有 textures.txt文件,不然导入的在3D viewer中看 到的模型将是一片漆黑。

Quest3D模型的导入教程

一、前期准备工作(本教程以3DSMax为建模工具作为使用参考) 1.使用3DSMax创作一个最简单的茶壶模式: 2.在File(文件)菜单栏中选择运行Export(输出)命令,然后在Select File to Export(选择输出文件)对话框中选择Quest3D公司自己开发支持的X文件格式,选定后点击"完成"按钮: 3.在"场景统计和文件选项"对话框中选择并完成相应的设置: 4.Quest3D公司为3DSMax开发的X文件输出插件会自动将模型保存为X文件,本实例中将文件名设置保存为teaport.X.

二、在Quest3D中导入模型: 1.双击快捷图标运行Quest3D程序,在File(文件)菜单栏中选择运行Import导入命令: 2.在Select File to Import(选择输入文件)对话框中选择teaport.x文件: 3.Quest3D在点击导入文件对话框中的"打开"按钮后会弹出X Object Importer Options(X对象导入选项)对话框,进行相应的载入类型和选项设置.完成设置后点击"OK"确认按钮:

4、在Load Channel Group(载入通道组合)警告提示框,用以确定文件名和文件类型,: 5、当Channel通道窗口中出现DX8 3D Object相应的模型结构关系图后,就完成了模型的导入任务: 三、在动画窗口正常显示3D模型 出现问题:当我们完成第二步骤的工作以后,却发现在动画窗口中看不到相应的模型,这就意味着在Run预览运行效果和打包输出后一无所见! 这可是一个及其严重的问题哟,怎么办呢,解决方法如下: 1.在template模板窗口中,拖动Quick Start中的ObjectInspectiong的链接到Channel通道窗口:

提取3D游戏模型的方法

提取3D游戏模型的方法 网络游戏工具【GameAssassin】是一个针对网络游戏和3D游戏的辅助工具,具有设置3D游戏的线框显示模式,截获3D游戏的模型贴图数据等功能,针对于网络游戏,此软件能够接获游戏所发出并且接受的网络消息,并且能够向服务器直接发送外部的自定义数据。 如果想截游戏模型,首先要到GA的官方下载相关软件和插件。 只需下载GA和导入MAX用的插件就可以。 首先是激活功能,这是必须做的一步,然后尽先一下简单的设置(如图) 再将游戏在任务栏上的完整名称输入到“自定义截取”中。然后在进入游戏。 切记是先运行GA再运行游戏,如果无法确认游戏的名称 可以在运行GA之前先运行游戏,记住游戏在任务栏上的名称 如果名称太长,显示不完整,可以查看任务管理器,确认后退出游戏。 在顺利进入游戏以后,我们会在屏幕的左上角看到“GA”两个彩色字母,这就说明在本游戏中GA运行成功,如果没有显示,就说明没有成功,就无法进行截取(如果不显示的话,就试着Alt+Tab切到GA主截面,选中游戏名称,点击“截取”,如果还不显示,可能就是操作步骤出现了错误)。如果没什么问题,就按下热键Alt+F7截取模型。 【建议在模型比较少的界面下截取,例如选人截面】

按下热键后,我们切到GA的主目录观察文件夹“魔兽世界”中是否已经生成OBJ模型文件,如果什么都没有,就再切回来,再按两遍热键。如果还没有OBJ文件,或是出现“非法操作”的话,那么退出GA,从新截取游戏。

如果没问题了,那么我们就进入模型观察器3D View中,将主人公的模型碎片从新组合,选择你认为是主人公身体一部分的模型,将其添加到组合物体中去。(如果在选取模型碎片文件时提示模型打开失败的话,那么建议你换个显卡。) 拼合好模型后,如果没问题的话,就将组合好的模型保存为列表文件

SU 导入3D的流程PDF.pdf

书山有路 Sketchup建模及导入3D的方法及选项设置 用su 建模,一是推敲方案,二是在方案推敲完成导入3D后进入后期的渲染,出效果图。SU建模注意:为了加快建模速度必须设定自己的一套快捷键,在建模的过程中必须每个体量编辑组件,以便以后的修改。为了能导入3D中进行渲染,Sketchup的模型必须面是统一的,系统默认白色的是正面,蓝色的是反面,就必须把正面朝外反面朝里,要不然在3d里面反面是显示不出来。 第一,第二就是Sketchup一定是专业版,只有它才能导出3ds格式和dwg格式。 第二,在Sketchup中把材质都赋好,记得一点是不要用Sketchup默认的材质,要新建材质赋你有的jpg格式贴图,这样在3d里面才能继续调整贴图,Sketchup默认的贴 图在3d里可是不认。 第三,就是导出了,在Sketchup里面:文件,导出,3d模型,第一个下拉菜单选所有图层,然后中间的全部都不要选择,最后一个把单位改成毫米就可以了。第一个不动 直接确定,第二个点否,现在导进来了,打灯光,打摄像机,调Vary选项。 第四,在Sketchup中赋好的材质,先把模型选中然后在编辑菜单中选Poly Select(可编辑网格选择),下面有几个选项选倒数第二个Polygon,然后在Select By Material ID里面输入相应的材质ID,被选中的材质就会变成红色,这样就可以进行材质的调整了。 第五,SU导出3DS格式说明:1、Singel Object 勾选此选项时,整个场景将合并成一个物体被输出,在SketchUP中建立的群组和组件将不能被单独进行操作,在场景 中线面数很大的情况下有可能不能完成输出;(这视情况而定) 2、Objects By Geometry 此选项将以群组和组件为单位输出物体,SketchUP 最表面一层的群组和组件被保留为单独的物体,可以在max中进行单独灵活的各种编辑,推荐使用。缺点是每一个群组和组件都会输出一个自身的多重子材质. 3、Output Texture Maps 如果不勾选,输出材质中将不包含贴图信息;贴图 文件路径需要在max里添加,建议将所有贴图复制到max模型文件所在工作目录,这样就不会出现找不到贴图的错误信息 4、Output 2-Sides 输出双面:一般情况下不需要,会额外增加模型量;但是 在SketchUP建模阶段必须保证面法线正反的正确性,否则反面在max里无法显示,产生丢面现象。Materiar和Geometry分别以材质和物体产生双面。 5、Output Standalong Edges 输出边线,对于max不必要。 6、Use “Color By Layer”Material 用层的颜色作为材质输出,是以层颜色进行管 理的材质,需要在建模起始阶段就规划好的材质管理方式,物体(或面)将以所在 的层的颜色为自身的材质。因为SketchUP里组件和层是参插的,在组件具有复合 材质时好像不易管理。 7、Generate Cameras 产生相机,基本上每一个页面会产生一个相机,这个不 用勾选。 1

2020年整理SU 导入3D的流程.doc

学海无涯 Sketchup建模及导入3D的方法及选项设置 用su 建模,一是推敲方案,二是在方案推敲完成导入3D后进入后期的渲染,出效果图。SU建模注意:为了加快建模速度必须设定自己的一套快捷键,在建模的过程中必须每个体量编辑组件,以便以后的修改。为了能导入3D中进行渲染,Sketchup的模型必须面是统一的,系统默认白色的是正面,蓝色的是反面,就必须把正面朝外反面朝里,要不然在3d里面反面是显示不出来。 第一,第二就是Sketchup一定是专业版,只有它才能导出3ds格式和dwg格式。 第二,在Sketchup中把材质都赋好,记得一点是不要用Sketchup默认的材质,要新建材质赋你有的jpg格式贴图,这样在3d里面才能继续调整贴图,Sketchup默认的贴 图在3d里可是不认。 第三,就是导出了,在Sketchup里面:文件,导出,3d模型,第一个下拉菜单选所有图层,然后中间的全部都不要选择,最后一个把单位改成毫米就可以了。第一个不动 直接确定,第二个点否,现在导进来了,打灯光,打摄像机,调Vary选项。 第四,在Sketchup中赋好的材质,先把模型选中然后在编辑菜单中选Poly Select(可编辑网格选择),下面有几个选项选倒数第二个Polygon,然后在Select By Material ID里面输入相应的材质ID,被选中的材质就会变成红色,这样就可以进行材质的调整了。 第五,SU导出3DS格式说明:1、Singel Object 勾选此选项时,整个场景将合并成一个物体被输出,在SketchUP中建立的群组和组件将不能被单独进行操作,在场景 中线面数很大的情况下有可能不能完成输出;(这视情况而定) 2、Objects By Geometry 此选项将以群组和组件为单位输出物体,SketchUP 最表面一层的群组和组件被保留为单独的物体,可以在max中进行单独灵活的各种编辑,推荐使用。缺点是每一个群组和组件都会输出一个自身的多重子材质. 3、Output Texture Maps 如果不勾选,输出材质中将不包含贴图信息;贴图 文件路径需要在max里添加,建议将所有贴图复制到max模型文件所在工作目录,这样就不会出现找不到贴图的错误信息 4、Output 2-Sides 输出双面:一般情况下不需要,会额外增加模型量;但是 在SketchUP建模阶段必须保证面法线正反的正确性,否则反面在max里无法显示,产生丢面现象。Materiar和Geometry分别以材质和物体产生双面。 5、Output Standalong Edges 输出边线,对于max不必要。 6、Use “Color By Layer”Material 用层的颜色作为材质输出,是以层颜色进行管 理的材质,需要在建模起始阶段就规划好的材质管理方式,物体(或面)将以所在 的层的颜色为自身的材质。因为SketchUP里组件和层是参插的,在组件具有复合 材质时好像不易管理。 7、Generate Cameras 产生相机,基本上每一个页面会产生一个相机,这个不 用勾选。

Unity3d模型导入技巧

Unity3d模型导入技巧 Unity3d导入3dMax模型会产生若干问题,按照官方的说明,将max模型导成fbx文件导入untiy似乎也不能解决 1、x轴向偏转 3dmax模型导入后自动有一个x轴270度的偏转,巧合的是,在unity中旋转模型的时候,你会发现y轴参照方向永远朝上,而x和z轴则以模型本身的局部坐标为准,这样当模型沿x轴旋转270度之后,z轴正好与y轴重合,这样你试图用程序控制方向的时候就会发现旋转y和旋转z效果相同,这显然不是你期望的结果。解决这个问题的方法是,将.max文件导出为.3ds文件再导入untiy,而不是官方说的导成.fbx 2、材质问题 模型在3dmax里赋予材质之后,不管通过何种方式导入到unity中,都是没有材质的,好在untiy自动生成了这些材质的材质球,我们需要做的是将贴图再重新设置一遍,如果你的材质还有其他效果,比如lightmap,则需要选择正确的shader之后再设置贴图。 另外一个是多重材质,多重材质暂时还不知道如何在unity中显示,所以在制作模型的之后,应该先确定哪些部件应该合在一起,而哪些需要独立,比如,对于一架直升飞机来说,身体和螺旋桨就可以分为两个部件,而不应该把螺旋桨与发动机合并成一个部件,这样程序就无法旋转螺旋桨了。 3、缩放因子问题 模型导入到untiy中,如果你之前在3dmax中没有关心过“单位”问题,则它在场景里的大小一定会出呼你的意料。 unity中的1单位是fbx文件中的1单位的100倍 所以,如果我们想unity中使用1单位=1米的话,那在max和maya中制作的时候,单位就设置成1厘米 如果我们想unity中1单位=100M,那单位就设置为1M 如果我们想unity中1单位=1厘米的话,那单位就设置为0.1毫米,或者在单位为1厘米的情况下把比例因子改为1 在max中,单设置应该像这样 1Unit = 1厘米,这样在unity中1格就等3dmax中的1M了 针对经常出现的问题,将需要注意的点罗列如下: 1、物体的头要朝下

3D模型嵌入PDF基本教程

3D PDF基本教程 基本说明: 1、如果需要转换DWG图纸,机器上需要安装AUTOCAD软件。 2、可以不用安装三维软件。 2、机器上需要安装ACROBAT 3D软件。建议ACROBAT 3D在AUTOCAD之后安装。安装完ACROBAT 3D以后会在系统中创建一个PDF打印机。如果系统中安装有AUTOCAD 及OFFICE等的话,会在这些程序你增加菜单和按钮。 第一部分:二维PDF图纸生成。 二维PDF图纸生成有两种方法,下面先介绍通用方法。 一、通用二维PDF图纸生成方法,可用于非AUTOCAD图纸,如三维软件的工程图等。 1、用相应软件打开二维工程图。 2、使用程序的打印功能,但打印机请选择PDF打印机。 3、打印即可以生产二维PDF图纸。 二、从AUTOCAD中生成,可生成带图层信息的PDF 1、用AUTOCAD打开DWG。 2、用AUTOCAD工具栏上面的ACROBAT工具栏中的“生成PDF”按钮(第一个按钮),然后安装对话框中的提示一步步做就好了。 第二部分:在二维PDF中插入三维模型 1、用ACROBAT 3D打开生成好了的二维PDF图纸。

2、点击菜单项“Tools”->“Advanced Edigting”->“3D Tool”。 3、在图纸的空白区域拖一个方框。然后会出现一个对话框。

4、点第一个“Browse”按钮,选择一个part文件。注意,如果后缀是数字的,可以把数字 那一截去掉。例如“part1.prt.4”可以改为“part1.prt”。 5、如果觉得必要的话,可以按“Default Background Color”后面的按钮,把三维的背景色 调成白色。 6、再按“OK”按钮,保存,就完成了。 有什么问题可以MSN交流:jhq3000@https://www.doczj.com/doc/9f18976701.html,,QQ的没有,:)

PCB元件库3D模型的导入说明

PCB元件库3D模型的导入 一、目的 通过新软件Altium designer 6(AD6)的3D 功能能够快速提前的为机构部门提供结构设计上的参考,提高合作的效率与准确性。 二、电子与机构需协作流程为: 2.1电子部门建立好项目需要的原理图库、PCB库; 2.2机构部门使用结构软件建立关键器件的3D模型,另存为Step或IGS文件转交给电子 部门,电子部门再把文件导入到建立的PCB 3D库(*. PCB3DLib)中; 2.3电子部门绘制好原理图,并在原理图库或原理图中,正确添加器件属性里的PCB模型 名称和3D模型名称; 2.4绘制好最终的PCB图后,查看PCB的3D效果(View \ Legacy 3D View); 2.5导出整板PCB的3D图为Step或IGES文件转交给机构部门; 2.6机构部门把整板PCB的3D图导入到结构设计软件中,作为结构设计的参考数据。 三、电子提供资料: 3.1 PCB元件库清单 四、机构注意事项: 在结构软件中建立器件3D模型时,要事先定义好器件的原点和3D坐标,3D模型的原点要和PCB封装库的原点保持一致,3D中的XY坐标则要和PCB封装库中的XY 方向保持一致然后导出为Step格式,软后导入到自建的3D库中。这样在3D状态下才能看到元件准确的定位在PCB立体视图中,否则3D元件会偏离PCB 3D中的丝网位置。 如果角度不对也会出现错位,甚至部分在PCB上面,部分在PCB下面。(在结构软件中,当元件为单个实体时,原点即为实际定义原点,当元件为装配实体时,先定义好总的参考原点,再装配好各部件,最后另存为Step或IGS文件转交给电路部门,电路部门再把文件导入到自己建立的PCB 3D库(*. PCB3DLib)

3dmax怎么导入模型

3dmax怎么导入模型 1、x轴向偏转 3dmax模型导入后自动有一个x轴270度的偏转,巧合的是,在unity中旋转模型的时候,你会发现y轴参照方向永远朝上,而x和z轴则以模型本身的局部坐标为准,这样当模型沿x轴旋转270度之后,z轴正好与y轴重合,这样你试图用程序控制方向的时候就会发现旋转y和旋转z效果相同,这显然不是你期望的结果。解决这个问题的方法是,将.max文件导出为.3ds文件再导入untiy,而不是官方说的导成.fbx 2、材质问题 模型在3dmax里赋予材质之后,不管通过何种方式导入到unity中,都是没有材质的,好在untiy自动生成了这些材质的材质球,我们需要做的是将贴图再重新设置一遍,如果你的材质还有其他效果,比如lightmap,则需要选择正确的shader之后再设置贴图。 3、缩放因子问题 模型导入到untiy中,如果你之前在3dmax中没有关心过“单位”问题,则它在场景里的大小一定会出呼你的意料。 unity中的1单位是fbx文件中的1单位的100倍 所以,如果我们想unity中使用1单位=1米的话,那在max和maya 中制作的时候,单位就设置成1厘米

如果我们想unity中1单位=100M,那单位就设置为1M 如果我们想unity中1单位=1厘米的话,那单位就设置为0.1毫米,或者在单位为1厘米的情况下把比例因子改为1 在max中,单设置应该像这样 1Unit = 1厘米,这样在unity中1格就等3dmax中的1M了(1.)利用Reset Xform重新定義Transform資料<這個方式作遊戲是一定要用到的> (2.)在FBX導出時可以設置軸向以Z up或是Y up 2貼圖放置再同一個資料夾,就會自動導入了 3.比例其實也不用設置,你可以試試在max作一個長、寬、高都是1,1,1,進去就會剛好

相关主题
文本预览
相关文档 最新文档