unity3d培训_004
来源:互联网 发布:原生js dialog 编辑:程序博客网 时间:2024/06/05 18:11
向量与坐标
using UnityEngine;using System.Collections;public class direct : MonoBehaviour {// Use this for initializationvoid Start () { Vector3 a = new Vector3(); float x = a.x; float y = a.y; float z = a.z; a.Normalize();//获取a的单位向量,且a长度变为1。 Vector3 b = a.normalized;//获取a的单位向量,且a不变。 float L = a.magnitude;//获取a向量的长度。/* Vector3.up;//世界坐标系上 Y 轴方向单位向量。 Vector3.down;// Vector3.right;//X轴的 Vector3.left;// Vector3.forward;//Z轴的 Vector3.back; Vector3.zero;//表示世界坐标系的原点。*/ //获取向量 v1. v2 间角度。 Vector3 v1 = new Vector3(0.0f, 0.0f, 1.0f); Vector3 v2 = new Vector3(1.0f, 1.0f, 1.0f); Vector3.Angle(v1,v2); //获取两点间距离。 Vector3 pos1 = new Vector3(0.0f, 0.0f, 0.0f); Vector3 pos2 = new Vector3(1.0f, 1.0f, 1.0f); float distan = Vector3.Distance(pos1, pos2); //向量点乘 float aa=Vector3.Dot(v1, v2); Vector3 bb = Vector3.Cross(v1,v2);}// Update is called once per framevoid Update () {}}
transform的函数使用
using UnityEngine;using System.Collections;public class Reda : MonoBehaviour {// Use this for initializationvoid Start () { //transform 获取游戏对象的位置 //transform.position 世界坐标系的三维坐标 //transform.localPosition 局部坐标位置 Vector3 pos = transform.position; print(pos); //transform.rotation 旋转属性,一般不用它修改 //transform.localRotation //Vector3 a = transform.localScale; } // Update is called once per frame void Update () { if(Input.GetKeyDown(KeyCode.P)) { //transform.position = Vector3.zero;//移到原点 //transform.localPosition=Vector3.zero;//局部坐标的改变 transform.localScale = new Vector3(10f,10f,100f);//放大10,10,100倍 } if (Input.GetKey(KeyCode.O)) { transform.Translate(new Vector3(0, 0.2f, 0));//该函数表示:当前位置加上后面的三维向量。 } if(Input.GetKey(KeyCode.I)) { transform.Rotate(Vector3.up,0.1f);//可以给一个向量。在当前角度追加角度。物体的x绕所给的x向量,y绕y,z绕z,去旋转。 //或者给一个轴,再给一个度数。如本例。 } if (Input.GetKey(KeyCode.U)) { transform.eulerAngles = new Vector3(0f,45f,45f);//(欧拉角)旋转到这个角度。第二次执行看不出效果。 } if (Input.GetKey(KeyCode.Y)) { //transform.parent 返回当前对象父对象的transform 组件可以set和get。 //transform.root 返回当前最外层父对象。只能get。不能set。 //transform.Find("cube"); 获取当前游戏对象叫做cube的子对象。 //transform.FindChild("cube"); 返回第一个叫cube的子对象。 } if(Input.GetKeyDown(KeyCode.T)) { print("游戏开始了 : " + Time.time + " 秒。");//Time.time 返回游戏从开始到现在的秒数。 print("从上帧到这一帧的时间为: " + Time.deltaTime + " 秒");//一般计算机为60帧每秒。具体看情况。 } transform.Rotate(Vector3.up, 30f * Time.deltaTime);//每秒30度旋转。因为 Updata按照每秒deltatime 次刷新。 float tt = Time.timeScale;//时间的缩放。比如游戏快进,慢放等。为0时,就是游戏暂停。正常值为1。 //Mathf.Abs(-100);//Math类。数学函数类。3D 游戏很常用。里面函数很多。 //Mathf.Max(100,400,30,500);返回最大值的。Mathf.sqrt();求平方 //Mathf.Sin();等等。可以查圣典手册。官网查询等。 }}
0 0
- unity3d培训_004
- C语言培训_004
- unity3d培训_001
- unity3d培训_002
- unity3d培训_003
- unity3d培训_005
- unity3d培训_006
- unity3d培训_007
- 7小时Unity3D游戏开发培训教程
- 7小时Unity3D游戏开发培训教程
- Unity3D导出exe窗口参数调整培训
- Unity3D导出exe窗口参数调整培训
- 羽毛球记事_004
- 工作零散记忆_004
- Lua_运算符_004
- 学习笔记_004
- 001_004 Python 字符串对齐
- Unity_脚本操作对象_004
- 《JavaScript高级程序设计》——原型对象、原型链
- AndroidManifest.xml作用
- 一个Arial.ttf 找不到的异常的处理
- 不使用任何中间变量如何将a、b的值进行交换
- UML类图
- unity3d培训_004
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- 【Java源码分析】LinkedList源码分析
- markdown 删除线
- 计算表达式
- BZOJ 2342 [Shoi2011]双倍回文
- AFNetWorking(3.0)源码分析(二)——AFURLSessionManager
- 上下布局——内容外撑
- leetcode:Course Schedule