unity3d的视图功能

2014-10-16 16:25:49 jiguangcanhen 阅读数 5771
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

         这两天刚刚接触Unity3d,之前一直是做android开发,对于Unity3d的开发有专门的人才,我主要涉及在Unity3d与android的交互,经过两天是实验终于完成了下面的效果:
本来想写几篇博客,来详细说明下Unity3d导出android Project然后再进行二次开发的过程,后来发现几篇博客,过程和我的类似,对于重复的过程我就不写了,大家参考他的博客就可以了。而且,包括了Unity3d调用android脚本,这一块我暂时还没有涉及。
在此,道一声博主辛苦,对于上面的三篇博客大家看完之后,肯定已经可以从Unity3d导出android project,然后再倒入Eclipse了。我们可以看到MainActivity不是继承自NativeActivity就是集成自UnityPlayerActivity(或者UnityPlayerNativeActivity),这样就会给新手一个错觉,就是要展示Unity3d的视图,就必须要集成自这几个接口,那么这个想法,是错误的,具体大家可以参考一下这个博客:
这个帖子中,就是使用继承自Activity的类来展示的U3d的视图。
这样的话,之前可能存在的一个问题,如果只能继承自那几个类,那么supportV4包中的Fragment岂不是不能用了,我们都知道,android.app.Fragment只支持2.3以上的版本,而V4中可以支持到1.6,所以一般来说都推荐大家使用V4包中的Fragment。
好了,说完这个问题,我们就看上面那个效果,如果在android原生应用的话,这个是很常见也很简单的应用,我们可以不停的切换中间的Fragment。
那么换成Fragment来展示U3d,并且相互切换的话,应该怎么样书写代码呢?大家看看下面两个代码块。
/**
 * 主界面
 * @author gavin
 *
 */
public class MainActivity extends FragmentActivity implements OnClickListener {

	private Button btn1;
	private Button btn2;
	private FragmentManager fm;
	View playerView;
	private Fragment currentFragment;
	private U3dFragment u3dFragment = new U3dFragment();
	private MenuOneFragment menuOneFragment = new MenuOneFragment();
	private MenuTwoFragment menuTwoFragment = new MenuTwoFragment();
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		Constants.mUnityPlayer = new UnityPlayer(this);
		int glesMode = Constants.mUnityPlayer.getSettings().getInt("gles_mode", 1);
		boolean trueColor8888 = false;
		Constants.mUnityPlayer.init(glesMode, trueColor8888);
		
		fm = getSupportFragmentManager();
		
		setContentView(R.layout.activity_main);
		initView();
		currentFragment = u3dFragment;
		changeFragment(currentFragment);
		
	}
	
	/**
	 * 初始化控件
	 */
	private void initView(){
		btn1 = (Button) findViewById(R.id.btn1);
		btn2 = (Button) findViewById(R.id.btn2);
		btn1.setOnClickListener(this);
		btn2.setOnClickListener(this);
	}
	
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch(v.getId()){
			case R.id.btn1:
				Toast.makeText(MainActivity.this, "btn1", Toast.LENGTH_SHORT).show();
				if(currentFragment instanceof U3dFragment || currentFragment instanceof MenuTwoFragment){
					currentFragment = menuOneFragment;
					changeFragment(currentFragment);
				}else{
					currentFragment = u3dFragment;
					changeFragment(currentFragment);
				}
				break;
			case R.id.btn2:
				Toast.makeText(MainActivity.this, "btn2", Toast.LENGTH_SHORT).show();
				if(currentFragment instanceof U3dFragment || currentFragment instanceof MenuOneFragment){
					currentFragment = menuTwoFragment;
					changeFragment(currentFragment);
				}else{
					currentFragment = u3dFragment;
					changeFragment(currentFragment);
				}
				break;
		}
	}
	
	/**
	 * 方法用来改变界面
	 */
	private void changeFragment(Fragment fragment){
		FragmentTransaction ft = fm.beginTransaction();
		ft.replace(R.id.content, fragment);
		ft.commit();
	}
	
	protected void onDestroy ()
	{
		Constants.mUnityPlayer.quit();
		super.onDestroy();
	}

	// onPause()/onResume() must be sent to UnityPlayer to enable pause and resource recreation on resume.
	protected void onPause()
	{
		super.onPause();
		Constants.mUnityPlayer.pause();
	}
	protected void onResume()
	{
		super.onResume();
		Constants.mUnityPlayer.resume();
	}
	public void onConfigurationChanged(Configuration newConfig)
	{
		super.onConfigurationChanged(newConfig);
		Constants.mUnityPlayer.configurationChanged(newConfig);
	}
	public void onWindowFocusChanged(boolean hasFocus)
	{
		super.onWindowFocusChanged(hasFocus);
		Constants.mUnityPlayer.windowFocusChanged(hasFocus);
	}
	public boolean dispatchKeyEvent(KeyEvent event)
	{
		if (event.getAction() == KeyEvent.ACTION_MULTIPLE)
			return Constants.mUnityPlayer.onKeyMultiple(event.getKeyCode(), event.getRepeatCount(), event);
		return super.dispatchKeyEvent(event);
	}

}
上面是Activity的写法。
/**
 * 展示u3d的界面
 * @author gavin
 *
 */
