testBubble_zhou_min_泡泡聊天
下面列出了常见的问题.
文档
Unity 手册 -- 包含用户指南和详细的使用资料.
http://unity3d.com/support/documentation/Manual/index.html
Unity 基础 -- Unity新用户的最好起点.
http://unity3d.com/support/documentation/Manual/Unity%20Basics.html
参考手册 -- 深入细节的描述Unity的所有组件和引擎功能.
http://unity3d.com/support/documentation/Components/index.html
脚本参考 -- 脚本类和代码范例.
http://unity3d.com/support/documentation/ScriptReference/20_class_hierarchy.html
Unity 编辑器
问) 我如何获得试用版Unity
答) 只需根据你的系统平台从这里选择下载: http://unity3d.com/unity/download
问) 我想评估Unity专业版,怎么办?
答) 给support@unity3d.com发送电子邮件,我们会帮助你解决.
问) 当我购买Unity后,它的更新是免费的吗?
答) 所有小版本升级都是免费的. 比如Unity 2.x授权用户, 意味着".x"的升级都是免费的. 例如, 2.1用户可以免费升级到2.5. 你能随时从这里下载最新版Unity:http://unity3d.com/unity/download
问) 我看到有新的版本发布了,我如何获得它?
答) 你可以随时从这个地址下载最新版本 http://unity3d.com/unity/download. 即使显示的是 "Trial Download(试用下载)", 当你有激活码时激活它以获得完整功能的Unity..
问) 我已经购买/升级了Unity,我如何激活它?
答) 从菜单栏, Mac中用"Unity->Enter Serial Number...",或者在Windows中从"Help->Enter Serial Number..."后进行"Internet Activation(网络激活)"或"Manual Activation(手动激活,如果你电脑未联网)".
问) 如何手动激活?
答) 你需要创建一个请求文件并邮件给我们,我们会帮助您. 在手动激活对话框, 点击 "Save License Request...(生成许可请求)"后将生成的文件邮件至support@unity3d.com. 我们会处理并回复给你一个激活文件. 同样在手动激活对话框, 单击 "Read License...(读入许可)" 并载入激活文件.
问) 我的授权能装几台电脑?
答) Unity最多可以激活两台机器在每个用户. 比如台式机/笔记本,家里电脑/公司电脑,或者Mac系统/Pc系统.
问) 我购买了一台新电脑,但是当我试图输入我的序列号时得到提示"your serial number is invalid(你的序列号无效)",怎么回事?
答) 这大概是你的授权达到了激活上限. 请写邮件到support@unity3d.com,我们将帮助你在你新的电脑上激活Unity.
问) 我使用Windows Vista,每次我启动Unity,我都会看到一条信息"Unity Editor has stopped working(Unity编辑器停止响应)",之后我依旧可以使用它,为啥?
答) 由于Vista的Bug, 有些电脑在运行Unity编辑器之前需要禁用"Data Execution Prevention(数据执行保护)",到开始菜单->设置->控制面板(分类视图)->系能信息和工具->改变视觉效果->数据执行保护中激活"除以下程序开启数据执行保护"选项,并且点击"添加"将Unity编辑器添加进去.
问) Unity编辑器鞥否运行于Windows 7 beta?
答) Unity 2.5.0不支持Windows 7 beta. 以后增加对Windows 7的支持.
网页播放器
问) Unity Webplayer是什么?
答) 网页播放器是浏览器的一个可下载的插件.能让你在网页上浏览你的游戏..
问) 如何安装Webplayer?
答) 从 http://unity3d.com/unity-web-player-2.x 下载或者浏览任何Unity网页播放器页面.
问) 网页播放器安装完后如何更新?
答) 在你浏览场景时候播放器插件将自动更新版本.如果你是用Vista,当要升级的时候系统可能会提示你.
问) 我使用Windows Vista 和 IE8. 我不能使用全屏播放.
答) 很遗憾,因为IE的缘故我们不得不在Vista/IE8中禁用全屏模式.如果IE修正了这个问题,我们将重新开放全屏模式.
提交问题和错误
问) 我有一个Unity的问题,怎么办?
答) 最佳方式是使用软件内置的错误发送报告功能来提交问题给Unity技术部.你可以从Unity菜单的"Help->Report a Problem"中找到并使用它.
问) 这个错误报告有点复制,我怎么填写它?
答) 简而言之,我们需要知道这个问题并能重现它.重现问题之后我们才能修正它.因此你要告诉我们如何重现这个错误. 大多时候, 我们需要使用你的工程目录重现错误. 请在Bug反馈的时候压缩你的项目目录, 哪怕有500MB.
问) 那我现在我已经提交了一个Bug!现在该怎么办?
答) 如果我们处理Bug时候需要更多信息或有疑问会发邮件询问你. 如果你没有压缩你的项目文件夹和我们无法重现Bug, 我们会向你询要项目目录.
问) 当我提交了错误报告后,又有了一些相关新的信息及Bug. 我如何提交这些信息给Unity?
答) 在最初你提交错误报告的时候,你将收到自动生成的一封邮件,里面包含了案件号. 在任何时候你都可以回复这封邮件,你的回复将按照案件号自动添加在我们的Bug跟踪器.这样便于一些测试者或开发者查看Bug时能看到你提交的最新信息.
问) 我提交的Bug多久会被修正?
答) 早期,Bug修正将包含在官方下一次发布Unity时候.并不是每个Bug修正后我们会理解更新Unity发布, 所以你的Bug可能会在2-3次更新后被修正. 我们会尽力按照Bug的严重性来决定修正的顺序.
问) 我不会写游戏脚本.Unity的技术可以帮我吗?
答) 对于你游戏中编写脚本遇到的问题, 请查看论坛获得帮助或进入IRC聊天室.对于你的游戏Unity不提供编写脚本援助.如果你需要帮忙写脚本,你可以寻求Unity工作室(http://www.unity-studios.com/)的付费支持.
1:天空盒有接缝怎么解决?
答:在贴图导入设置里设置Wrap Mode为"Clamp".
2:DDS格式怎么不显示?
答:Unity不支持DDS格式,Unity会将除DDS外的其他格式图片具有为DDS同样的优化.
3:Unity如何动态载入外部模型等文件?
答:可以使用AssetBundle:http://unity3d.com/support/documentation/ScriptReference/AssetBundle.html
4:脚本编辑器有语法提示吗?
答:有的,Win版使用Ctrl+I,Mac版使用Ctrl+>.
5:如何使用烘焙贴图(多重纹理)?
答:不要使用Shell贴图,直接将烘焙图赋予贴图的"自发光"通道之上.
6:怎么屏蔽Webplayer右键菜单?
答:<param name="disableContextMenu" value="true" />
7:为什么水面没有实时反射效果?
答:只有专业版才支持这种反射效果.
8:怎么做摄像机漫游动画?
答:Max正常制作摄像机漫游动画,倒到Unity中后,将Unity的Camea拖拽到Max导出的摄像机Gameobject物体之上,作为其子物体即可.
9:如何自定义Webplayer载入Logo及进度条?
答:<param name="logoimage" value="Logo文件名" />,<param name="progressbarimage" value="进度条名" />,<param name="progressframeimage" value="进度条外框名" />.
10:GUI上怎么使用中文字?
答:导入任意中文字体,然后定义GUISkin字体为该字体即可.
11:购买一个授权可以安装几台电脑?
答:可以安装于2个系统之上比如一个Win版一个Mac版.
12:Max文件扔到Unity中怎么说导入失败?
答:下载最新版Fbx插件,用Max导出Fbx文件然后扔Unity中.
13:如何不让摄像头穿透模型,离模型近了就像模型露面了?
答:设置相机的Near clip plane,调小一点,但是不要给负数.
14:怎么用双面贴图?
答:Unity中可设置双面Shader,最简单有效的办法是直接做成双面的实体模型.
15:导入的Fbx模型尺寸小于Max中的尺寸?
答:在Unity中该文件的导入设置中设置缩放因子为1.
16:如何给相机添加Glow效果?
答:选中相机对象,在菜单中选中Component-Image Effects-Glow赋予该组件即可(专业版才支持此特效)
17:怎么设置Webplayer默认尺寸?
答:到菜单Edit-Project Settings-Player中设置Default Web Screen尺寸即可.
18:怎么设置可执行文件的启动Banner?
答:到菜单Edit-Project Settings-Player中设置Resolution Dialog Banner.
19:如何设置雾效?
答:到菜单Edit-Render Settings中开启Fog及设置Fog Color等即可.
20:如何设定默认Skybox天空盒?
答:到菜单Edit-Render Settings中设置Skybox Material即可.
在这里我只说在项目中常用的一种添加NVRAM方式。
(1)在Nvram_user_defs.h中定义LID NVRAM_EF_EDUCATION_LID
NVRAM 中的数据是在 fs 文件系统的管理中操作的,而文 件操作需要识别数据项和管理数据项,都是通过这个 LID 来操作的。
(2)在Nvram_user_defs.h中定义size和total,
NVRAM_EDUCATION_DATA_SIZE 4:相当于一个内存块的大小
NVRAM_EDUCATION_DATA_TOTAL 1:一共有几个内存快
(3)定义NVRAM项Version 在Custom_nvram_editor_data_item.h中定义 #define NVRAM_EF_EDUCATION_LID_VERNO "001"
文件系统是怎么知道 它所管理的这些 NV 数据已经改变了呢?就是通过这个版本号来识别的,比如你修改了某个 NV 数据但没有更该它的版本号,文件 系统是不会对原始数据更改的;只有在更改了 NV 值并且修改了版本号,这时文件系统才识别到已经更改,并进行相应的数据更新 。
(4)定义NVRAM默认值使用默认的可以不用定义
(5)
在Nvram_user_config.c中使用
{
NVRAM_EF_EDUCATION_LID ,
NVRAM_EDUCATION_DATA_SIZE,
NVRAM_EDUCATION_DATA_TOTAL,
NVRAM_NORMAL(NVRAM_EF_ZERO_DEFAULT),这里就使用系统内的默认值
NVRAM_ATTR_MULTIREC_READ,
NVRAM_CATEGORY_USER,
"CT05",这里要注意这个序号,跟着上面那个来,上面那个如果是CT04这里就写CT05,这可不要认为是自己随便写
VER(NVRAM_EF_EDUCATION_LID),
"Education\0",这个可以随便写
NVRAM_RESERVED_VALUE
}
最主要说的就是我们使用的读写方法,有两个WriteValue/ReadValue或是WriteRecord/ReadRecord。但是这里只能使用WriteRecord/ReadRecord,如果使用WriteValue/ReadValue就会出现复位现象。而且要注意在使用的时候这里的大小不能使用DS_BYTE /DS_SHORT/DS_DOUBLE,要用我们上面定义的 NVRAM_EDUCATION_DATA_SIZE。
ReadRecord(
NVRAM_EF_EDUCATION_LID ,
1,//表示你使用到那一块内存
(&read_buff,
NVRAM_EDUCATION_DATA_SIZE,//注意这里不能使用DS_BYTE /DS_SHORT/DS_DOUBLE这三个 。
&pError);
WriteRecord使用方法一样。
要想使用WriteValue/ReadValue可以,修改两个文件custom_mmi_default_value.h和Common_mmi_cache_config.c中
在custom_mmi_default_value.h中定义LID NVRAM_MY_EDUCATION_UN, 注意在这个文件中有有三个枚举变量,分别是BYTEDATA,SHORTDATA,DOUBLEDATA,每一个枚举变量都对应在Mmi_frm_nvram_gprot.h中的
typedef enum
{
/* Corresponding to NVRAM_EF_CACHE_BYTE_LID. */
DS_BYTE = 1,
/* Corresponding to NVRAM_EF_CACHE_SHORT_LID. */
DS_SHORT = 2,
/* Corresponding to NVRAM_EF_CACHE_DOUBLE_LID. */
DS_DOUBLE = 8
} DATASIZE;
在 Common_mmi_cache_config.c文件中定义
SHORT_ENTRY(NVRAM_MY_EDUCATION_UN ,
NVRAM_APP_PHNSET,
NVRAM_CACHE_ID_RESERVED,
#ifdef _SETTING
NVRAM_COMMON_AVERAGE |NVRAM_COMMON_FACTORY_RESTORE|NVRAM_COMMON_USER_RESTORE ,
#else
KAL_TRUE,
#endif
"EDUCATIONLID",
0xFF,0xFF),
注意在这个文件中有三个数组,分别是common_mmi_cache_byte[],common_mmi_cache_short[] ,common_mmi_cache_double[]和上面LID定义中的BYTEDATA,SHORTDATA,DOUBLEDATA想对应起来
所以这里别忘了放错地方了。
定义好之后就可以使用WriteValue/ReadValue函数了,而且第三个参数可以相应的是DS_BYTE ,DS_SHORT ,DS_DOUBLE ,这里要注意之前LID定义在哪里就要相应的使用哪个,不要说在custom_mmi_default_value.h文件中定义的LID是在这个 SHORTDATA枚举类型中的,那么在使用WriteValue/ReadValue函数时第三个参数就要使用DS_SHORT,不然会出现复位现象。