- 用户指南
- Components
- 寻路
- 动画组件
- 资源组件
- 音频组件(AudioComponent)
- 音频侦听器(AudioListener)
- 音频源(AudioSource)
- 音频过滤器(AudioFilter)(仅限专业版)
- 混响区域(ReverbZone)
- 麦克风(Microphone)
- 物理组件(PhysicsComponent)
- 箱体碰撞体(BoxCollider)
- 胶囊碰撞体(CapsuleCollider)
- 角色控制器(CharacterController)
- 角色关节(CharacterJoint)
- 可配置关节(ConfigurableJoint)
- 恒定力(ConstantForce)
- 固定关节(FixedJoint)
- 铰链关节(HingeJoint)
- 网格碰撞体(MeshCollider)
- 物理材质(PhysicsMaterial)
- 刚体(Rigidbody)
- (SphereCollider)
- 弹簧关节(SpringJoint)
- 交互布(InteractiveCloth)
- 蒙皮布(SkinnedCloth)
- 车轮碰撞体(WheelCollider)
- 游戏对象(GameObject)
- 图像效果(ImageEffectScripts)
- 高光溢出和镜头光晕(BloomandLensFlare)
- 模糊(Blur)
- 相机运动模糊(MotionBlur)
- 颜色修正曲线(ColorCorrectionCurve)
- 颜色修正(ColorCorrection)
- 颜色修正查找纹理(ColorCorrectionLookupTexture)
- 对比度增强(ContrastEnhance)
- 对比度拉伸(ContrastStretch)
- 起皱(Crease)
- 视野深度(DepthofField)3.4
- 视野深度(DepthofField)
- 边缘检测(EdgeDetection)
- 鱼眼(Fisheye)
- 全局雾(GlobalFog)
- 发光(Glow)
- 灰度(Grayscale)
- 运动模糊(MotionBlur)
- 噪波和颗粒(NoiseAndGrain)
- 噪波(Noise)
- 屏幕叠加(ScreenOverlay)
- 棕褐色调(SepiaTone)
- 边缘检测效应
- 阳光照射(SunShaft)
- 屏幕空间环境光遮蔽(SSAO)(ScreenSpaceAmbientOcclusion(SSAO))
- 倾斜位移(TiltShift)
- 色调映射(Tonemapping)
- 旋转(Twirl)
- 渐晕(Vignetting)(和色差(ChromaticAberration))
- 状态同步详细信息
- 旋涡
- 设置管理器(SettingsManager)
- 网格组件(MeshComponents)
- 网络组
- 效果
- 渲染组件
- 变换组件(TransformComponent)
- UnityGUI组
- 向导
- 地形引擎指南(TerrainEngineGuide)
- 树木创建器指南
- 动画视图指南
- GUI脚本指南
- 网络参考指南
- 移动设备上的网络连接
- 高级网络概念
- Unity中的网络元素
- RPC详细信息
- NetworkLevelLoading
- 主服务器
- 最小化网络带宽
- 社交API
- 内置着色器指南
- Unity的后台渲染
- 着色器参考
- ShaderLab语法:Shader
- ShaderLab语法:Properties
- ShaderLab语法:子着色器(SubShader)
- ShaderLab语法:Pass
- ShaderLabsyntax:Color,Material,Lighting
- ShaderLab语法:剔除和深度测试(Culling&DepthTesting)
- ShaderLab语法:纹理组合器(TextureCombiners)
- ShaderLab语法:雾(Fog)
- ShaderLab语法:Alpha测试(Alphatesting)
- ShaderLab语法:混合(Blending)
- ShaderLab语法:通道标记(PassTags)
- ShaderLab语法:名称(Name)
- ShaderLab语法:绑定通道(BindChannels)
- ShaderLab语法:使用通道(UsePass)
- ShaderLab语法:GrabPass
- ShaderLab语法:子着色器标记(SubShaderTags)
- ShaderLab语法:回退(Fallback)
- ShaderLab语法:自定义编辑器(CustomEditor)
- ShaderLab语法:其他命令
- ShaderLab语法:Pass
- 高级ShaderLab主题
- ShaderLab内置值
- 其他
- 网络视图
- 导航网格 (Navmesh) 和寻路 (Pathfinding)(仅限专业版 (Pro))
- Mecanim 动画系统
- 动画状态机
- 混合树 (Blend Tree)
- 在 Mecanim 中使用动画曲线 (Animation Curves)(仅限专业版 (Pro))
- 循环动画片段
- Animation State Machine Preview (solo and mute)
- 动画参数
- 旧动画系统
- 使用类人动画
- 动画层
- 资源导入与创建
- 音轨模块
- 减少文件大小
- 光照贴图 UV
- 资源准备和导入
- 如何安装或升级标准资源 (Standard Assets)?
- FBX 导出指南
- 从 Maya 中导入对象
- 从 Cinema 4D 中导入对象
- 从 3D Studio Max 中导入对象
- 从 Cheetah3D 中导入对象
- 从 Modo 中导入对象
- 从 Lightwave 中导入对象
- 从 Blender 中导入对象
- 为优化性能建模角色
- 如何使用法线贴图 (NormalMaps)?
- 如何修正已导入模型的旋转?
- 程序材质
- 如何使用水?
- 分析器(仅限专业版)
- 绘制调用批处理
- 遮挡剔除(仅限专业版)
- Unity 中的高动态范围 (High Dynamic Range) 渲染
- 在 Unity 4 中使用 DirectX 11
- 文本场景文件格式(仅限专业版)
- 使用网络播放器模版
- 平台依赖编译
- 日志文件
- 首选项
- 粒子系统曲线编辑器
- 渐变编辑器
- 怎样制作网格粒子发射器?(旧粒子系统)
- 深入了解光照贴图
- 光照贴图快速入门
- 着色器
- 动画脚本(旧版)
- 自定义
- 布局模式
- 扩展编辑器
- 网络实例化
- 材质和着色器
- 如何使用细节纹理?
- 着色器:顶点和片段程序
- Unity 中的阴影
网格(Meshes)
您可使用两种主要的文件类型将网格导入至 Unity:
- 导出的三维文件格式,如.FBX 或 .OBJ
- 专有的三维应用文件,如 3D Studio Max 或 Blender 中的
.Max
和.Blend
文件格式。
这两种类型的文件可帮助您将网格导入至 Unity,但在选择文件类型时,您需要考虑使用哪种文件格式:
导出的三维文件
Unity 可读取.FBX, .dae (Collada)、.3DS、.dxf 和 .obj 文件,您可在此 找到 FBX 导出程序,也可查找可用于多种应用的 obj 或 Collada 导出程序
优势:
- 仅导出所需数据
- 使用可验证的数据(在 Unity 重新导入至三维资源包)
- 文件通常更小
- 鼓励使用模块化方法 - 例如,根据碰撞类型或交互性选择不同组件
- 支持其他三维包(我们不直接支持其专有格式的三维包)
劣势:
- 原型和迭代的管道运行速度更慢
- 更容易丢失源(工作文件)和游戏数据(如导出的 FBX)之间的版本信息记录
专有三维应用文件
Unity 也可通过转换导入专有三维应用程序文件: Max、Maya、Blender、Cinema4D、Modo、Lightwave 和 Cheetah3D 文件(如 .MAX、.MB、.MA 等)。 优势:
- 快速的迭代过程(节省源文件和 Unity 重新导入时间)
- 简化的初始阶段
劣势:
- 使用 Unity 工程的所有机器都必须安装有许可证的软件副本
- 无用数据会大大增加文件大小
- 文件太大会降低 Unity 更新速度
- 验证减少 � 故障排除难度增加
下面是一些针对直接支持的三维应用程序的指导,其他三维应用程序通常可以导出上面列出的文件类型。
纹理
Unity 会按照特定搜索计划,在导入时自动查找网格使用的纹理。首先,导入器会在网格所在的相同文件夹中或任何父文件夹中查找名为“纹理”(Textures) 的子文件夹。如果此查找失败,则会对工程中的所有纹理执行详尽搜索。虽然稍微较慢,不过详尽搜索的主要劣势在于工程中可能存在两个或更多同名纹理。在此情况下,不保证将找到正确的纹理。
将纹理置于处于资源级别或该级别以上的纹理 (Textures) 文件夹中
材质生成和分配
对于每个导入的材质,Unity 将应用以下规则:-
如果禁用材质生成(即取消选中导入材质 (Import Materials)),则将分配默认漫反射材质。如果启用,则将执行以下操作:
- Unity 将基于材质命名 (Material Naming) 设置为 Unity 材质选取名称
- Unity 将尝试查找具有该名称的现有材质。材质搜索范围由材质搜索 (Material Search) 设置定义。
- 如果 Unity 成功找到现有材质,则会将其用于导入的场景,否则会生成新材质
碰撞组件
Unity 使用两种主要类型的碰撞组件:网格碰撞组件和基元碰撞组件。网格碰撞组件是使用导入的网格数据的组件,可以用于环境碰撞。在“导入设置”(Import Settings) 中启用生成碰撞组件 (Generate Colliders) 时,会在将网格添加到场景时自动添加网格碰撞组件。对于物理系统而言,会将其视为固体。
如果在四处移动物体(例如汽车),则不能使用网格碰撞组件。而是必须使用基元碰撞组件。在此情况下,应禁用生成碰撞组件 (Generate Colliders) 设置。
动画
动画会从场景自动导入。有关动画导入选项的更多详细信息,请参阅 Mecanim 动画系统中关于资源准备和导入的部分。
法线贴图和角色
如果某个角色具有从高多边形版本的模型生成的法线贴图,则应使用 180 度的平滑角度 (Smoothing angle) 导入游戏质量版本。这会防止由于切线拆分而在光照中形成看起来奇怪的对接处。如果使用这些设置时仍存在对接处,请启用跨 UV 对接处拆分切线 (Split tangents across UV seams)。
如果将灰度图像转换为法线贴图,则无需担心这一点。
混合形状 (Blendshape)
Unity 支持混合形状(Blendshape,也称为变形目标或顶点级别动画)。Unity 可以从 .FBX(混合形状 (Blendshape) 和控制动画)和 .dae(仅混合形状 (Blendshape))。Unity 混合形状 (Blendshape) 支持顶点、法线和切线上的顶点级别动画。网格可以同时受皮肤和混合形状 (Blendshape) 影响。使用混合形状 (Blendshape) 导入的所有网格都将使用蒙皮网格渲染器(无论其是否具有皮肤)。混合形状 (Blendshape) 动画作为普通动画的一部分导入 - 它仅在蒙皮网格渲染器上对混合形状 (Blendshape) 小组件进行动画处理。
可通过两种方法导入具有法线的混合形状 (Blendshape):
- 将法线 (Normals) 导入模式设置为计算 (Calculate),这样会将相同逻辑用于为网格和混合形状 (Blendshape) 计算法线。
- 将平滑组信息导出至源文件,这样 Unity 将通过平滑组为网格和混合形状 (Blendshape) 计算法线。
如果希望混合形状 (Blendshape) 上具有切线,则将 切线 (Tangents) 导入模式设置为 计算 (Calculate)。
H提示
- 尽可能将网格合并在一起。使它们共享材质和纹理。这具有巨大的性能优势。
- 如果需要在 Unity 中进一步设置对象(添加物理、脚本或其他超棒内容),请无需苦恼,而是在三维应用程序中正确地命名对象。使用大量类似于pCube17 或 Box42 的对象并不有趣。
- 使网格在三维应用程序中的世界坐标原点上居中。这会使它们更容易放置在 Unity 中。
- 如果网格没有顶点颜色,则 Unity 在首次渲染网格时会将一组全白顶点颜色添加到网格。
Unity 编辑器显示太多顶点或三角形(与三维应用程序的显示相比)
这是正确的。您所看到的是实际发送给 GPU 进行渲染的顶点/三角形数量。除了材质需要将它们发送两次这类情况,与建模应用程序的显示相比,硬法线和非连续 UV 这类其他内容显著增加了顶点/三角形数量。三角形在三维和 UV 空间中都必须连续以形成剥离,因此在具有 UV 对接处时,必须创建退化三角形才能形成剥离 - 这会增加数量。
另请参阅
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论