新印象unity第二、三章笔记--脚本与细节

1、了解坐标系

1.左手坐标系和右手坐标系

                          左手坐标系                                                         左手坐标系 

                          右手坐标系

2.unity中存在世界坐标系和本地坐标系,都是左手坐标系

2、多个物体的中心点:

  • pivot(轴心),对应某个物体的中心点
  • center(中心),多个物体的中心点

演示:

 

                                 pivbot                                                                center

地形后面再研究

3、组件

1.继承自MonoBehaviour类就是组件类,继而成为组件

2.常用脚本生命周期方法

方法名称调用时间
Awake

最早调用(一般用来实现单例模式)

OnEnable组件激活时,Awake之后调用一次
StartOnEnable之后调用一次
FixedUpdate固定频率调用一次(即每次调用时间间隔相同)
Update每帧调用一次
LateUpdateUpdate之后调用一次
OnDisable组件未激活时,Awake之后调用一次
OnDestroy被销毁时调用一次

3.多脚本执行顺序问题,修改顺序:脚本检查-Execution

4、物体的区分

  • Tag(标签)
  • Layer(图层)

区别:Layer偏向于不同种类或特性的物体

5、常用API

1.Vector3结构体部分常用属性方法:

属性方法详解
normalized返回一个标准化向量
magnitude返回向量的模
sqrMagnitude返回向量的模的平方
zero静态属性,返回Vector3(0,0,0)
one静态属性,返回Vector3(1,1,1)
forward静态属性,返回Vector3(0,0,1)
back静态属性,返回Vector3(0,0,-1)
left静态属性,返回Vector3(-1,0,0)
right静态属性,返回Vector3(1,0,0)
up静态属性,返回Vector3(0,1,0)
down静态属性,返回Vector3(0,-1,0)
Angle静态方法,返回两个向量的夹角
Distance静态方法,返回两个点的距离
Lerp静态方法,插值运算
Dot静态方法,返回两个向量的点乘
Cross静态方法,返回两个向量的叉乘

2.Quaternion常用属性方法:

属性方法详解
identity单位旋转,相当于无旋转
eulerAngles转换为欧拉角
Quaternion使用四分量构造四元数
Angle返回两个旋转之间的角度
Euler通过欧拉角创建四元数
LookRotation返回forward向量与参数向量旋转相同旋转相同的四元数,可以理解为看向某向量

3.Debug常用属性方法:

方法详解
Log在“控制台”输出一条信息
LogWarning在“控制台”输出一条警告信息
LogError在“控制台”输出一条错误信息
DrawLine在指定的起始点和终点之间绘制一条直线
DrawRay在指定的起始点向一个向量绘制一条直线

4.GameObject常用属性方法

属性方法详解
activeInHierarchy游戏物体在场景中真正的激活状态
activeSelf游戏物体在场景中设置的激活状态
tag游戏物体的标签
layer游戏物体的图层
transform游戏物体的Transform组件
name游戏物体的名称,为继承属性
AddCompoent添加组件
GetCompoent得到某个组件
GetCompoents得到多个组件
GetCompoentInChildren在子物体上得到组件
GetCompoentInParent在父物体上得到组件
SetActive设置物体的激活状态
Find静态方法,在场景中根据名称寻找游戏物体并返回
FindWithTag静态方法,在场景中根据标签寻找游戏物体并返回
FindGameObjectsWithTag静态方法,在场景中根据标签寻找多个游戏物体并返回
Destroy静态方法,移除并销毁一个游戏物体,一般用此方法实例化预制件,为继承方法
Instantiate静态方法,复制一个游戏物体,一般用此方法实例化预制件,为继承方法
DontDestroyOnload静态方法,设置此游戏物体在切换场景时不会销毁,为继承方法

activeInHierarchy和activeSelf区别:

  • activeInHierarchy:真正激活状态;
  • activeSelf:当前激活状态;

GameObject和gameObject区别:

  • GameObject是一个结构体或类(这部分没深究),包含了属性和方法;所有的游戏物件都是这个类型的对象;
  • gameObject是实例化的物体,在hierarchy栏上的每一个物体都可视为gameObject;跟C++中的this类似;
  • 脚本中的this,指的是脚本本身,而不是游戏物体本身; 

