已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Unity5 x基础 上 个人学习笔记 1 第一章游戏界面第二章菜单栏 File 第三章编辑 Edit 第四章游戏对象 GameObject 简介第五章组件 Component 简介5 1Meshes网格 2 第一章游戏界面 Unity主编辑器窗口由几个选项卡式窗口组成 称之为视图 Unity中有几种视图 都有专门用途 项目工程浏览器 ProjectBrowser 层级视图 Hierarchy 工具栏 Toolbar 场景视图 SceneView 游戏视图 GameView 检视器 Inspector 其他视图 Views ProjectBrowser Hierarchy Toolbar SceneView GameView Inspector 3 1 1项目工程浏览器 ProjectBrowser 在该视图中 您可以访问和管理属于工程的资源 在该视图中的工程的资源可以用列表形式显示也可以用缩略图显示 通过右上角的OneColumnlayout和TwoColumnLayout来切换显示布局 下边的maximize是布满全屏的意思 CloseTab关闭该视图 AddTab添加一个视图 种类点右边小箭头选 4 工程结构列表上方是收藏夹 Favorites 部分 可将经常使用的项保存在此 便于以后访问 将工程结构列表中的项拖动至收藏夹 Favorites 并在此保存搜索查询 见下方的搜索 Searching 视图上方是 面包屑足迹 breadcrumbtrail 显示当前查看的文件夹路径 搜索时 该栏变化 以显示搜索的区域 资源 Assets 根文件夹 选定文件夹或资源商店 AssetStore 以及商店内许多免费和付费的资源 由斜杠分隔 Unity偏好设置 Preferences 窗口的常规 General 部分有一个选项 可禁用资源商店 AssetStore 的点击计数显示 如果不需要 5 创建 Create 菜单位于工具栏的左侧 可以给现有文件夹添加新资源和子文件夹 右侧是一组工具 供您搜索工程中的资源 右上角的锁定图标可 冻结 freeze 视图中的当前内容 如防止被其他地方的事件更改 方式与检视器 Inspector 锁定类似 搜索如果输入一个以上搜索词 搜索范围将缩小 如果输入海滨场景 就只会查找名称中带 海滨 和 场景 两个词的资源 如词汇之 和 搜索栏右侧有三个按钮 第一个按钮让您可以根据类型进一步筛选搜索时找到的资源 右侧第二个按钮根据标签 Label 筛选资源 可以在检视器 Inspector 中设置资源标签 标签可能很多 因而标签菜单有单独的迷你搜索筛选框 点击最右边的按钮将项添加至资源列表的收藏夹 Favourites 部分 保存该搜索 6 快捷方式浏览器视图有焦点时下列快捷方式可用 请注意 部分快捷方式只有在视图使用双列布局时才可用 7 1 2层级视图 Hierarchy 层级视图 Hierarchy 包含当前场景中的每个游戏对象 GameObject 有些是三维模型等资源文件的直接实例 其余是预设 Prefabs 实例 自定义对象构成游戏的绝大部分 可在层级视图 Hierarchy 中选择对象并将一个对象拖到另一个对象内 以应用父子化 Parenting 在场景中添加和删除对象后 还将在层级视图 Hierarchy 中显示或消失 父子化 Parenting Unity采用父子化 Parenting 这一概念 使任何游戏对象 GameObject 成为另一对象的子对象 将欲移动的子对象拖到层级视图 Hierarchy 的父对象中 子对象会继承父对象的移动缩放和旋转路径 正如您的手臂与躯干相连 转动躯干时 手臂因为与其相连也会移动 任何对象都可以有多个子级 但却只能有一个父级 可根据需要点击父对象的折叠箭头 显示或隐藏子对象 8 值得指出的是任何子级游戏对象 ChildGameObject 的检视器 Inspector 中的变换 Transform 值都会相对于父级 Parent 的变换 Transform 值而显示 这些值又被称局部坐标 LocalCoordinate 您可以通过脚本处理访问全局坐标 GlobalCoordinate 和局部坐标 localcoordinate 您可以将多个单独的对象一起父子化来构建复合对象 例如 布娃娃的骨架结构 您还可以通过简单的层级实现有用的效果 例如 如果您有个夜间恐怖游戏 您就可以用手电筒创造有效气氛 要创建此对象 您要使手电筒变换 Transform 成为聚光灯变换 Transform 的父级 然后 手电筒变换 Transform 的任何修改都会影响聚光灯 创建一个逼真的手电筒效果 9 1 3工具栏 Toolbar 首先工具栏最左边的是变换工具 依次是选择 移动 旋转 缩放和UI位置定位 该变换工具是针对Scene场景视图进行编辑操作的 工具栏左边第二个是Gizmo工具 首先Center是选择中心的意思 选择的是多个物体的共同中心点 而Pivot是轴心中心 选择的是当前选中物体的自身轴心点 想要切换他们很容易 比如想要从Center切换到Pivot 只需要点击Center这个按钮即可 切换Pivot至Center方法相同 而Local是使用物体的自身坐标 Global是使用物体在世界上的坐标 有关三维坐标的问题 请读者自行查找相关资料 切换坐标按钮的方法如Center切换Pivot一样 工具栏最后是层下拉菜单 控制层中物体的显示 隐藏以及解锁和加锁 还有可以编辑层 其次后面是播放工具 播放工具中左边开始是预览游戏的按钮 当按下此按钮后游戏场景在Game视图进行预览 播放工具中间是暂停按钮 按下此按钮后将暂停当前游戏预览时的内容 当再次按下 那么从刚才暂停前的预览内容开始 最后播放工具的按钮是逐帧播放 可以在游戏预览开始进行一帧一帧的播放 方便查看游戏中存在的问题 这对于游戏优化是很有帮助的功能 再其次后面是自定义布局菜单 通过下拉菜单中的内容切换您满意的界面布局 当然您也可以自行创建并保存您自己所布局的界面 10 1 4场景视图 SceneView 该场景视图 SceneView 为交互式沙盘 您将使用场景视图 SceneView 来选择和定位环境 玩家 相机 敌人和所有其他游戏对象 GameObjects 调动和操控场景视图 SceneView 中的对象是Unity最重要的功能 因此 必须快速进行 为此 Unity为最常见的操作提供按键 按住鼠标右键进入漫游 Flythrough 模式 用鼠标和方向键 向上和向下要加上Q和E键 进入第一视角视图导航 选择任何游戏对象 GameObject 并按F键 这将确定所选对象在场景视图 SceneView 的中心位置及轴点 使用箭头键在X Z平面上移动 按住Alt键单击拖动 使相机围绕当前轴点旋转 按住Alt键并单击中键拖动 拖动场景视图 SceneView 相机 按住Alt键并右击拖动 缩放场景视图 SceneView 与滚动鼠标滚轮的效果相同 QWERT 11 1 5游戏视图 GameView 游戏视图 GameView 从游戏的相机 Camera s 中呈现 代表所发布游戏的最终版 您将需要一台或以上的相机 Cameras 来控制玩家玩游戏时真实看到的情景 使用工具栏 Toolbar 上的按钮来控制编辑器 Editor 播放模式 PlayMode 并查看所发布游戏的效果 处于播放模式 PlayMode 时 所做的任何变更都是暂时性的 退出播放模式 PlayMode 时将重置 编辑器 Editor 用户界面将变暗 进行提醒 游戏视图 GameView 控制条上第一个下拉列表是宽高比下拉列表 AspectDrop down 可用于调节游戏视图 GameView 窗口的宽高比 还可测试在不同宽高比显示器上的显示效果 其次是统计 Stats 按钮 显示呈现统计数据 RenderingStatistics 窗口 该窗口对于监控游戏的图形性能非常有用 12 最后一个按钮是小图示 Gizmos 启用后 场景视图 SceneView 中出现的所有小图示 Gizmos 将拖到游戏视图 GameView 中 其中包括使用任一小图示 Gizmos 类函数拖动的小图示 Gizmos 小图示 Gizmos 按钮也有一个弹出菜单 显示游戏中使用的不同类型的组件 这个不懂是干嘛的 unity4的说明和5的不一样 13 1 6检视器 Inspector 检视器 Inspector 显示当前所选游戏对象 GameObjects 的详细信息 包括所有附加组件 Components 及其属性 在此 可修改场景中游戏对象 GameObjects 的函数 检视器 Inspector 中显示的任何属性可直接更改 甚至不修改脚本本身 就可以更改脚本变量 可在运行时通过检视器 Inspector 更改变量进行测试 找到适合游戏的神奇玩法 如果在脚本中定义对象类型 如游戏对象 GameObjects 或转换 Transform 的一个公共变量 可将游戏对象 GameObjects 或预设 Prefab 拖放至检视器 Inspector 中 完成任务 14 单击最下边的AddConponent可以直接从组件 Component 菜单添加组件 Component 检视器 Inspector 还将任何拖入Project中的资源设置导入信息 15 1 6其他视图 Views 本页提到的视图 Views 包含Unity中界面的基本内容 Unity中其他视图 Views 在其他单独页面进行说明 控制台 Console 显示信息日志 警告和错误 动画视图 AnimationView 可用于制作场景中的对象动画 分析器 Profiler 可用于检查和寻找游戏中的性能瓶颈 资源服务器视图 AssetServerView 可用于管理使用Unity资源服务器 AssetServer 的工程的版本控制 光照贴图视图 LightmappingView 可用于管理使用Unity内置光照贴图功能的光照图 遮挡剔除视图 OcclusionCullingView 可用于管理遮挡剔除 改善性能 16 File菜单 该菜单的主要用途是场景的创建 保存以及最终的发布输出 1 NewScene 创建场景 对应的快捷键是ctrl n 2 OpenScene 打开场景 对应的快捷键是ctrl o 3 SaveScene 保存场景 对应的快捷键是ctrl s 4 SaveSceneas 另存为场景 对应的快捷键是ctrl shift s 5 NewProject 新建工程项目 6 OpenProject 打开工程项目 7 SaveProject 保存工程项目 8 BuildSetting 发布设置 对应的快捷键是ctrl shift b 9 Build Run 发布并运行 对应的快捷键是ctrl b 10 BuildinCloud 发布到云端 此项是Unity5版本的新功能 通过此功能可以方便的解决脚本分享以及方便修改的问题 11 Exit 退出unity软件 第二章菜单栏 File 17 BuildSetting 发布设置 要打包的游戏场景 添加当前场景 发布平台 开发平台32位64位 DevelopmentBuild如果复选框被选择 isDebugBuild则为true 在编辑器中isDebugBuild总是返回true 在游戏发布时 这个命令可以移除所有Debug Log调用 这样 你就可以轻松地发布带有调试输出的测试版和没有这些调试信息的最终版 autoconnectprofiler使用分析仪 profiler ScriptDebugging就是发布成pc之后运行也会报错 检测使用 分析调试 18 Edit菜单 该菜单的主要是针对对场景的编辑和设定等操作 1 UndoSelectionChange 撤销操作 快捷键是ctrl z 2 RedoSelectionChange 与撤销相反的操作 快捷键为ctrl y 3 Cut 剪切 快捷键为ctrl x 4 Copy 复制 快捷键为ctrl c 5 Pase 粘贴 快捷键为ctrl v 6 Duplicate 复制并粘贴 快捷键为ctrl d 7 Delete 删除 快捷键为shift delete 8 FrameSelected 居中并最大化当前选择的物体 快捷键为f 9 LockViewtoSelect 锁定当前选择物体的视图 当选择所要操作的物体后 按下此按钮 物体的移动将会带动场景视图的移动 快捷键shift f 10 Find 按名称查找Hierarchy 层级 视图中对应名称的物体 快捷键为ctrl f 11 SelectAll 选择全部物体 快捷键为ctrl a 12 Preferences 偏好设置 第三章编辑 Edit 19 13 Module 此项是查看unity目前支持的设备型号 14 Play 播放 此项功能请参照前面的内容 15 Pause 暂停 此项功能请参照前面的内容 16 Step 单帧播放 此项功能请参照前面的内容 17 Signin 登录 用于登录unity帐号 18 Signout 登出 用于注销unity帐号 19 Selection 选择 用于载入和存储层次面板中选择的物体 20 ProjectSettings 工程设置 对工程进行相应的设置 21 NetworkEmulation 网络模拟 用户根据需要可以设置所需要的网络传输方式 22 GraphicsEmulation 图形模拟 用户根据需要选择相应的着色器 23 Snapsettings 对齐方式 选择用户需要的对齐方式 20 General 综合设置 AutoRefresh 自动更新 也就是当编辑器中的资源发生变化时 该项将会自动进行刷新 LoadPreviousProjectonStartup 在启动unity时是否显示项目向导 CompressAssetsOnImport 导入资源至unity中是否进行压缩 DisableEditorAnalytics Pro版本功能 是否自动把信息发送到unity中 ShowAssetStoresearchhits 显示资源商店中的免费级收费的数量 VerifySavingAssets unity退出时是否提示保存正在编辑的资源 EditorSkin Pro版本功能 界面皮肤更换 EnableAlphaNumericSorting 切换层次视图的排序 将此项打勾 在层次视图中会出现如下图上的按钮 按下这个生成的按钮将会进行变换排序 默认排序 或字母大小进行排序 3 1Preferences 偏好设置 下级菜单 21 ExternalTools 外部工具 ExternalScriptEditor 外部脚本编辑器 通过此项可以切换您所擅用的脚本的编辑器 unity支持2种编辑器 一种是默认的ModoDevelop编辑器 还有一种是微软开发的VisualStudio集成环境编辑器 MonoDevelopSolutionProperties unity应该将MonoDevelop写入至解决方案文件 sln 中 EditorAttaching unity是否允许调用外部编辑器进行调试 ImageApplication unity打开图片文件的默认应用程序 RevisionControlDiff Merge Pro版本功能 unity是否解决与资源服务器文件中的差异 AndroidSDKLocation 设置安卓SDK的存放路径 在unity5中安卓SDK必须为5 1以上 否则发布运行游戏会出现错误 JDKLocation java的jdk存放路径 在unity5中jdk版本最好是1 8以上 否则发布安卓类游戏会报错 22 Color 颜色选项 该项主要设置unity编辑器的界面颜色风格Keys 自定义快捷键 通过此项可以自定义每个功能的快捷键 23 GICache GI实时全局光照缓存 此项是unity5版本更新后的新功能 MaximumCacheSize Gb 最大缓存大小 当缓存文件超过此大小 unity将会清理掉不常用的缓存文件 CustomCacheLocation 自定义缓存位置 供所有项目共享此缓存路径 Cachecompression 是否压缩缓存文件 以减少缓存大小 CleanCache 清除所有缓存 CacheSize 当前实际的缓存大小 CacheLocation 当前的缓存路径 CacheServer Pro版本功能 此项为缓存服务器选项 24 输入管理器 InputManager 您可以在输入管理器 InputManager 中为您的工程定义各种不同的输入轴和游戏动作 打开路径 编辑 Edit 工程设置 ProjectSettings 输入 Input 在输入管理器 InputManager 中设置的所有轴都有两种用途 3 2ProjectSettings 工程设置 下级菜单 使您能够在编写脚本时通过轴名称来引用输入内容使您的游戏玩家可以根据个人喜好对控件进行自定义所有定义的轴都将在游戏启动器中向玩家予以显示 玩家可以在启动器中查看轴的名称 详细说明以及默认按钮 在这里 玩家可以选择更改在轴中定义的任何按钮 因此 编写脚本时最好是利用轴而不是各个按钮 因为玩家可能希望自定义游戏按钮 25 轴 Axes 包含当前工程的所有定义的输入轴 数目 Size 该工程中不同输入轴的数量 元素0 1 是要修改的特定的轴 名称 Name 在游戏启动器中以及通过脚本处理时用于指称特定轴的字符串 描述性名称 DescriptiveName 显示在游戏启动器中的正向按钮 PositiveButton 功能的详细定义 描述性负向名称 DescriptiveNegativeName 显示在游戏启动器中的负向按钮 NegativeButton 功能的详细定义 负向按钮 NegativeButton 将负值发送给轴的按钮 正向按钮 PositiveButton 将正值发送给轴的按钮 26 Alt负向按钮 AltNegativeButton 将负值发送给轴的辅助按钮 Alt正向按钮 AltPositiveButton 将正值发送给轴的辅助按钮 重力 Gravity 输入回到中心位置的速度 只有当类型 Type 是键盘 鼠标按钮时才使用 无效 Dead 任何小于该数值的正值或负值都将记为零 适用于游戏杆 灵敏度 Sensitivity 对于键盘输入来说 数值越大 响应时间越快 较低值会更加平滑 对于鼠标增量 该数值会计算出真实的鼠标增量 捕捉 Snap 若启用 则在收到反向输入后 轴的数值会立即重置为零 只有当类型 Type 是键盘 鼠标按钮时才使用 27 反转 Invert 若启用 则正向按钮会将负值发送给轴 反之亦然 类型 Type 键盘 鼠标按钮 Key MouseButton 用于任何类型的按钮 鼠标移动 MouseMovement 用于鼠标增量和滚轮 游戏杆轴 JoystickAxis 用于模拟游戏杆轴 而窗口移动 WindowMovement 在玩家晃动窗口时使用 轴 Axis 来自设备 游戏杆 鼠标 手柄等 的输入的轴游戏杆号 JoyNum 应该使用哪个游戏杆 默认情况下设置为检索来自所有游戏杆的输入 仅用于输入轴 不包括按钮 28 标签和图层 TagsAndLayers 该项主要是管理标签下的物体 这个是非常有用的 一般我们可以使用FindGameObjectWithTag这个方法获取标签下的单个物体 或者FindGameObjectsWithTag方法获取标签下的多个物体存储至数组中 29 Audio音频设置可以根据需要自行设置 Time时间设置可以根据需要自行设置 Paly播放器设置可以根据需要自行设置 Physics物理选项Physics2D物理选项Quality质量选项 更改此项可以改变画面的质量需求 Network网络选项其它待研究 30 第四章游戏对象 GameObject 简介 4 1创建游戏对象 GameObject 游戏对象 GameObject 自身不会向游戏添加任何特性 而是容纳实现实际功能的组件 Component 的容器 例如 光 Light 是一个附加到游戏对象 GameObject 的组件 Component 如果要从脚本创建组件 Component 则应创建空游戏对象 GameObject 然后使用gameObject AddComponent ClassName 函数添加所需组件 Component 不能创建组件 Component 然后从对象引用它 在脚本中 组件 Component 可以方便地通过消息发送或GetComponent TypeName 函数相互通信 这使您可以编写可重复使用的小脚本 这些脚本可以附加到多个游戏对象 GameObject 并重复用于不同用途 详细信息除了作为组件 Component 的容器之外 游戏对象 GameObject 还具有标记 Tag 层 Layer 和名称 Name 31 标记 Tag 用于通过标记 Tag 名称来快速查找对象 层 Layer 可用于仅对某些特定的对象组投射光线 渲染或应用光照 标记 Tag 和层 Layer 可以使用标记管理器 TagManager 在编辑 Edit 项目设置 ProjectSettings 标记 TagsandLayer 中 进行设置 静态 Static 复选框在Unity中 游戏对象 GameObject 中有一个名为静态 Static 的复选框 此复选框用于 1 准备静态几何结构以用于自动批处理2 计算遮挡剔除 OcclusionCulling 生成遮挡 Occlusion 数据时使用 静态 Static 复选框生成遮挡 Occlusion 数据时 将游戏对象 GameObject 标记为静态 Static 会使其可以剔除 或禁用 在静态 Static 对象之后不可见的网格对象 因此 不会在场景中四处移动的所有环境对象都应标记为静态 Static 32 4 2游戏对象 GameObject 自带对象 简单介绍 1 CreateEmpty创建空的游戏对象 2 CreateEmptyChild创建带父子关系的空游戏物体 33 3 3DObject创建3D的物体 能创建的物体有以下11种 1 Cube unity自带的立方体物体 2 Sphere unity自带的圆体 3 Capsule unity自带的胶囊体 4 Cylinder unity自带的圆柱体 5 Plane unity自带的平面物体 6 Quad unity自带的四边形物体 7 Ragdoll 布娃娃系统 8 Terrain 地形系统 9 Tree 创建树关于unity的树生成有很多不足之处 在后面的SpeedTree章节中我们将会使用SpeedTree来作为游戏场景的树 10 WindZone 风系统 11 3DText 3D文字 34 4 2DObjectSprite 2D精灵 unity中sprite是图片精灵的意思 图片精灵是用来绘制图集的控件 精灵可以在一张大图中去截取一部分 大图就是整体图像集合Atlas 而截取的小图就是一个精灵 然后给精灵命名 使用时通过精灵的名称就能直接绘制 并且精灵还可以用来制作动画 点击上述界面中的2D 可以随时的切换2D或者是3D的界面 现在Unity在建立Project的时候可以在窗口下方直接选择默认是2D还是3D模式 在ProjectSettings Editor也可以设置 Unity的Sprite精灵建立之后你会发现 出来是一个空的对象 其实很简单 因为在SpriteRenderer中Sprite参数是空的 下面就说明怎样建立一个Sprite对象 首先 导入一张2D图片 我导入的是下面这张图片 因为待会要用到它来搞人物动画 35 导入成功后 点击图片 就会在Inspector上出现导入的设置界面 TextureType设置成Sprite类型 之后你应该会看到下面这样的项目的 各个参数的意义 TextureType 纹理类型 主要是你导入的图片是用来干什么的 然后选择相应的类型 这里选择Sprite就代表是2D精灵 默认是Texture类型 SpriteMode 精灵模式 单个和多个 意义就在于你这个精灵图片是只是一张图片就是一个精灵还是一个图片有多张精灵 选择Single和Multiple的区别在SpriteEditor的界面 最终可以返回精灵图片 组 36 PackageTag 主要用在Unity图集编辑器的功能中 SpritePackage就是2D游戏经常用到的图集 打开方法 在Edit ProjectSettings Editor SpritePacker选项 默认disable 修改Mode 然后 如果你启用了之后PackageTag的作用就显而易见了 如果你没有任何标签 那么你就加入不了图集中了 PixelsToUnits 这个是将精灵图片的像素值转换成单位 而且这个转换是依据一个公式进行的 就是Unity单位 精灵的宽或者高 PixelsToUnits值 缩放大小 这里所说的单位你理解成米也行 反正这个单位大小是GameObject的Transform里面Position所支持的值 而这个参数就是影响了转换结果 如果PixelsToUnits值越小那么渲染出来的图片就会越大 Pivot 描点 和在cocos2dx中anchorPoint是一个概念来的 这里它是提供几个参数来的 一般直接用Center就可以了 在Sprite类中产生是必须要有这个参数的 FilterMode 过滤模式 和Texture2D一样 有点模式 双线性模式 三线性模式 过滤模式也就这几种了 直接用双线性就好 没特殊要求一般都不换的 37 5 Light 1 DirectionalLight平行灯放置于无穷远处并影响场景中的一切 就像太阳一样 2 PointLight点灯光从一个位置向所有方向发射相同强度的光 就像灯泡一样 3 Spotlight锥形灯从一个点向一个方向发光 仅照亮一个锥形范围内的对象 就像汽车的前灯一样 4 AreaLight区域光 仅适用于光照贴图烘焙 lightmapbaking 能从各方向照射一个平面的矩形截面的一侧 5 ReflectionProbe反射探头ReflectionProbe会规定一个区域 任何进入这个区域的物体的镜面反光的信息都会被覆盖 6 LightProbeGroup灯光探针组可以保存灯光信息 待研究 灯光 Light 会使您的游戏具有自己的个性和风格 您可以使用灯光来照亮场景和对象 以创建完美的视觉氛围 仅举几个例子 灯光可用于模拟太阳 燃烧的火柴光 手电筒 炮火或爆炸 38 6 Audio 1 AudioSource音频源 用于播放音频片段 2 AudioReverbZone音频混合区 7 UI 1 Panel UI分组 2 Button UI按钮 3 Text UI文本 4 Image UI图片 5 RawImage UI纹理 6 Slider UI滑动条 7 Scrollbar UI滚动条 8 Toggle UI触发器 9 InputField UI文本框 10 Canvas UI画布 11 EventSystem UI发送事件 8 ParticleSystem粒子系统 9 Camera摄像机 39 Unity5中的组件有以下大类 1 Add 对指定的GameObject添加下边的组件 2 Mesh网格 3 Effects 4 physice 5 Navigation 6 Audio 7 Rendering 8 Layout 9 Miscellaneous 10 Event 11 UI 第五章组件 Component 简介 40 5 1网格 Meshes 网格组成很大一部分三维世界坐标 除了一些资源商店插件之外 Unity不包括建模工具 不过Unity与大多数三维建模包之间具有很强交互性 Unity支持三角形或四边形网格 Nurbs Nurms和Subdiv表面必须转换为多边形 三维格式您可使用两种主要的文件类型将网格导入至Unity 导出的三维文件格式 如 FBX或 OBJ专有的三维应用文件 如3DStudioMax或Blender中的 Max和 Blend文件格式 这两种类型的文件可帮助您将网格导入至Unity 但在选择文件类型时 您需要考虑使用哪种文件格式 41 导出的三维文件Unity可读取 FBX dae Collada 3DS dxf和 obj文件 您可在此找到FBX导出程序 也可查找可用于多种应用的obj或Collada导出程序优势 仅导出所需数据使用可验证的数据 在Unity重新导入至三维资源包 文件通常更小鼓励使用模块化方法 例如 根据碰撞类型或交互性选择不同组件支持其他三维包 我们不直接支持其专有格式的三维包 劣势 原型和迭代的管道运行速度更慢更容易丢失源 工作文件 和游戏数据 如导出的FBX 之间的版本信息记录 42 专有三维应用文件Unity也可通过转换导入专有三维应用程序文件 Max Maya Blender Cinema4D Modo Lightwave和Cheetah3D文件 如 MAX MB MA等 优势 快速的迭代过程 节省源文件和Unity重新导入时间 简化的初始阶段劣势 使用Unity工程的所有机器都必须安装有许可证的软件副本无用数据会大大增加文件大小文件太大会降低Unity更新速度验证减少 故障排除难度增加下面是一些针对直接支持的三维应用程序的指导 其他三维应用程序通常可以导出上面列出的文件类型 Maya Cinema4D 3dsMax Cheetah3D Modo Lightwave Blender 43 纹理Unity会按照特定搜索计划 在导入时自动查找网格使用的纹理 首先 导入器会在网格所在的相同文件夹中或任何父文件夹中查找名为 纹理 Textures 的子文件夹 如果此查找失败 则会对工程中的所有纹理执行详尽搜索 虽然稍微较慢 不过详尽搜索的主要劣势在于工程中可能存在两个或更多同名纹理 在此情况下 不保证将找到正确的纹理 将纹理置于处于资源级别或该级别以上的纹理 Textures 文件夹中 44 材质生成和分配对于每个导入的材质 Unity将应用以下规则 如果禁用材质生成 即取消选中导入材质 ImportMaterials 则将分配默认漫反射材质 如果启用 则将执行以下操作 Unity将基于材质命名 MaterialNaming 设置为Unity材质选取名称Unity将尝试查找具有该名称的现有材质 材质搜索范围由材质搜索 MaterialSearch 设置定义 如果Unity成功找到现有材质 则会将其用于导入的场景 否则会生成新材质碰撞组件Unity使用两种主要类型的碰撞组件 网格碰撞组件和基元碰撞组件 网格碰撞组件是使用导入的网格数据的组件 可以用于环境碰撞 在 导入设置 ImportSettings 中启用生成碰撞组件 GenerateColliders 时 会在将网格添加到场景时自动添加网格碰撞组件 对于物理系统而言 会将其视为固体 如果在四处移动物体 例如汽车 则不能使用网格碰撞组件 而是必须使用基元碰撞组件 在此情况下 应禁用生成碰撞组件 GenerateColliders 设置 45 法线贴图和角色如果某个角色具有从高多边形版本的模型生成的法线贴图 则应使用180度的平滑角度 Smoothingangle 导入游戏质量版本 这会防止由于切线拆分而在光照中形成看起来奇怪的对接处 如果使用这些设置时仍存在对接处 请启用跨UV对接处拆分切线 SplittangentsacrossUVseams 如果将灰度图像转换为法线贴图 则无需担心这一点 Unity编辑器显示太多顶点或三角形 与三维应用程序的显示相比 这是正确的 您所看到的是实际发送给GPU进行渲染的顶点 三角形数量 除了材质需要将它们发送两次这类情况 与建模应用程序的显示相比 硬法线和非连续UV这类其他内容显著增加了顶点 三角形数量 三角形在三维和UV空间中都必须连续以形成剥离 因此在具有UV对接处时 必须创建退化三角形才能形成剥离 这会增加数量 46 混合形状 Blendshape Unity支持混合形状 Blendshape 也称为变形目标或顶点级别动画 Unity可以从 FBX 混合形状 Blendshape 和控制动画 和 dae 仅混合形状 Blendshape Unity混合形状 Blendshape 支持顶点 法线和切线上的顶点级别动画 网格可以同时受皮肤和混合形状 Blendshape 影响 使用混合形状 Blendshape 导入的所有网格都将使用蒙皮网格渲染器 无论其是否具有皮肤 混合形状 Blendshape 动画作为普通动画的一部分导入 它仅在蒙皮网格渲染器上对混合形状 Blendshape 小组件进行动画处理 可通过两种方法导入具有法线的混合形状 Blendshape 将法线 Normals 导入模式设置为计算 Calculate 这样会将相同逻辑用于为网格和混合形状 Blendshape 计算法线 将平滑组信息导出至源文件 这样Unity将通过平滑组为网格和混合形状 Blendshape 计算法线 如果希望混合形状 Blendshape 上具有切线 则将切线 Tangents 导入模式设置为计算 Calculate 47 MeshFiter网格过滤器网格过滤器用于从你的资源中获取网格信息 Mesh 并将其传递到用于将其渲染到屏幕的网格渲染器当中 网格过滤器与网格渲染器联合使用 使模型显示到屏幕上 当导入网格资源时 如果这个网格是蒙皮的 Unity将自动创建一个蒙皮网格渲染器 如果不是蒙皮的 则创建一个网格过滤器和一个网格渲染器 要想在场景中看到这个网格 mesh 还需要为游戏对象 GameObject 添加一个网格渲染器 MeshRenderer 它应该是自动被添加的 但是如果你将它从你的对象中移除 你必须手动重新添加它 如果网格渲染器 MeshRenderer 不存在 这个网格仍将存在于你的场景中 但是它将不会被绘制 mesh后边的方格中代表网格的形态 正方体球体等 可以点击后来的小靶心 转换形态 48 TextMesh文本网格文本网格生成用于显示字符串的3D几何体 你可以创建一个文本网格从菜单GameObject CreateOther 3DText 文本网格可以用于渲染路牌 涂鸦 译者注 cs中的喷图 等 文本网格放置文本到3d场景中 制作简单的2D界面文本请使用GUIText组件 以下步骤用于创建一个带有自定义字体的文本网格 1 在资源管理器中拖动一个TrueType字体文件 a ttf 到项目视图 从而导入一个字体 2 在项目试图中选择已导入的字体 3 在菜单中选择GameObject CreateOther 3DText 你已经创建了一个带有你自定义TrueType字体的文本网格 你可以使用场景视图中的变换控制器来放大这个文本 或者四处移动它 注意 如果你想改变一个文本网格的字体 需要设置这个组件的字体属性 或者设置这个字体材质为需要到的字体纹理 这个纹理可以在字体资源的分页下面找到 译者注 项目面板中字体资源的下拉箭头下的文件 如果你忘记设置这个纹理 文本网格中的文字将被显示为不规则的方块 49 Text文本将要渲染的文本OffsetZ偏移Z轴绘制时文本的Z轴偏移量 transform position z CharacterSize字符大小每个字符的大小 这个是整个文本的放大比例 LineSpacing行间距文本的行间距Anchor锚文本上的哪个点共享此变换的位置 Alignment对齐文本的水平对齐方式 左 右 中 TabSize制表符大小RichText多文本信息 50 MeshRenderer网格渲染器CastShadows投射阴影如果启用 当创建光照阴影时Mes
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年下半年吉林市规划编研中心招考工作人员(2号)易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年吉林双辽市事业单位招聘56人(2号)易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年吉安市市直事业单位招考工作人员(下半年)易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年台州市住房公积金管理中心黄岩分中心招考易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年南通海安县医疗卫生机构招考工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年南京博物院招考工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年十堰市房县食品药品监督管理局招考易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年北京市通州区事业公开招聘工作人员笔试易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年农业部南京农业机械化研究所招考管理辅助人员易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年内蒙古锡林郭勒盟事业单位招聘370人笔试总易考易错模拟试题(共500题)试卷后附参考答案
- 2023-2024学年北京西城区一六一中高三(上)期中数学试题及答案
- 红色旅游合同范本
- GB/T 20878-2024不锈钢牌号及化学成分
- 高中生考试焦虑心理咨询案例报告
- 《工程结构抗震设计》课件 第10章-地下建筑抗震设计
- SBAR交接班模式在临床运用
- 碎石临时停车场施工方案
- 静电消除作业指导书
- 华侨城集团领导岗位业绩考核管理规定
- 机械设备安全检查表88612
- 培智二年级体育课教案
评论
0/150
提交评论