Unity整理内容方便初学者查看(第一篇_初识U3D及Transform)
来源:互联网 发布:苹果手机扫描软件 编辑:程序博客网 时间:2024/06/05 02:24
********unity*************
一、世界坐标 —— Global
物体坐标 —— Local
二、向量
A点----->B点 [A到B]计算等于: B-A
gameObject.name 是当前(挂载脚本的)游戏物体的名字
GameObject是类名
GameObject.Find("游戏名");
通过游戏名,找到该游戏物体,返回一个GameObject对象
GameObject.FindGameObjectsWithTag("Tag");
通过Tag值,找出所有属于Tag类的游戏物体,返回一个GameObject对象数组
因为是静态方法,所以找出的游戏物体顺序是反的.
GameObject.FindWithTag
GameObject.FindGameObjectWithTag("Tag");
通过Tag值,找到该游戏物体,返回一个GameObject对象
gameObject.SetActive (false);
通过这个命令设置物体是否处于活动状态
Componen 组件
Unity组件
Transform代表游戏位置的组件
Gatcomponent<Class Component/游戏组件名>()
通过这个方法可以获取当前游戏的某个组件
B.transform.Setparent("A.Transform");
这个方法是把B设置成A的子物体.
A.transform.Position
表示A物体在世界坐标系中transform的位置
transform.Translate(位置变量);
通过这个方法改变游戏物体的位置
transform.rotation;
表示当前游戏物体的旋转数,可以赋给另一个物体,让他们保持一致的旋转
transform.localPosition
表示当前游戏物体相对父物体坐标中的位置
transform.eulerAngles
欧拉角,旋转的角度
tansform.eulerAngles = new Vector(X,Y,Z);
改变任意X,Y,Z的一个或某个值时,该游戏物体会直接沿所改变的轴固定多少度
如:transform.eulerAngles = new Vector3 (0, 45, 0);表示将当前游戏物体沿Y轴旋转并固定45度
如果要转动多少度,则用:
transform.Rotate(Vector3变值);
表示按给定的欧拉角进行旋转
transform.Ratate(Vector3.Up*角度); 表示沿Y轴旋转多少度;
transform.RatateAround (围绕点,旋转轴,旋转度数);
围绕点: Tansform.position
旋转轴: Vector3
旋转度: float/int 值
围绕某个点,按照某个轴旋转多少度
A--->B (A移向B)
A.transform.Translate((B.transform.position-A.tranform.position) * Time.deltaTime)
A.transform.LookAt(B.transform);
A的正方向看向B,根据B的变动而变动
Time.time 从游戏开始到当前的时间,是个只读属性
Time.deltaTime 上一帧结束到当前帧所用的时间
Time.fixedDelataTime 固定帧速率,记录每一帧所用的时间
Time.timeScale 表示时间缩放,也就是单位时间流逝
Mathf 数学计算
Mathf.Lerp(a,b,t)
表示线性差值,计算方式是: (b-a)*t+a
Mathf.Clamp(a,min,max);
用来限制a数的大小:
当 min<a<max ---->取a
当 max < a ---->取max
当 a < min ---->取min
标准化向量:方向不变,长度为1
Vector3.Normalize(V的Vector3)
得到某一个向量(V)的标准化向量,如:
Vector3 a = Vector3.Normalize(A.transform.position);
这样可以得到A的标准化向量a
Vector3 A = new Vector3(2, 3, 4);
A.Normalize();
对A自己执行标准化向量;
Vector3 a = A.normalized;
获得A的标准化向量的值,并赋给新定义的向量a
Vector3.Lerp 两个向量之间的线性差值,可以用来做位移(但不常用)
A.transform.position = Vector3.Lerp(A.transform.position,B.transform.position,0.5f * Time.deltaTime)
A移向B
Quaternion 四维数 用来做旋转的
Quaternion.identity 无旋转角度
Quaternion.LookRataion(朝向A/forWard,朝向B/Up)
游戏物体的正面朝A/forWarf 顶部朝B/Up
游戏物体生成:
GameObject g =Instantiate(预设体GameObject,生成位置Vector/Position,朝向Quaternion)
Destroy(g,3f); 3秒后,销毁对象g
一、世界坐标 —— Global
物体坐标 —— Local
二、向量
A点----->B点 [A到B]计算等于: B-A
gameObject.name 是当前(挂载脚本的)游戏物体的名字
GameObject是类名
GameObject.Find("游戏名");
通过游戏名,找到该游戏物体,返回一个GameObject对象
GameObject.FindGameObjectsWithTag("Tag");
通过Tag值,找出所有属于Tag类的游戏物体,返回一个GameObject对象数组
因为是静态方法,所以找出的游戏物体顺序是反的.
GameObject.FindWithTag
GameObject.FindGameObjectWithTag("Tag");
通过Tag值,找到该游戏物体,返回一个GameObject对象
gameObject.SetActive (false);
通过这个命令设置物体是否处于活动状态
Componen 组件
Unity组件
Transform代表游戏位置的组件
Gatcomponent<Class Component/游戏组件名>()
通过这个方法可以获取当前游戏的某个组件
B.transform.Setparent("A.Transform");
这个方法是把B设置成A的子物体.
A.transform.Position
表示A物体在世界坐标系中transform的位置
transform.Translate(位置变量);
通过这个方法改变游戏物体的位置
transform.rotation;
表示当前游戏物体的旋转数,可以赋给另一个物体,让他们保持一致的旋转
transform.localPosition
表示当前游戏物体相对父物体坐标中的位置
transform.eulerAngles
欧拉角,旋转的角度
tansform.eulerAngles = new Vector(X,Y,Z);
改变任意X,Y,Z的一个或某个值时,该游戏物体会直接沿所改变的轴固定多少度
如:transform.eulerAngles = new Vector3 (0, 45, 0);表示将当前游戏物体沿Y轴旋转并固定45度
如果要转动多少度,则用:
transform.Rotate(Vector3变值);
表示按给定的欧拉角进行旋转
transform.Ratate(Vector3.Up*角度); 表示沿Y轴旋转多少度;
transform.RatateAround (围绕点,旋转轴,旋转度数);
围绕点: Tansform.position
旋转轴: Vector3
旋转度: float/int 值
围绕某个点,按照某个轴旋转多少度
A--->B (A移向B)
A.transform.Translate((B.transform.position-A.tranform.position) * Time.deltaTime)
A.transform.LookAt(B.transform);
A的正方向看向B,根据B的变动而变动
Time.time 从游戏开始到当前的时间,是个只读属性
Time.deltaTime 上一帧结束到当前帧所用的时间
Time.fixedDelataTime 固定帧速率,记录每一帧所用的时间
Time.timeScale 表示时间缩放,也就是单位时间流逝
Mathf 数学计算
Mathf.Lerp(a,b,t)
表示线性差值,计算方式是: (b-a)*t+a
Mathf.Clamp(a,min,max);
用来限制a数的大小:
当 min<a<max ---->取a
当 max < a ---->取max
当 a < min ---->取min
标准化向量:方向不变,长度为1
Vector3.Normalize(V的Vector3)
得到某一个向量(V)的标准化向量,如:
Vector3 a = Vector3.Normalize(A.transform.position);
这样可以得到A的标准化向量a
Vector3 A = new Vector3(2, 3, 4);
A.Normalize();
对A自己执行标准化向量;
Vector3 a = A.normalized;
获得A的标准化向量的值,并赋给新定义的向量a
Vector3.Lerp 两个向量之间的线性差值,可以用来做位移(但不常用)
A.transform.position = Vector3.Lerp(A.transform.position,B.transform.position,0.5f * Time.deltaTime)
A移向B
Quaternion 四维数 用来做旋转的
Quaternion.identity 无旋转角度
Quaternion.LookRataion(朝向A/forWard,朝向B/Up)
游戏物体的正面朝A/forWarf 顶部朝B/Up
游戏物体生成:
GameObject g =Instantiate(预设体GameObject,生成位置Vector/Position,朝向Quaternion)
Destroy(g,3f); 3秒后,销毁对象g
2 0
- Unity整理内容方便初学者查看(第一篇_初识U3D及Transform)
- Unity整理内容方便初学者查看(第三篇_刚体,碰撞及射线)
- Unity整理内容方便初学者查看(第二篇_输入Input)
- 初学者Unity3D自学(第一篇:初识)
- Make 简要教程及整理 --- 第一篇
- 第一篇:初识Python
- Linux 命令学习------文件内容查看(第一篇)
- 初学Unity第一篇
- 2005第一篇 ^_^
- 第一篇内容了
- U3D 数学--Transform 分析
- u3d transform 和 gameobject
- oracle语句整理,方便自己查看。
- Unity Shader入门第一篇
- Unity Transform
- lalala~ 我的第一篇linux学习笔记_如何查看系统模块
- 生活日历_第一篇
- Inception_2017年_第一篇
- 大水题(正整数序列,uva 11384)
- SolidWorks导入3DSource零件库的模型方法介绍
- OC内存管理
- 解压压缩命令
- Raspberry & WiFi AP
- Unity整理内容方便初学者查看(第一篇_初识U3D及Transform)
- 07 Unity3D人工智能AI-路径跟随
- 【codeforces 732E】【贪心 map乱搞】
- RxJava+Retrofit+OkHttp组合在网络请求中的简单配置
- hrbust1621 迷宫问题(bfs+优先队列)
- php创建多级目录的两种方法
- LeetCode-----46.Permutations&&47.Permutations II (全排列----回溯法)
- OC 变量类型 数组 字典 等容器
- java基础之for循环和while循环