5.Time常用属性方法:

属性方法详解
deltaTime上一帧到这一帧所花的时间
fixedDeltaTime固定间隔时间
time游戏开始到现在所花的总时间
timeScale时间缩放值,默认为1.0

6.Mathf常用属性方法:

属性方法详解
Deg2Rad角度转弧度
Rad2Deg弧度转角度
PI圆周率
Abs绝对值
Sin/Cos/Tan反正弦/反余弦/反正切
Asin/Acos/Atan反正弦/反余弦/反正切
Clamp将数字限制到一个范围内
Clamp01将数字限制在0-1内
Lerp线性插值
Max返回最大值
Min返回最小值
Sqrt返回平方根

7.Application常用属性方法:

属性方法详解
dataPath游戏数据文件夹路径
persistentDataPath持久化游戏数据文件夹路径
streamingAssetsPathSteamingAssets文件夹路径
temporaryCachePath临时文件夹路径
runInBackground控制在后台时是否运行
OpenURL打开一个URL
Quit退出

8.Scene常用属性方法:

属性方法详解
buildIndex返回场景在Build Settings中的索引
isLoaded返回场景是否已经加载
name场景名称
path场景的相对路径
GetRootGameObject返回场景中的所有根游戏物体

9.SceneManager类的部分常用属性方法:

属性方法详解
sceneCount当前已加载场景的数量
CreateScene创建一个场景
GetActiveScene得到当前激活场景
GetSceneByName通过名称返回已加载场景
LoadScene加载场景
LoadSceneAsync异步加载场景
SetActiveScene激活场景
UnloadSceneAsync移除并销毁场景

10.Transform常用属性方法:

属性方法详解
position在世界坐标系中的位置
rotation在世界坐标系中的旋转
eulerAngles在世界坐标系中的欧拉角旋转
localPosition相对于父物体的位置
localRotation相对于父物体的旋转
localScale相对于父物体的缩放
localEulerAngles相对于父物体的欧拉角旋转
forward在世界坐标系中的自身坐标系的蓝色轴向量
up在世界坐标系中的自身坐标系的绿色轴向量
right在世界坐标系中的自身坐标系的红色轴向量
LookAt旋转物体使forward向量指向目标点,也就是看向某向量
Rotate旋转物体
RotateAround绕着某点旋转物体
Translate在某一方向与距离上进行移动
childCount当前Transform的子Transform个数
parent当前Transform的父Transform
DetachChildren解除所有子Transform的关联
Find查找对应子Transform
GetChild得到对应子Transform
IsChildOf是否为子Transform
SetParent设置父Transform

区分Transform与Vector3中的向量:

  • Transform的up向量永远为物体绿色轴的指向
  • Vector3的up向量为固定值

6、输入控制Input类

1.键盘和鼠标

属性方法详解
anyKey任何按键按下都返回true
anyKeyDown任何按键按下第一帧都返回true
inputString该帧的键盘输入
mousePosition鼠标指针当前的坐标位置
GetKey按下按键期间返回true
GetKeyDown按下按键瞬间返回一次true
GetKeyUp松开按键瞬间返回一次true
GetMouseButton按下鼠标键返回true
GetMouseButtonDown按下鼠标键瞬间返回一次true
GetMouseButtonUp松开鼠标键瞬间返回一次true

2.虚拟轴

Name:Horizontal (默认就是“Horizontal”,这里可以修改它的名字,一般不动它)

Negative Button :Left (负轴,键盘左键)

Positive Button:right (正轴,键盘右键)

Alt Negative Button :a (备用键负轴,A键)

Alt Positive Button :d (备用键正轴,D键)

Gravity :3 (松键后,目标值恢复为0的速度)

Dead : 0.001 (小于此数值为0,都被认为是0)

Sensitivity :3 (按键后,0到目标值的速度)

capture:启用后,按下反方向键,轴数值会设置为0

Invert :交换正轴和负轴的按键

type:虚拟轴类型

3.手机触摸
 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值