Unity官方文档【2】

来源:互联网 发布:淘宝有关法律的新闻 编辑:程序博客网 时间:2024/05/05 03:41
场景视图 (Scene View) 控制条可让您选择查看场景的各种选项及控制是否启用灯光和音频。这些控制只影响开发过程中的场景视图,对构建的游戏无影响。

要创建一个预设 (Prefab),只需将您在场景中创建的一个游戏对象 (GameObject) 拖入工程视图 (Project View)。游戏对象 (GameObject) 的名称变成蓝色,显示这是一个预设 (Prefab)。

更改任何一个预设实例的属性,就可看到变量名称变成粗体。变量现已被重写。所有重写属性都不会受到源预设 (Prefab) 更改的影响。

光源 (Lights) 是每个场景的重要组成部分。网格和纹理决定了场景的形状和外观,而光源则决定了三维环境的颜色和氛围。

实时光源 - 它们在游戏运行的每一帧都要进行计算。如果您知道某个光源是不变的,则可以使用光照贴图让您的游戏速度更快、看起来效果更好。

正如电影中的镜头用来将故事呈现给观众一样,unity 的相机用来向玩家呈现游戏世界。您在场景中始终至少有一个相机,但也可以有多个。多个相机可以带给您双人分屏效果或创建高级的自定义效果。您可以让相机动起来,或者用物理(组件)控制它们。您能想到的任何东西,几乎都可以通过相机变成可能,为了配合您的游戏风格,还可以使用典型或独特的相机。

*相机:http://edu.china.unity3d.com/lea ... Manual/Cameras.html

移动性能注意事项渲染地形成本很高,因此在较低端的移动设备上地形引擎不是很实用。
* 切勿 对查找程序或其他程序中的任何事务重命名或移动其位置;这将破坏所有事务。简言之,Unity 为每个资源(如导入设置、缓存版本的压缩纹理等)存储了大量元数据,如果将文件移出 Unity, Unity 无法再将元数据与移动的文件关联起来。

切勿从资源管理器 (Explorer) (Windows) 或查找器 (Finder) (OS X) 中移动任何资源,或整理此文件夹。请始终使用工程视图 ( Project View) 进行上述操作!

音频侦听器 (Audio Listener) 充当类似于麦克风的设备。它从场景中的任何给定音频源 (Audio Source) 接收输入,并通过计算机扬声器播放声音。

每个场景都只能有 1 个音频侦听器 (Audio Listener) 正常工作。

Unity 提供提供了一系列脚本 API,以访问多点触控屏幕、加速度计、设备地理位置系统以及其他更多功能。

Unity 允许您直接从 C# 脚本调用使用 C、C++ 或 Objective-C 编写的自定义本机函数。

要物理控制对象,只需对其添加刚体 (Rigidbody)。执行此操作时,对象将受重力影响,可以与世界坐标中的其他对象碰撞。
* 绝不应一起使用父和子刚体 (Rigidbody)
* 绝不应缩放刚体 (Rigidbody) 的父级

物理 : 
http://edu.china.unity3d.com/lea ... Manual/Physics.html

刚体 (Rigidbody) 使游戏对象 (GameObject) 在物理控制之下行动。刚体 (Rigidbody) 可以接收力和扭矩以使对象采用逼真方式移动。任何游戏对象 (GameObject) 必须包含刚体 (Rigidbody) 才能受重力影响、在添加的力作用下行动(通过脚本)或是与其他对象交互(通过 NVIDIA PhysX 物理引擎)。

粒子系统 (Shuriken)Unity 中的粒子系统用于制造烟、蒸汽、火和其他气氛效果。
Mecanim 动画系统Unity 有一个丰富且复杂的动画系统,叫做 Mecanim。Mecanim 提供了:
* 类人角色动画的简单工作流程和设置。
* 动画重定位 – 能够将一个角色模型的动画应用到另一个模型上。
* 简化工作流程以调整动画片段。
* 方便预览动画片段、在片段之间转换和交互。这样使得动画师的工作更加独立于程序员,在挂接游戏代码之前建立原型及预览动画。
* 使用可视化编程工具管理动画之间复杂的交互。
* 对身体不同部位用不同逻辑进行动画控制。

多玩家联网游戏实时网络是一个复杂的领域,但 Unity 使添加网络功能到游戏中变得简单。然而,在游戏中使用实时网络之前了解一下网络范围是非常有用的。该部分介绍网络基础以及 Unity 执行的细节。
http://edu.china.unity3d.com/lea ... kedMultiplayer.html

