- 用户指南
- 资源商店 (Asset Store)
- 资源服务器 (Asset Server)(仅限团队许可证)
- 缓存服务器(仅限团队许可证)
- 幕后场景
- 创建游戏
- 运行时实例化预设 (Prefabs)
- 变换 (Transforms)
- 物理
- 添加随机的游戏元素
- 粒子系统(Particle Systems)
- Mecanim 动画系统
- 旧动画系统
- 导航网格 (Navmesh) 和寻路 (Pathfinding)(仅限专业版 (Pro))
- Sound (音频侦听器)
- 游戏界面元素
- 多玩家联网游戏
- iOS 开发入门
- Android 开发入门
- Blackberry 10 开发入门
- Metro:入门指南
- 本地客户端开发入门
- FAQ
- Advanced
- Vector Cookbook
- 资源包(仅限专业版)
- Graphics Features
- 资源数据库 (AssetDatabase)
- 构建播放器管道
- 分析器(仅限专业版)
- 光照贴图快速入门
- 遮挡剔除(仅限专业版)
- 相机使用技巧
- 运行时加载资源
- 通过脚本修改源资源
- 用程序生成网格几何体
- 富文本
- 在 Unity 工程 (Project) 中使用 Mono DLL
- 事件函数的执行顺序
- 移动优化实用指南
- Unity XCode 工程结构
- 优化图形性能
- 减少文件大小
- 理解自动内存管理
- 平台依赖编译
- 泛型函数
- 调试
- 插件(专业版/移动版特有功能)
- 文本场景文件格式(仅限专业版)
- 流媒体资源
- 启动时运行编辑器脚本代码
- 网络模拟
- VisualStudio C 集成
- 分析
- 检查更新
- 安装多版本 Unity
- 故障排除
- Unity 中的阴影
- Unity 中的 IME
- 对集成显卡进行优化
- 网络播放器 (Web Player) 部署
- 使用网络播放器中的信任链系统
格式说明
Unity 的场景格式通过 YAML 数据序列化语言实现。虽然不能在这里深入了解 YAML,但它是一种开发的格式,可以在 YAML 网站免费获得其规范。场景中的每个对象都作为独立 YAML 文档写入文件,并按照 --- 顺序在文件中进行介绍。请注意:在这种情况下,“对象”是游戏对象 (GameObjects)、组件和其他场景数据的统称,其中每个项目都在场景文件中包含有自己的 YAML 文件。可通过以下示例了解序列化对象的基本结构:
--- !u!1 &6 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} importerVersion: 3 m_Component: - 4: {fileID: 8} - 33: {fileID: 12} - 65: {fileID: 13} - 23: {fileID: 11} m_Layer: 0 m_Name: Cube m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1
第一行在文档标记后包含字符串 "!u!1 &6"。"!u!" 部分之后的第一个数字是指对象的类(在本示例中表示游戏对象 (GameObject))。连字符后面的数字是指对象 ID 编号,虽然该数字会任意分配至每个对象,但在文件中是惟一的。每个对象的序列化属性用如下所示的行表示:
m_Name: Cube
属性通常以 "m_" 为前缀,但除此之外还需遵循脚本引用中定义的属性名称。如需在文件中继续定义第二个对象,则可以使用以下代码:-
--- !u!4 &8 Transform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 6} m_LocalRotation: {x: 0.000000, y: 0.000000, z: 0.000000, w: 1.000000} m_LocalPosition: {x: -2.618721, y: 1.028581, z: 1.131627} m_LocalScale: {x: 1.000000, y: 1.000000, z: 1.000000} m_Children: [] m_Father: {fileID: 0}
这是附加至上述 YAML 文档定义的游戏对象 (GameObjects) 的变换 (Transfrom) 组件。附件用下列行表示:-
m_GameObject: {fileID: 6}
…该文件内游戏对象 (GameObject) 的对象 ID 是 6。
浮点数字可以用十进制表示法或 IEE 754 格式的十六进制数字(前缀用 0x 表示)表示。IEE 754 用来表示值的无损编码,且 Unity 会在写入没有简短十进制表示的浮点值时使用它。Unity 编写十六进制数字时,会始终在括号中写下十进制数字,用于调试,但在加载文件时,只会对十六进制数字进行解析。若要手动编辑此类值,只需删除十六进制数并仅输入十进制数。以下表示的是一些有效的浮点值(所有值都表示数字 1):
myValue: 0x3F800000 myValue: 1 myValue: 1.000 myValue: 0x3f800000(1) myValue: 0.1e1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论