Unity基础剖析文档格式.docx
《Unity基础剖析文档格式.docx》由会员分享,可在线阅读,更多相关《Unity基础剖析文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
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.<
Rigidbody>
();
if(body)
{
Vector3direction=other.transform.position-transform.position;
direction=direction.normalized;
body.AddForce(direction*5);
}
}
Linerenderer常用方法
SetColors设置颜色
SetPosition设置点的位置
SetVertexCount设置定点数
SetWidth设置宽度