public class U3dFragment extends Fragment {

	private Activity context;
	View playerView;
	@Override
	public void onAttach(Activity activity) {
		// TODO Auto-generated method stub
		super.onAttach(activity);
		context = activity;
	}

	@Override
	public void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
	}

	@Override
	public View onCreateView(LayoutInflater inflater,
			@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		playerView = Constants.mUnityPlayer.getView();
		LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
		playerView.setLayoutParams(lp);
		if(playerView.getParent() != null){
			((ViewGroup)playerView.getParent()).removeAllViews();
		}
		return playerView;
	}

	@Override
	public void onDestroy() {
		// TODO Auto-generated method stub
//		Constants.mUnityPlayer.quit();
		super.onDestroy();
	}

	@Override
	public void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
		Constants.mUnityPlayer.pause();
	}

	@Override
	public void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
		Constants.mUnityPlayer.resume();
	}
	
}
上面是展示U3d视图的Fragment的写法。
要注意的有以下几点:
1.UnityPlayer这个对象被定义为了静态变量,在MainActivity中进行初始化,在Fragment中进行使用,用来获取Unity3d的view。
2.在U3dFragment中没有在onDestroy中,调用quit()方法。
3.在U3dFragment中的onCreateView()方法中,进行了下面的处理。
((ViewGroup)playerView.getParent()).removeAllViews();

对于上面三个问题,如果不处理会相应的引发下面三个问题。
1.展示U3d视图的Fragment无法显示Unity3d的动画效果。
2.切换页面的时候会报下面的错误:
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeVideoFrameCallback:VILII
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeSoftInputClosed:V
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeSetTouchDeltaY:VF
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeSetInputString:VL
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeSetInputCanceled:VZ
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeSetExtras:VL
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeSetDefaultDisplay:VI
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeResume:V
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeResize:VIIII
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeRequestedAA:I
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeRequested32bitDisplayBuffer:Z
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeRender:Z
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeRecreateGfxState:VL
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativePause:Z
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeKeysPressed:VL
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeInjectEvent:ZL
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeInitWWW:VL
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeFocusChanged:VZ
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeFile:VL
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeDone:V
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeActivityIndicatorStyle:I
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.initJni:VL
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.UnitySendMessage:VLLL
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeSetLocationStatus:VI
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeSetLocation:VFFFFDF
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeForwardEventsToDalvik:VZ
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/UnityPlayer;.nativeDeviceOrientation:VI
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lorg/fmod/FMODAudioDevice;.fmodUnblockStreaming:I
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lorg/fmod/FMODAudioDevice;.fmodProcess:IL
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lorg/fmod/FMODAudioDevice;.fmodInitJni:I
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lorg/fmod/FMODAudioDevice;.fmodGetInfo:II
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lorg/fmod/FMODAudioDevice;.fmodBlockStreaming:I
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lorg/fmod/FMODAudioDevice;.fmodProcessMicData:ILI
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/ReflectionHelper;.nativeProxyInvoke:LILL
10-16 13:26:44.927: D/dalvikvm(8170): Unregistering JNI method Lcom/unity3d/player/ReflectionHelper;.nativeProxyFinalize:VI
3.会报下面的错误:
Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.

现在来说,功能是实现了,但是还有很多可以改进和不明白的地方,大家可以一起讨论一下。


2018-02-23 12:28:26 yinkangbo 阅读数 997
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

