Unity基础剖析.docx

上传人:b****3 文档编号:3539802 上传时间:2022-11-23 格式:DOCX 页数:9 大小:287.78KB
下载 相关 举报
Unity基础剖析.docx_第1页
第1页 / 共9页
Unity基础剖析.docx_第2页
第2页 / 共9页
Unity基础剖析.docx_第3页
第3页 / 共9页
Unity基础剖析.docx_第4页
第4页 / 共9页
Unity基础剖析.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

Unity基础剖析.docx

《Unity基础剖析.docx》由会员分享,可在线阅读,更多相关《Unity基础剖析.docx(9页珍藏版)》请在冰豆网上搜索。

Unity基础剖析.docx

Unity基础剖析

MonoBehaviour类常用的方法

Awake()当一个脚本实例被载入时被调用

Start()仅在Update函数第一次被调用前调用

OnEnable()当脚本处于可用被调用。

Update()当MonoBehaviour启用时,每一帧调用一次FixedUpdate()固定时间间隔调用

LateUpdate()每一帧调用一次,当Update执行完后被调用//总结//1.按照后添加的脚本先执行的顺序,依次执行每个脚本的

OnGUI()渲染和处理GUI事件时调用

OnDisable()当脚本组件不可用被调用

OnDestroy()当脚本组件被销毁时被调用

tag可读写属性,游戏物体的tag

name可读写属性,游戏物体的name

FindGameObjectsWithTag(stringtag)静态方法,返回所有tag标识的物体,返回值是个数组

TGetComponent()泛型实例方法,得到T类型的组件(强烈建议使用)SetActive(boolvalue)实例方法,设置游戏物体是否是活动的

FindWithTag(stringtag)静态方法,得到tag标识的游戏物体

Transform组件变量

position世界坐标系中transform的位置

localPosition相对于父物体的位置

eulerAngles欧拉角,旋转的角度

rotation世界坐标系中变换的四元数

parent物体父物体的Transform组件

root物体最高层次父物体的Transform组件

Transform组件方法

voidTranslate(Vector3translation)

使当前对象朝一个方向移动

voidRotate(Vector3eulerAngles)

按给定的欧拉角进行旋转

 

voidRotateAround(Vector3point,Vector3axis,floatangle)绕point点沿axis轴旋转angle度

TransformFind(stringname)通过名字查找子物体

voidLookAt(Transformtarget)使物体朝向target点

 

Time类

time从游戏开始到现在所用的时间(只读)

deltaTime获取上一次Update()方法执行的时间到本次执行Update()方法时间的差值

fixedDeltaTime在物理和其他固定帧速率进行更新上一帧所消耗的时间,以秒计算

timeScale表示时间缩放,正常时间为1

Vector3(三维向量)

normalized标准化向量,方向不变,长度为1(只读)

magnitude向量长度(只读)

sqrMagnitude向量长度平方(只读)

forwardVector3(0,0,1)的简码,Z轴正方向

upVector3(0,1,0)的简码,Y轴正方向

rightVector3(1,0,0)的简码,X轴正方向

voidNormalize()标准化向量,长度为1

staticVector3Lerp(Vector3from,Vector3to,floatt)两个向量之间的线性差值

staticfloatAngle(Vector3from,Vector3to)

两个向量之间的夹角

staticfloatDistance(Vector3a,Vector3b)两向量之间的距离

 

Quaternion(四元数)

identity该四元数无旋转,常用在代码创建对象

LookRotation创建一个旋转,沿着forward(z轴)并且头部沿着upwards(y轴)的约束注视

Mathf

Lerp两个浮点数之间进行插值

Clamp返回一个限制值

Sin计算并返回浮点型的正弦值

Cos计算并返回浮点型的余弦值

Abs计算并返回指定参数的绝对值

Max返回两个值之中最大的值

Min返回两个值之中最小的值

Sqr返回平方根PI圆周率

代码实现父子关系

通过属性指定父物体

transform.parent=父物体的transform;

通过方法指定父物

transform.SetParent(父物体的transform);

键盘输入常用的方法

GetKey按键按下期间返回true

GetKeyDown按键按下的第一帧返回true

GetKeyUp按键松开的第一帧返回true

Input类------键盘输入

floathor=Input.GetAxis("Horizontal");

floathor=Input.GetAxis

Input类------鼠标的属性和方法

mousePosition得到当前鼠标位置

GetMouseButtonDown鼠标按键按下的第一帧返回trueGetMouseButtonUp鼠标按键松开的第一帧返回true

GetMouseButton鼠标按键按下期间一直返回true

GetAxis(“MouseX”)得到一帧内鼠标在水平方向的移动距离

GetAxis(“MouseY”)得到一帧内鼠标在垂直方向的移动距离GetAxis(“MouseScrollWheel”)获取鼠标滚轮的值

场景物体的鼠标事件

OnMouseDown鼠标在Collider之上,按下鼠标,该事件即被触发OnMouseDrag鼠标在Collider之上,当鼠标拖动时触发

OnMouseEnter移动鼠标进入Collider区域的时候,该事件被触发OnMouseExit移动鼠标移出Collider区域的时候,该事件被触发OnMouseOver鼠标处于Collider之上时,每帧都会调用该事件OnMouseUp当鼠标弹起的时候,该事件被触发调用OnMouseUpAsButton当鼠标在同一个Collider上按下又弹起的情况下会触发调用该事件

 

