您的位置:首页 > 移动开发 > Unity3D

Unity3D学习笔记【01】

2014-03-23 11:46 232 查看
改变场景视图角度的快捷键:
按鼠标中键平移视图;
按鼠标左键+Alt键旋转视图;
按鼠标右键+Alt键或滑动鼠标滑轮推拉视图;
按F键可以快速锁定选中的目标。

Unity只允许在空的文件夹内创建新工程。

问题:脚本名词有空格的话,在菜单的【Component】->【Scripts】里面找不到脚本。

只有将关卡添加到Scenes In Build里面才能被集成到最后编译的游戏中。

Debug.Log(“ 打印内容”);
Debug.LogError(“ 打印的内容显示红色”);

设置断点:MonoDevelop -> Run -> Attach to Process -> Unity Editor
F5越过当前断点。

【Open Editor Log】看资源分配情况。

我的开发环境是Windows 7下的Unity 4.3.4f1 + Visual Studio 2012。

发现【Extenrnal Tools】指定VS 2012无效,解决方法点这里

简单来说就是:
1、在VS 2012的这个目录Common7\IDE下面新建一个.bat文件;
2、在这个.bat文件里面写入start "" %*
3、在【Extenrnal Tools】指定这个.bat的路径。



策划需要对游戏中的数值进行计算和评估,它是保证游戏平衡性的关键。

关卡编辑工作主要都是在Unity的编辑器中完成的。

Unity程序员的主要工作就是编写脚本。

在Unity中,每个游戏中的物体都可以称为是一个游戏体(Game Object)。

Unity中的游戏可以拥有多个组件(Component)。组件可以是一个脚本,一个模型,一个物理碰撞体,一张贴图,一个粒子发射器,或是一个声音播放器。有了这些组件,游戏体就有了相应的功能,程序员可以通过编写脚本控制游戏体及它所拥有的组件,从而实现游戏的逻辑。

Unity不但能开发单人游戏,也能开发多人游戏。它内置了RakNet(一个网络游戏开发包),适用于快速开发多人游戏。

Unity支持几乎所有高端的3D动画软件(如3ds Max、Maya等),将制作的模型和动画导出为FBX格式供Unity使用。

Unity中,几乎所有的关联操作都可以通过拖动的方式完成。

?【P18】Shader设置:
【Transparent】->【Cutout】->【Diffuse】,材质将带有Alpha信息;
【Transparent】->【Diffuse】,可以获得半透明效果,但在某些情况会出现Alpha乱序的情况;

?【P18】【Windows】->【Animation】->【Create
New Clip】
Material、Main Text.offset.v

选择Main Camera,【GameObject】->【Align With View】是摄像机视角与当前视图一致。

脚本是实现游戏逻辑的核心,它本身并不能独立运行,它必须作为某个游戏体的组件才能运行。

只有继承自MonoBehaviour的类才能作为Unity脚本组件使用。

自定义脚本在菜单栏中的位置:
[AddComponentMenu("MyGame/Player")]

Update函数每一帧都会被调用。

Input是一个包装了输入功能的类,它包括几乎所有的键盘、鼠标或触控操作函数。

Time.deltaTime表示每帧的经过时间。

this.transform调用的是游戏体的Transform组件。

Vector3的三个参数表示在x、y、z三个方向上的移动距离。

Start函数会在对象被实例化时自动调用一次。

MonoBehaviour的派生类不能使用构造函数初始化。

只有public类型的属性才能在编辑器窗口实例化。

Destroy函数将游戏体销毁。

对于需要重复使用的游戏体,我们需要将其制作成Prefab。

Unity的游戏体只能使用Instantiate实例化,必能使用new。

?【P29】this.transform.Rotate用来旋转游戏体。Rotate的用法??

碰撞体【Box Collider】Is Trigger使其具有触发作用。

刚体【Rigidbody】Use Gravity重力影响;Is Kinematic使游戏体的运动不受物理模拟影响。

所有需要参与物理计算的游戏体都需要有一个刚体组件才能正常工作。

指定Tag标识,【Edit】->【Project Settings】->【Tags】
用途:xx.tag.CompareTo("xxx")。

OnTriggerEnter()在碰撞体互相接触时会被触发。

virtual虚方法,可以在派生类中重写这个方法。
override表示这是一个重写的方法。

Awake继承自MonoBehaviour,它会在游戏体实例化时执行一次,并先于Start方法。

FindGameObjectWithTag获得游戏体实例。

Quaternion.LookRotation在初始化时朝向主角方向。

.uniytpackage文件时Unity专用的资源包。

Audio Source凡是需要发声的游戏体,必须有这个组件。

AudioSource.PlayOneShot(AudioClip) 播放声音。

Random.value生成一个0.0到1.0之间的随机数。

在场景中可以看到,但是在游戏中不能看到的,放在一个Gizmos文件夹里面。

OnGUI是一个特殊的函数,专门用来画UI界面。

Application.Quit用来退出当前程序。

Application.LoadLevel用来读取下一个关卡。

默认在场景摄像机上有一个Audio Listener组件,3D声音的音量取决于声音源与摄像机的距离。

Static Batching会将静态模型整合,但有时会使游戏尺寸变大,如果不清楚优化原理,建议慎重使用这个功能。

?【51】Rendering Path中可以设置3种渲染模式:

Deferred Lighting\Forward Rendering\Vertex Lit
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity3d unity