在介绍视图窗口之前呢,小插一句话:在unity主界面的右上角有一排可以进行选择的下拉菜单,其中的最后一个是可以改变各个视图的布局的


好了,下面我将通过一张图片来简单介绍一下五个视图(具体的东西呢,用到了再具体说(滑稽))

关于Scene视图和Game视图:Scene视图里面是可以对游戏物体进行编辑的,而Game视图不行。

2016-11-25 21:08:05 weixin_36792038 阅读数 2979
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

转载自 脱莫柔Unity3D学习之旅 本文链接地址: Unity3D 界面功能操作讲解





Hierarchy 层次视图:

显示当前打开场景文件(Scene)在场景视图(Scene View)中的显示或隐藏的所有游戏物体。


 Scene View 场景视图:

场景视图(Scene View)中你就是上帝,你可以在此视图中操纵所有物体的位置,旋转和尺寸。

层次视图(Hierarchy)中选择某物体按下“F健(Frame Selected)”,可以在场景视图(Scene View)快速找到该物体。


 Project 工程视图:

存储所有资源文件的地方,无需担心数据量,只有在场景视图出现的才会被打包编译。


 Inspector检视面板:

显示当前物体附带的所有组件(脚本也属于组件)。

展开组件显示所有组件的属性数值。


Toolbar 工具栏:

 播放 暂停 步进

点击播放可立即运行游戏。

暂停用于分析复杂的行为,游戏过程中(或暂停时)可以修改参数、资源、甚至是脚本。

播放或暂停中修改的数据在停止后会还原到播放前的状态。

 

用于改变视图模式。

将个窗口或大小挑动至自己最舒服的状态,在右侧下拉中可选择“Save Layout”保存视图。

 

改变左键功能,任何状态下滚轮为放大/缩小键,右键为旋转视角键。

手柄工具(快捷键Q):按住左键拖动视角。

移动工具(快捷键W):首先选择物体,物体会出现方向轴,拖动方向轴移动物体。

旋转工具(快捷键E):首先选择物体,物体会出现转转轴,拖动旋转轴旋转物体。

缩放工具(快捷键R):首先选择物体,物体会出现缩放方向轴,拖动可缩放物体大小。


 Game View游戏视图:

场景视图中所有相机看到的视角在这里显示,并执行所有物体中运行的组件和脚本。

点击 播放 进入播放模式。


2017-07-25 16:54:51 qiancaobaicheng 阅读数 762
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

Unity中的五个视图窗口

在了解Unity中的五个视图窗口之前,在这里先做一个说明——这篇文章不会详细介绍各个视图的功能用法,只是做一下简单的了解。作者建议在学习Unity开发的过程中,不要上来就学习的非常全面,Unity的体系非常广,想要全部掌握在短期内是不可能的,我们可以用到什么再去学什么,这样学习会比较高效,不过作者自己也还在摸索中,意见只供参考。

这里写图片描述

1. Project——工程窗口

工程窗口显示当前工程应用的各种资源文件,包括场景文件、声音资源、模型资源等。
这里写图片描述

2. Hierarchy——层级窗口

层级窗口显示当前场景包含的所有物体(即游戏物体GameObject),包括场景中的相机、建筑、灯光、人物等。
这里写图片描述

3. Inspector——属性窗口

属性窗口显示当前选择游戏物体的属性,包括位置坐标,大小、颜色等。在Unity中,完整的一个项目是由一个个场景组成,场景是由一个个游戏物体组成,游戏物体是由一个个组件组成。属性窗口显示的就是一个游戏物体的组件,相当于查看这个游戏物体的属性。属性窗口不仅可以查看Hierarchy(层级窗口)中游戏物体的属性,还可以查看Project(工程窗口)中没有在场景中用到的游戏物体的属性。
这里写图片描述

4. Scene——场景窗口

通过场景窗口我们可以观察游戏物体在场景中的样子并进行设计,它和Hierarchy(层级窗口)相对应,只不过在Hierarchy(层级窗口)中游戏物体是以列表的形式出现的。
这里写图片描述

5. Game——游戏窗口

游戏窗口是程序运行时我们进行预览游戏的窗口,它可以显示我们程序的运行结果,但是在该窗口下我们不能进行任何编辑。
这里写图片描述

