Unity3D笔记第十五天——Unity2D技术

来源:互联网 发布:java的对象是什么 编辑:程序博客网 时间:2024/05/23 18:21
Unity2D技术
2D工程创建
这个选项并不是非常重要的,如果选择了2D项目,那么默认创建的摄像机就会变成了正交摄像机,而选择3D项目,默认摄像机会是透视摄像


机,需要手动修改。
修改默认设置,通过在Inspector选择Edit\Project Settings\Editor打开Editor Settings。
在Default Behavior Mode选项中,选择2D。
Scene View(场景视图)的2D模式
点击2D切换按钮启用2D模式:
贴图格式
Texture type,默认选择是Sprite类型,然后在类型的下面,有一个Sprite Mode选项,其中默认是Single单个图片的,Multiple是多个图片


。点击SpriteEditor,打开Sprite编辑窗口。
2D场景搭建
方法一:从Project视图中拖拽相应的Sprite到Hierarchy视图中或者场景视图中。
方法二:依次点击Gameobject->2DObject->Sprite,然后通过SpriteRender应用相对应Sprite贴图。
Sprite Renderer 精灵渲染器
Sprite:欲渲染的精灵对象。精灵对象的产生可以在“Texture importer”面板设置。
Color:该渲染网格的顶点颜色
Material:用来渲染精灵的材质球
Sorting Layer:用于精灵优先渲染的图层。
Order In Layer:精灵基于其设定层的优先级来渲染。值越小渲染顺序越靠前。
Rigidbody2D属性
Mass:0代表着无限大,也就是“静态刚体”。范围:0.001到100000。
Linear drag:线性阻尼,也就是物体在运动过程中收到的阻力。
Angular Drag:角度阻尼系数,刚体在旋转过程中受到的阻力。
Gravity Scale:重力缩放,控制着重力的大小,其数值范围为-100000到100000。
Fixed angle:固定角度,指刚体在运动过程中保持固定的角度,这就相当于关闭了刚体的选择功能。
Is Kinematic:关节,控制刚体是否变为运动学物体,就是我们的刚体不在受物理引擎的控制,而受Transform或者是动画等等的控制。
Sleeping Mode:睡眠,Unity会临时把处于静止状态的物理模拟去除,这样主要是节省计算资源。
Never Sleep :永远不睡眠。
Start Awake:awake时就进入睡眠。
Start Asleep:立即进入睡眠。
Collision Dectection:碰撞发现。
Discrete:正常状态下的检测。
Continuous:继续性检测。
2D碰撞器
Physics2D中碰撞器有以下四种类型:
BoxCollider2D:盒状碰撞器,一般为矩形; 
CircleCollider2D:圆形碰撞器;
EdgeCollider 2D:边缘碰撞器; 
PolygonCollider2D:多边形碰撞器;
2D碰撞器
Material:定义刚体表面的一些物理特性,例如摩擦力,柔软程度等,由此决定了它对其他物体的反弹能力等。
Is Trigger:属于3D碰撞的都应该知道这个属性的作用。勾了就会产生的是刚体碰撞。不勾就是触发碰撞,此时碰撞的两个物体之间可以不


使用刚体去进行驱动。


2D碰撞事件
Unity2D物理系统中,同样包含碰撞事件和触发事件。 
碰撞事件的检测方法:
OnCollisionEnter2D()方法:物体开始发生碰撞时,系统自动调用该方法。
OnColisionStay2D()方法:物体碰撞时在接触过程中,系统每帧都会调用该方法。
OnColisionExit2D()方法:物体碰撞结束或刚体停止触碰时,系统自动调用该方法。


2D触发事件
物体发生触发也是三种状态:进入触发,触发中,触发结束。相关的检测的系统方法如下:
OnTriggerEnter2D()方法:物体开始发生触发时,系统自动调用该方法。
OnTriggerStay2D()方法:物体触发时在接触的过程中,系统会每帧调用该方法。
OnTriggerExit2D()方法:物体触发结束或刚体停止触碰时,系统自动调用该方法。


