Unity 常用方法和类笔记整理31-50

31、 GetButtonXXX相关事件监测:
Virtual Button:虚拟按键,即定义的一些按键
Alt positive Button:mouse 0代表鼠标左键
Unity 常用方法和类笔记整理31-50
32、 使用GetAxis得到轴的值得变化来控制移动:
GetAxis 获得轴,模拟加速运动;
GetAxisRaw 按下立刻运动;
33、 屏幕坐标系和鼠标坐标系:
nput.anyKeyDown:
检测鼠标或者键盘任何键的按下;
Input.mousePosition:
检测鼠标在屏幕上的位置,z轴恒为0;
34、 Vector2中的变量有哪些:
magnitude:取得向量的长度
normalized:对向量进行单位化
sqrMagnitude:取得向量的长度的平方
35、 向量是结构体:
向量是结构体,如要修改,需整体修改。如
transform.position=new vector3(3,3,3);
如想要只修改物体的X坐标,直接调用transform.position.x是错误的。需:
Vector3 pos=transform.position;
pos.x=10;
transform.position=pos;
36、 二维向量Vector2中的静态方法:
Vector2.Equals;判断两个向量是否相等。相等返回true,不相等返回flase.
Vector2.Normalize();将向量单位化,改变向量。
Vector2.Angle();用来取得两个向量的夹角。
Vector2.Distance(Vector2 a,Vector2 b);返回a,b两个点的距离。
Vector2.Dot()点乘。
Vector2.MoveTowards(Vector2 a,Vector2 b,float c);物体从a移动到b,c是速度。
37、 测试Vector2中的静态方法的使用:
Unity 常用方法和类笔记整理31-50
38、 关于三维向量Vector3:
Vector3.MoveTowards();作用与Vector2的相同,用于移动。
Vector3.Normalize();单位化向量。
Vector3.Project(Vector3 a,Vector3 b);返回值为a在b身上的投影。
Vector3.Reflect(Vector3 a,Vector3 b);反射向量,a为入射光,为镜子的方向,返回值为出射光
Vector3.Slerp(Vector3 a,Vector3 b,Vector3 c);插值,由a转到b,c为速度
39、 对向量的加减乘除操作:
Operator -:一般是两个位置相减,得到一个向量
Operator*:对数进行操作,有的时候可以表示速度
Operator/:对数进行操作,有的时候可以表示速度
Operator+:对两个向量进行操作
40、 使用Random生成随机数:
Random.InitState();随机数的种子,相同的种子,随机数生成序列相同。
41、 其他随机生成方法介绍:
Random.value;随机生成0到1之间的小数,包括0和1;
Random.state:获取当前的状态, 也就是获取种子;
Random.rotation:随机获取四元素,获得一个朝向;
Random.insideUnitCricle:随机以半径为一的圆内生成位置;二维位置
Random.insideUnitSphere:随机在一个球体内生成
42、 Quaternion四元数介绍以及和欧拉角的区别:
当物体旋转时,当其绕x轴或z轴旋转时是绕其自身x轴和z轴旋转,当其绕y轴旋转时,是绕世界坐标的y轴旋转。
Quaternion.rotation;四元数。
Quaternion.eulerAngles;将一个四元数转变成欧拉角。也可直接设置物体的旋转。
Quaternion.Euler将欧拉角转换为四元数。
43、 Quaternion中的LookRotation方法:
Quaternion.LookRotation(position1-position2)
Quaternion.Euler(new vector3)
44、 Quaternion中的Lerp和Slerp插值运算:
Quaternion.Slerp();插值
Quaternion.Lerp();插值
45、 Rigidbody刚体组件中position和Move Position控制移动:
Rigidbody.position();可通过刚体修改物体的位置,且这种方法运行更快
Rigidbody.MovePosition()控制物体平滑地运动(远距离使用)
46、 通过刚体控制游戏物体旋转 :
Rigidbody.rotation();可通过刚体控制物体的旋转,且这种方法更快
Rigidbody.MoveRotation();更加平滑的旋转,(长时间大角度连续旋转使用)。
47、 通过AddForce控制运动:
playerRgd.AddForce(Vector3.forwardforce)
playerRgd.position=playerRgd.transform.position+Vector3.fprward
Time.deltaTime10
playerRgd.MovePosition(playerRgd.transform.position+Vector3.fprward
Time.deltaTime*10)

48、 Camera类的学习和常用方法:
得到Camera组件:直接找到MainCamera
或者Static Variables里的main
Unity 常用方法和类笔记整理31-50
49、 通过Application获取datapath:
Application.datapath工程所在路径
Application.streamingAssetsPath可通过文件流来读取数据(不会被打包)
Application.persistentDataPath
Application.temporaryCachePath临时缓冲数据
50、 Application中的常用静态变量和静态方法:
Application.identifier标识
Application.companyName公司名
Application.productName产品名(安装完成显示的名字)
Application.installerName安装包的名字
Application.installMode安装模式
Application.isEditor用来判断是否在编辑器模式下运行。
Application.isFocused用来判断是否处于焦点
Application.isMobilePlatform用来判断当前是否处于移动平台上运行
Application.isPlaying用来判断是否正在运行(在编辑器模式下