这里主要介绍了Unity中最主要的五个窗口,大家想要详细了解窗口下的各种命令的话请参考:http://blog.sina.com.cn/s/blog_671e4f280100unzd.html

2017-06-10 22:44:17 liuyuehui110 阅读数 10360
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

本章主要是 Unity3D 的基础快速入门篇,通过本章的学习,能让初学者们快速的掌握和
应用 Unity3D 软件。
本章导读
本章无论对于 Unity3D 初学者、或是以前从事建模工作的设计师、又或者是从事过 3D
编程的人群,在转向 Unity3D 的学习的时候,学习本章内容都极有必要的。通过本章节内容
的学习,你可以迅速的掌握 Unity3D 的软件结构,各个板块具体的功能和作用以及场景制作
流程等等。本章节可以说是全书的根基,只要你能把本章节的内容掌握熟悉,那在今后的日
子里面开发任何的游戏可以说是事半功倍。这就像运动员们在小的时候打好了坚实的基础,
再向今后的专业突破的时候,就感觉游刃有余,几乎不费吹灰之力就拿下任何一个项目。
对于有一定 Unity3D 基础的人群而言,笔者也强力建议在有充足时间的情况下,耐心的
阅读下本章节的内容。因为笔者时常在网上发现一些 Unity3D 早期的开发者,往往对一些 U
nity3D 很基础性的功能莫不着头脑。这不能怨这些开发者的水品不够,而是有许多 Unity3D
的功能在长期未被使用的情况下,被他们遗忘了,突然有一天需要使用的时候,就抓了狂,
发了疯。
另外笔者要在这里提醒一下建模设计师,可能你们在原先的行业里面已经将 3DS MA
X、Maya 等建模软件摸索得相当熟练了,但游戏场景和影视场景还是存在很大的差异。首
先最大的差异就在于灯效的实时性,游戏讲究的是动态灯光,追求与游戏者视觉互动;而影
视灯光则是一种静态的逐帧灯光,所有效果都被渲染成一张张静态的连续图片,它们主要倾
向与影迷们的观赏互动;前者比较主动,而后者相对来说比较被动。前者在使用灯效处理的
时候受硬件的局限性大,面对的客户群体需要有所区分;后者在观赏灯效处理的时候,几乎
不受任何计算机硬件的影响,面对的客户群体也比较广泛。

1.1 界面入门


如图 1-1 所示为 Unity3D 最经典 2 by 3 结构界面,上面呈现了 Unity3D 最为常用的几
个面板,下面为各个面板的详细说明。
  Scene【场景面板】:该面板为 Unity3D 的编辑面板;你可以将你所有的模型、灯光、
以及其他材质对象拖放到该场景中。构建游戏中所能呈现景象。
  Game【游戏面板】:与场景面板不同,该面板是用来渲染场景面板中景象的。该面
板不能用作编辑,但却可以呈现完整的动画效果。
  Hierarchy【层次清单栏】:该面板栏主要功能是显示放在场景面板中所有的物体对
象。
  Project【项目文件栏】:该面板栏主要功能是显示该项目文件中的所有资源列表。
除了模型、材质、字体等,还包括该项目的各个场景文件。
  Inspector【监视面板】:该面板栏会呈现出任何对象的所固有的属性,包括三维坐
标、旋转量、缩放大小、脚本的变量和对象等等。
  【场景调整工具】:可改变你在编辑过程中的场景视角、物体世界坐标和本地坐标
的更换、物体法线中心的位子,以及物体在场景中的坐标位置,缩放大小等等。
  【播放、暂停、逐帧按钮】:用于运行游戏,暂停游戏和逐帧调试程序。
  【层级显示按钮】:勾选或取消该下拉框中对应层的名字,就能决定该层中所有物
体是否在场景面板中被显示。
  【版面布局按钮】:调整该下拉框中的选项,即可改变编辑面板的布局。
  【菜单栏】:和其他软件一样,包含了软件几乎所有要用到的工具下拉菜单。