刚体组件常用的属性

velocity刚体的速度

angularVelocity刚体的角速度

drag物体的阻力

angularDrag物体的角阻力

mass刚体的质量

useGravity是否受重力影响

isKinematic是否使用动力学

freezeRotation是否冻结旋转

collisionDetectionMode碰撞检测模式

position刚体位置

rotation刚体旋转

 

钢体组件常用的方法

AddForce给刚体添加一个力

AddExplosionForce给刚体添加一个力,模拟爆炸效果AddForceAtPosition在指定的位置添加一个力

AddRelativeForce添加相对力

AddRelativeTorque添加相对力矩

MovePosition使用刚体移动物体到指定位置

碰撞器的回调方法

OnCollisionEnter(Collisionother)碰撞开始一瞬间被调用

OnCollisionStay(Collisionother)一直保持碰撞状态时被调用

OnCollisionExit(Collisionother)碰撞分离的一瞬间被调用

触发器的回调方法

OnTriggerEnter(Colliderother)进入触发器的时候调用一次

OnTriggerStay(Colliderother)处于某个触发器之中的时候持续调用

OnTriggerExit(Colliderother)退出触发器的时候调用一次

射线

Rayray=newRay();

origin射线发射的原点

direction射线发射的方向

 

2D碰撞和触发的回调方法

OnCollisionEnter2D(Collision2Dother)刚进行碰撞时调用OnCollisionStay2D(Collision2Dother)一直保持碰撞时调用OnCollisionExit2D(Collision2Dother)碰撞结束时调用OnTriggerEnter2D(Collider2Dother)刚触发时调用OnTriggerStay2D(Collider2Dother)保持触发状态时调用OnTriggerExit2D(Collider2Dother)触发结束时调用

GUI自动布局类方法

Lable创建一个自动布局的标签

Box创建一个自动布局的Box

Toggle创建一个自动布局的开头

HorizontalSlider创建一个水平滑动条

Toolbar创建一个工具栏

GUI自定义布局类方法

Button创建按钮,点击执行按钮事件,只执行一次

RepeatButton鼠标点击不松开,会一直执行按钮事件

TextArea创建多行文本区域,编辑字符

SelectionGrid创建按钮网格

BeginScrollVie滚动视图的开始

EndScrollView滚动视图的结束,要与Begin成对出现

Window创建一个弹出窗口

UGUI的回调方法

voidOnPointerEnter(PointerEventDataeventData)IPointerEnterHandle

鼠标进入

voidOnPointerExit(PointerEventDataeventData)IPointerExitHandler

鼠标离开

voidOnPointerDown(PointerEventDataeventData)IPointerDownHandler

鼠标点下

voidOnPointerUp(PointerEventDataeventData)IPointerUpHandler

鼠标抬起

voidOnPointerClick(PointerEventDataeventData)IPointerClickHandler

鼠标点击

voidOnBeginDrag(PointerEventDataeventData)IBeginDragHandler

开始拖拽

voidOnDrag(PointerEventDataeventData)

IDragHandler

拖拽中

voidOnEndDrag(PointerEventDataeventData)

IEndDragHandler

结束拖拽

Application类常用方法和变量

platform返回游戏运行平台

runInBackgruond应用程序是否在后台运行

dataPath游戏数据文件夹的路径

persistentDataPath一个持久数据目录的路径

temporaryCachePath临时数据/缓存目录的路径

loadedLevel加载的关卡(场景)索引

CaptureScreenshot截屏,以PNG格式存在路径

filenameOpenURL在当前设备中调用浏览器打开网页

Quit退出应用程序

Animator类

SetFloat/GetFloat设置/获取float类型参数的值

SetTrigger设置一次触发

GetCurrentAnimatorStateInfo获取当前层的状态机信息

IsInTransition判断是否在执行动画过度

StringToHash返回状态机所代表的Hash值

使用代码控制状态机

首先,需要得到状态参数的散列表ID和Animator组件

获取状态参数的散列表ID

intspeedFloat=Animator.stringToHash(“Speed”);

intdeadBool=Animator.stringToHash(“Dead”);

然后,通过SetXxxxx函数改变状态参数的值

改变Float类型状态参数的值

animator.SetFloat(speedFloat,2.0f);

改变Bool类型状态参数的值

animator.SetFloat(deadBool,true);

NavMeshAgent(导航)

autoTraverseOffMeshLink到达跳跃点是否执行跳跃

currentOffMeshLinkData当前连接数据

desiredVelocity期望速度

destination寻路目标

remainingDistance到达目标的剩余距离

stoppingDistance距离目标点队员停止

updatePosition自动更新位置

updateRotation自动更新旋转

粒子系统

Clear清除粒子系统里面的所有粒子

Emit立即发射指定数量的粒子

IsAlive判断系统中是否还有粒子(或者产生更多粒子)

Pause暂停粒子系统的播放

Play播放粒子系统

Simulate在给定的时间周期内快进仿真粒子系统,然后暂停它

Stop暂停播放粒子系统

 

实现碰撞的方法

voidOnParticleCollision(GameObjectother)

{

Rigidbodybody=other.GetComponent.();

if(body)

{

Vector3direction=other.transform.position-transform.position;

direction=direction.normalized;

body.AddForce(direction*5);

}

}

Linerenderer常用方法

SetColors设置颜色

SetPosition设置点的位置

SetVertexCount设置定点数

SetWidth设置宽度

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1