UGUI介绍
Unity公司经过不断的测试,耗时约2年的时间终于推出了全新一代的UI系统。更灵活、更快速、更方便。


Unity4.6 全新UI 特点:
与Unity 引擎结合的更紧密。
     使用Unity 的Animation 与Animator 做uGUI 的动画系统。
 更加强大与易用的屏幕自适应。
简单理解:开发的手机游戏都能够自适应屏幕分辨率
 更加简单的UGUI 的深度处理机制。
在Canvas中,以父对象的上下循序,决定是否被“覆盖”的顺序,无需人工进行“层”的设定。
 完全自动化的图集打包机制。
NGUI是必须先打出图集然后做界面,还要考虑UI图集的分辨率。而UGUI完全不用考虑图集的概念。自动完成全新布局系统、强大与简单结合


的UI 控件、更容易的事件处理系统、2D 系统与 GUI 系统的完美耦合。


UI控件
uGUI自带了以下控件,其中Image用于显示Sprite,Raw Image用于显示Texture,Image Mask和Rect Mask用于clipping。所有控件都是


MonoBehaviour,可以直接从Inspector里拖到其它GameObject上。


Rect  Tool小工具
Rect Tool功能:改变控件的位置,改变大小,旋转。
提示:Rect Tool不单单专用于操作UI控件,实际上它可以被用于操作任何游戏对象。只不过这个工具是在UI系统加入的时候一并被添加进来


的。


Rect Transform
全新的布局系统:采用全新的Rect  Transform组件实现强大的UI布局。
Rect Transform继承自Transform,是uGUI最显著的特点。Empty GameObject加入一个UI Component时,Transform会自动转换为Rect 


Transform。


Anchors锚点
Anchor属性是重点,该用于表示UI控件的锚点,在Scene视图中使用4个小三角表示。锚点的4个小三角依次与UI控件四边形边框的四个角对应


,且在父对象的大小发生改变时,锚点会令子对象自动完成自适应操作。


Anchor Presets
Anchor Presets属性是一个“样子特殊的下拉列表”,此属性位于Rect Transform组件的左上角,单击鼠标正方形即可打开Anchor Presets


属性


Rect Transform
Pos (X, Y and Z)
相对锚点 anchors 的矩形枢轴 pivot 点的位置
Width/Height
矩形的宽高
Left, Top, Right, Bottom
矩形的边缘相对于其锚点的位置。这可以被认为是内部由锚点定义的矩形的填充。当锚点分离时 (见下文),将代


替 Pos 和 Width/Height 显示
Anchors Min/Anchors Max
作为父矩形的大小的一小部分定义的本矩形的右上角锚点。 0 , 0 对应于锚定到父级的左下角, 1 , 1 对应于锚定到父级的右


上角。
pivot
矩形旋转围绕着的点的位置 pivot 点,定义为本身的矩形的大小的几分之一为枢轴点的位置。 0 ,0 对应于左下角,而 1 ,1 对


应于右上角
Rotation
对象围绕其枢轴 pivot 点沿 X 、 Y 和 Z 轴的旋转角度
Scale
应用于该对象在 X 、 Y和 Z 的维度中的缩放比例


Canvas
首先在Hierarchy中创建画布(Canvas)
GameObject-->UI-->Canvas,或者创建其他的控件默认出现Canvas。Canvas 画布是摆放容纳所有的 UI 元素的区域。画布是一个游戏对


象上的某个Canvas component 组件,所有的 UI 元素必须是这个画布的子对象。
Canvas组件三种渲染方式。
Screen Space-overlay 此模式不需要UI摄像机,UI将永远出现在所有摄像机的最前面。
Screen Space-Camera此模式需要提供一个UICamera,它支持前方显示3D模型与粒子系统等。
World Space 这个就是完全3D的UI。