除了 Unity3D 初始化的这些面板而外,你还可以通过“Add Tab”按钮和菜单栏中的“W
indow”下拉菜单中,增添其他面板和删减现有面板。特别是“Window”下拉菜单中的“Li
ghtmapping”和“Occllusion Culling”面板对游戏的后期优化尤为管用。除此而外还有用
于制作动画文件的 Animation【动画面板】,用于观测性能指数的 profiler【分析器面板】,
用于购买产品和发布产品的 Asset Store【资源商店】,用于控制项目版本的 Asset Server
【资源服务器】,用于观测和调试错误的 Console【控制台面板】。
在【菜单栏】中包含有八个菜单选项:分别是 File【文件】、Edit【编辑】、Assets【资
源】、GameObject【游戏对象】、Component【组件】、Terrain【地形】、Window【窗口】、He
lp【帮助】。这些是 Unity3D 中最标准的菜单选项卡,其各自又有自己的子菜单,表 1-1 中
列出了各个菜单栏以及它们所包含的下拉菜单及其译名,仅供读者参考。

主菜单  包含的子菜单

File【文件】

New Scene【新建场景】
Open Scene【打开场景】
Save Scene 【保存场景】
Save Scene as…【场景另存为…】
New Project… 【新建工程文件】
Open Project… 【打开工程文件】
Save Project 【保存工程文件】
Build Settings… 【创建设置】(这里可以设置你的游戏将要以
何种方式发布,发布的场景文件又包含那些)
Build & Run 【创建并运行】(这里以“Build Settings”里设
置好的方式,发布并运行游戏)
Exit 【退出】

Edit【编辑】

Undo 【撤销上一步操作】
Redo 【恢复被撤销的操作】
Cut 【剪切】
Copy 【拷贝】
Paste 【粘贴】
Duplicate 【复制】
Delete 【删除】
Frame Selected 【在编辑场景中最大化显示被选中的物体】
Select All 【全选编辑面板中的所有物体】
Preferences… 【首选参数设置】
Play 【播放】(如果游戏已经开始播放,点此按钮代表停止播
放)
Pause 【暂停】
Step 【逐帧播放游戏】
Load selection 【载入所选】(与“Save selection”【存储所选】
联合使用,你可以把它理解为一个临时的快捷键,帮你快速的
找到特定的以被存储的物体对象。)
Save selection 【存储所选】(与“Load selection”【载入所选】
联合使用,你可以把它理解为一个临时的快捷键,帮你快速的
找到特定的以被存储的物体对象。)
Project Settings 【工程文件设置】(包含了该工程项目的“Inp
ut”【热键】、“Tags”【标签管理】、“Audio”【音频设置】、“Ti
me”【时间设置】、“Player”【播放器设置】、“Physics”【默认仿
真物理设置】、“Quality”【播放质量参数设置】、“NetWork”【网
络工作参数设置】、“Editor”【编辑器设置】)“Script Execution
Order”【脚本编译顺序设置】
Render settings 【渲染设置】(默认渲染参数设置,包括环境光,
周围的雾化程度,环境颜色等等一系列参数的设定)
Network emulation 【网络仿真】(由于你制作的游戏将会在不
同的网络环境中工作,所以需要这个参数来模拟不同的网络工
作环境)
Graphics emulation 【图形卡仿真】(由于你制作的游戏将会在
不同的图形卡环境中工作,所以将需要这个参数来模拟不同硬
件条件下的游戏显示质量)
Snap settings 【捕捉设置】(和 3Ds Max 的“栅格和捕捉设置”
类似。)

Assets 【资源】

Create 【创建】(包含有“Folder”【文件夹】、“JavaScript”【Ja
vaScript 编程脚本】、“C# Script”【C#编程脚本】、“Boo Script”
【Boo 编程脚本】、“Shader”【着色语言】、“Prefab”【预置物体】、
“Material”【材质】、“Animation”【动画】、“Cubemap”【立方
体贴图】、“Lens Flare”【镜头光晕】、“Custom Font”【自定义
字体】、“Render Texture”【渲染纹理】、“Physic Material”【物
理材质】、“GUI Skin”【用户图形界面皮肤】)
Show in Explor 【显示项目资源所在的文件夹】
Open【打开选中的资源】
Delete【删除选定资源】
Import New Asset... 【导入新的资源】
Import Package...【导入资源包】
Export Package... 【导出资源包】
Select Dependencies 【选择相关联的文件】
Export compressed audio file... 【导出压缩的音频文件】
Refresh 【刷新】
Reimport 【重新导入选中的资源】
Reimport All 【重新导入所有的资源文件】
Sync MonoDevelop Project 【与 Mono 项目文件同步】

