Unity3D学习笔记【01】

改变场景视图角度的快捷键:
按鼠标中键平移视图;
按鼠标左键+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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值