iOS Unity 和桌面 Unity 有何不同静态类型的 JavaScript当针对 iOS 时,Unity 中的 JavaScript 动态类型始终处于关闭状态,(这相当于 #pragma strict 自动添加到所有脚本)。静态类型显著提高了性能,这对 iOS 设备来说具有重要意义。切换现有 Unity 工程至 iOS 目标时,如果使用动态类型,可能发生编译器错误。可以将显式声明应用到引起错误的变量或利用类型推断,轻松修复这些问题
MP3 代替 Ogg Vorbis 音频压缩出于性能考虑,iOS 设备更青睐 MP3 压缩。如果工程包含 Ogg Vorbis 压缩的音频文件,在构建期间,它们将再次压缩成 MP3。请参考音频片段 文档,了解更多在 iPhone 上使用压缩音频的信息。
PVRTC 代替 DXT 纹理压缩 (Texture Compression)Unity iOS 不支持 DXT 纹理。但 iPhone/iPad 设备支持原生 PVRTC 纹理压缩。请参考纹理导入设置文件,了解更多有关 iOS 纹理格式的信息。

电影播放
iOS 不支持影片纹理,但是,它通过脚本函数提供全屏流播放。如需了解 iOS 支持哪些文件格式和脚本 API 的信息,请参考手册电影页面。

UnityGUI 可以给游戏性能带来哪些影响?
答:当使用多种控件时,UnityGUI 相当耗费性能。在游戏运行时,最好将 UnityGUI 的使用限制在游戏菜单或尽量减少使用 GUI 控件。需注意的重要一点是,包含 OnGUI() 调用的脚本对象往往需要更长的处理器时间,即使空 OnGUI() 块也是如此。因此在不使用 GUI 控件时,最好禁用所有包含 OnGUI() 调用的脚本。将脚本标记为 enabled = false 即可。

***Unity Remote(图像不清晰,待研究)
Unity Remote 是一项应用程序,它让您可以使用 iOS 设备远程控制 Unity 中的工程。这在开发期间非常有用,因为使用远程控制直接在编辑器中测试工程,比每次更改之后将工程重新构建并部署到设备中要快得多。
http://edu.china.unity3d.com/lea ... l/unity-remote.html

iOS 设备的大部分功能都已通过输入以及手持式类展示。对于跨平台工程,UNITY_IPHONE 被定义为有条件编译的特定 iOS C# 代码。

加速度计读数可能被颠簸和噪音影响。在信号中应用低通滤波器有助于使其更平滑,并去除高频噪音。

设备地理位置可通过 iPhoneInput.lastLocation 属性获得。在调用这个属性之前,需要使用 iPhoneSettings.StartLocationServiceUpdates() 开始位置服务更新,并通过iPhoneSettings.locationServiceStatus 查看服务状态。请参阅脚本参考,了解详细信息。

一般而言,"标准资源 (Standard Assets)"、"专业版标准资源 (Pro Standard Assets)" 或 "插件 (Plugins)" 文件夹中的代码,无论使用何种语言(C#、Javascript 或 Boo),都将首先被编译,并且其结果可用于后续编译阶段的脚本中。

已下载资源文件的位置在 Mac 上,您可以在以下位置找到它们:~/Library/Unity/Asset Store
在 Windows 上,则为C:\Users\accountName\AppData\Roaming\Unity\Asset Store

在运行时想要实例化复杂的游戏对象 (GameObjects),可以方便使用预设 (Prefabs)。实例化预设 (Prefabs) 的另一种选择是使用代码从头开始创建游戏对象 (GameObjects)。相比替代方法,实例化预设 (Prefabs) 有多个优势:
* 可以使用一行代码实例化预设 (Prefab),并具有完整功能。使用代码创建等效游戏对象 (GameObjects),平均需要五行代码,还有可能要更多。
* 可在场景 (Scene) 和检视器 (Inspector) 中轻松快速设置、测试和修改预设 (Prefab)。
* 可以更改已实例化的预设 (Prefab),无需更改实例化预设的代码。一个简单的火箭可以更改成超级火箭,但无需更改代码。

反盗版检查通过删除 AppStore DRM 保护来破解应用程序,并使其变成免费的的应用,这一现象非常普遍。Unity 配备了反盗版检查,可确定在提交至 AppStore 之后,应用程序是否经过修改。
可通过 Application.genuine 属性检查应用程序是否为正版(非盗版)。如果属性的返回值是 false,那么可以通知应用程序的用户,他/她正在使用破解的应用程序,或者可以禁止其访问应用程序上的某些功能。
注意: Application.genuineCheckAvailable 应与 Application.genuine 一并使用,以确认应用程序的完整性可得到实际验证。访问 Application.genuine 属性是一项相当昂贵的操作,不应用于帧更新期间或其他时序要求严格的代码。

Unified 内存架构CPU 和 GPU 在 iPhone/iPad 共享同一内存。它的优点是您不必担心纹理会耗尽视频内存(当然,除非主内存也耗尽)。缺点是游戏和图像共享同一内存带宽。图形占用的内存带宽越多,游戏和物理的内存带宽就越少。
iOS 默认禁用分析器。如需启动,必须打开 Unity 生成的 XCode 工程。选择 iPhone_Profiler.h 文件并将
#define ENABLE_INTERNAL_PROFILER 0
一行更改为
#define ENABLE_INTERNAL_PROFILER 1

在 XCode 菜单栏中选择查看 (View) > 调试区 (Debug Area) > 激活控制台 (Activate Console),显示输出的控制台 (GDB),然后运行您的工程。Unity 将每 30 帧向控制台窗口输出统计信息。

为什么我的应用程序发布到 AppStore 之后,大小有所增加?在发布您的应用程序时,Apple 将首先加密二进制文件,然后通过 zip 压缩。大部分情况下,Apple 的 DRM 将增加约 4MB 的二进制大小。一般说来,您应该预计文件最终大小约等于所有文件(可执行文件除外)的 zip 压缩存档,再加上未压缩的可执行文件的大小。

减少文件大小
http://edu.china.unity3d.com/lea ... ducingFilesize.html
0 0
原创粉丝点击