Unity基础知识学习笔记一

时间:2023-03-08 15:21:07
Unity基础知识学习笔记一
1,Unity 4.5.4这个版本,在打包ios应用程序的时候。会生成一个xcode工程,但是这个工程无法在xcode6上变异,无法生成ios8上发布。所以unity在ios8发布3天内就发了4.5.5版本,4.5.5就是为了解决在xcode 上无法编译的bug.
4.6多了2d开发系统。既:UGUI。
2,面板:Scene ,Game, AssetStore,Inspector,Hierarchy,Project,Profiler,Animation,
3,光栅化图形,矢量化图形。
4,图像三原色:红绿蓝,阿尔法通道:阿尔法为零是,表示完全透明。
光栅化图形:压缩的图形,为有损的图形。
矢量图:无损的图形。
5,分格动画 
6,帧速率:每秒刷新的图片的帧数。游戏动画60,电影24。
8,网格
11,向量的点乘、叉乘以及标准化的意义:
  • 点乘描述了两个向量的相似程度,结果越大向量越相似,还可以表示投影。
  • 叉乘得到的向量垂直于原来的两个向量。
  • 标准化向量:用在只关心方向,不关心大小的的时候。
12,简述四元数的作用:四元数用于表示旋转。
          四元数对欧拉角的优点:
13,.net和mono 的关系:
          mono是.net的一个跨平台的工具,类似于java虚拟机,java本身不跨平台,但是运行在虚拟机上就可以实现跨平台。.net 只能在windows下运行,mono可以实现跨平台跑。
layout布局,地形系统

基本游戏对象:
1,摄像机游戏对象
1,脚本文件名和类名必须一致,要不找不到方法。
2,每个游戏对象都有transform.
3,Deferred Listthing 在移动活老的版本里面,不支持。
4,Render mode 和 摄像机的Renfering path有关系,只有当Renfering path为forward的时候,Render mode 的渲染才会发生作用。
1,所有的游戏对象都有自己的渲染器成员属性
     当要修改游戏对象的材质的时候,使用渲染器对象。
2,定时器
  1. void Start () {
  2. InvokeRepeating("LaunchProjectile", 1,5);//1秒后调用LaunchProjectile () 函数,之后每5秒调用一次
  3. }

1,游戏开发流程
     原型阶段,Alpha版阶段,beta版阶段,产品阶段。
     原型:实现游戏的必要技术验证。产出:一个最简单的只有1关的或一个场景的游戏原型。
     Alpha版本:完善游戏角色的逻辑,定义完善的数据机构和关卡配置,制作游戏UI,菜单配置。
          产出:一个能玩若干关的版本。
     Beta版本:完善逻辑,批量制作美术,关卡,细化UI。加IAP,GameCenter.
           产出:完整的可玩版本,具备所有的游戏内容,关卡。    
           (IAP(In Application Programming)指在应用中编程,为了在产品发布后可以方便的通过预留的通信口对产品进行更新升级) 
     产品:测试,修改Bug,图标,截图,多语言支持,视频录制,准备上线
               产出:可以提交上线的APP
2,常用网站:官网,Unity圣典论坛, 游戏蛮牛,Youtube,MSDN.
3,脚本是一种组件,为游戏对象添加功能,并且是一个类,继承 MonoBehaviour。继承自 Behaviour 继承自Component,继承自Object。
继承组件类,才能是组件。
4,FixedUpdate,固定的,修正过的update,
LateUpdate,在Update执行后,再执行LateUpdate.
5,Unity3D脚本的运行周期:Awake,OnEnable,Start,Update,FixedUpdate,LateUpdate,OnGUI,OnDisable,OnDestroy
执行顺序为:Awake(),OnEnable() ; Start(); 其中 OnEnable()可以在同一生命周期内执行多次。
6,MonoBehavior类、Unity 脚本类、GameObject类、GUIText类
7,Unity脚本类:Runtime Classes,Editor Classes。(运行时类、可编辑类)。
8,GameObject类方法:SetActive(bool value)、Find(String name)、FindWithTag(string tag)、FindGameObjectsWithTag(string tag)。
9,  找子对象GameObject.transform.Find();
     找兄弟对象 GameObject.Find()
     找组件:实例对象.GetComponent<GUIText>()
10,Unity3D支持的图形文件格式有 PSD, TIFF, JPG, TGA, PNG, GIF, BMP, IFF, PICT
11,Unity3d支持的视频格式 .mov, .mpg, .mpeg, .mp4, .avi, .asf这些格式
 12,wangpengwei.SendMessage (string name);
     在这个游戏对象及其祖先对象的所有MonoBehaviour中调用名称为methodName的方法。
     wangpengwei.BroadcastMessage (string name);
     在这个游戏物体上的所有MonoBehaviour中调用名称为name的对象。
     wangpengwei.SendMessageUpwards (string name);
          在这个游戏对象及其子物体的所有MonoBehaviour中调用名称为name的方法。Unity基础知识学习笔记一
双击,拖动 功能实现。
13,材质和用到的渲染器。 
  • renderer.material.color = Color.red;      直接调用get属性得到这个render对象。
  • this.renderer.material.color = Color.red; 通过此类对象访问器得到此类的对象,然后调用get属性得到对象。
  • transform.renderer.material.color = Color.red;先通过Get得到transfrom对象,再Get得到Redner,此中得到transform是访问了Internal method的方法,一个CIL方法,速度比较慢。
  • this.transform.renderer.material.color = Color.red;先得到此类对象,再得到tranform对象,再得到render。
     在开始的时候先用一个变量指向此引用对象,可以提高获取速度。private Transform myTransform;void Awake() { myTransform = transform;}