Canvas Scaler组件
属性UI  
Scale Mode:Constant Pixel Size:固定像素尺寸
Scale With Screen Size :以宽度为标准缩放(屏幕自适应特征)
    Screen  Match Mode:屏幕匹配模式
     1->Match Width Or Height 匹配宽度或高度
     2->Expand  扩展
     3->shrink 收缩
Scale Factor:控件缩放因子
Constant Physical Size:固定物理尺寸


Graphic Raycaster
每个Canvas都有一个Graphic Raycaster,用于获取用户选中的uGUI控件。多个Canvas之间通过设置Graphic Raycaster的priority来设置事


件响应的先后次序。当Canvas采用World Space或Camera Space时,Graphic Raycaster的Block选项可以用来设置遮挡目标


Event Systerm
EventSysterm控件具备三个组件,它是在创建Canvas控件的同时,系统自动添加的组件系统。
Event System
   事件系统组件
Standalone  Input Module
   独立输入模块
Touch Input Module
    触控输入模块


Panel控件
Panel为“面板”控件,主要功能就是一个“容器”。
通过Panel控件,可以更加合理与方便的整体移动与处理一组控件。
一个功能完备的UI界面,往往会使用多个Panel容器控件。
       Source Image 资源图像
       Color  颜色
       Material  材质球


Button控件
Interactable: 是否启用(具有交互作用)
Transition: 过渡方式, 改变颜色、更换贴图或自定义动画。
Color Tint 颜色色彩(默认状态)
Sprite Swap:精灵交互,需要使用相同的功能不同状态的贴图。
Animation:动画,最复杂,效果最绚丽
Button控件事件响应
在Button组件中有一个OnClick()选项,这就是Button控件处理事件的重要机制。
脚本中的导入命名空间:using UnityEngine.


Text控件
Font:字体
Font Style:  字体风格
Font Size:  字体尺寸
Line Spacing: 行间距
Rich  Text: 富文本
Paragraph:段落
Alignment:调整
Horizontal Overflow:水平溢出
Vertical  Overflow:竖直溢出
Best  Fit:最好匹配


Image控件
Images可以作为 uGUI 精灵导入,通过从TextureType选择设置Sprite (2D / uGUI)。uGUI用Image控件显示图片,图片就是一个Sprite.
Source Image:贴图资源
Color:贴图颜色
Preserve Aspect:图像的高度与宽度保持原始比例还是重新调整
Set Native Size:设置贴图原始大小


Raw lmage控件
Image组件需要一个精灵,但Raw Image需要的是纹理 (无边界等)。使用Raw Image是有必要,除非为图像会在大多数情况下适用。
Raw Image组件与Image组件类型,用于向玩家显示“不可交互”的图片信息,常作为游戏场景的装饰。但是这两个组件属性上并不完全一致



Texture:指定Raw Image组件要显示的图片。
提示 :Raw Image组件所显示的图片,可以是任何类型,而不单单只是Sprite类型。
UV RECT:令图片中的一部分显示在Raw Image组件里。X和Y属性指定图片左下角的位置,W和H属性指定图片右上角的位置。类似于裁剪。


Slider   滑动控件
滑块控件允许用户通过拖动鼠标从一个预先确定的范围选择一个数字值。熟悉的例子:包括在游戏中困难设置和在图像编辑器中亮度设置。


Scrollbar滚动条
滚动条控件允许用户滚动图像或其他太大的,可以完全看到的视图。请注意类似的滑块控件用于选择数字值,而不是滚动。熟悉的例子包括


在一个文本编辑器的一侧和垂直和水平两竖线用于查看较大的图像或地图的一个部分的垂直滚动条。


Input   Field输入文本控件
Input Field输入字段不是一个可见的 UI控件而是在以使TextControl控件的文本可编辑。
0 0
原创粉丝点击