GameObject【游戏项目】

Create Empty【创建空的游戏对象】
Create Other 【创建其他组件】(包含了“Particle System”【粒
子系统】、“Camera”【摄像机】、“GUI Text”【图形用户界面文
本】、“GUI Texture”【图形用户界面图片】、“3D Text”【3D 文
字】、“Directional Light”【平行光】、“Point Light”【点光源】、
“Spotlight”【聚光灯】、“Cube”【立方体】、“Sphere”【球】、“C
apsule”【胶囊】、“Cylinder”【圆筒】、“Plane”【平面】、“cloth”
【布料】、“Audio Reverb Zone”【声音回响区域】、“Ragdoll..”
【布娃娃系统】、“Tree”【植被树系统】、“Wind Zone”【风的区
域】)
Center On Children 【归位到子物体中心点】
Make Parent 【创建父集】(必须选择两个以上的物体才能使用
该命令,最先被选中的物体为父级对象,其余的对象都为该对
象的子集)
Clear Parent 【取消父集】(取消被选中物体与它上一个父级之
间的父子级关系)
Apply Changes To Prefab 【改变影响预制物体】(如果你在场
景中编辑的物体是从资源面板拖拽出的预制物体,默认的情况
下,你在场景面板中对物体做出的改变不会影响原先的预制物
体,除非你点击该按钮)
Move To View 【移动物体到“Scene”视窗的中心点】
Align With View 【移动物体到“Scene”视窗的中心点,并且
与显示口正对齐,物体中心位于显示口的中心点】
Align View to Selected 【移动“Scene”视窗与物体对齐,并
且显示口的中心点位于物体的中心】

Component【组件】

Mesh 【网格】(“Mesh Filter”【网格填充】、“Text Mesh”【文
字网格】、“Mesh Renderer”【网格渲染】、“Combine Children”
【合并子物体】)
Particles 【粒子系统】(能打造出非常棒的流体效果,是制作烟
雾、激光、火焰等效果的首选。“Ellipsoid Particle Emitter”【
椭球粒子发射器 】,“Mesh Particle Emitter”【面片粒子发射器】,
“Particle Animator” 【粒子动画】, “World Particle Collider” 【世
界粒子碰撞机】,“Particle Renderer”【粒子渲染器】,“Trail Re
nderer”【蔓延渲染】)
Physics 【物理系统】(可使物体带有对应的物理属性)
Audio 【音频】(可创建声音源和声音的听者)
Rendering 【渲染】
Miscellaneous 【杂项】
Scripts 【脚本】(Unity 内置的一些功能很强大的脚本)
Image Effects【图形渲染效果】(仅限专业版)
Character【角色控制器】
Camera-Control 【摄像机控制】

Terrain【地形】 

 Create Terrain 【创建地形】
Import Heightmap - Raw... 【导入高度图】
Export Heightmap - Raw... 【导出高度图】
Set Resolution... 【设置分辨率】
Create Lightmap... 【创建光影图】
Mass Place Trees... 【批量种植树】
Flatten Heightmap... 【展平高度图】
Refresh Tree and Detail Prototypes 【刷新树及细节模型】

Window【窗口】

Next Window 【下个窗口】
Previous Window 【前一个窗口】
Layouts 【布局】
Scene 【场景窗口】
Game 【游戏窗口】
Inspector 【监视窗口】(这里主要指各个对象的属性)
Hierarchy 【层次窗口】
Project 【项目文件窗口】
Animation 【动画窗口】(用于创建时间动画的面板)
Profiler 【性能探测窗口】
Asset Store 【资源商店】
Asset Server 【源服务器】
Lightmapping 【灯影视图窗口】
Occlusion Culling 【遮挡剔除窗口】
Console 【控制台】

Help【帮助】

About Unity... 【关于 Unity】
Enter serial number... 【输入序列号】
Unity Manual 【Unity 手册】
Reference Manual 【参考手册】
Scripting Manual 【脚本手册】
What’s New 【最新功能】
Unity Forum 【Unity 论坛】
Unity Answers 【Unity 在线答疑】
Unity Feedback 【Unity 使用信息反馈】
Welcome Screen 【欢迎窗口】
Check for Updates 【查看升级】
Release Notes 【发行说明】
Report a bug【软件缺陷反馈】