Unity入门操作_Transform组件_003
来源:互联网 发布:做知敬畏守底线的教师 编辑:程序博客网 时间:2024/06/11 21:01
Transform的组件有:
position:位置
localPosition
Debug.Log("获取状态:" + cubeObj.activeSelf);
Debug.Log("Hirearchy:" + cubeObj.activeInHierarchy);
cubeObj.SetActive(true);
Debug.Log("获取状态:" + cubeObj.activeSelf);
Debug.Log("Hirearchy:" + cubeObj.activeInHierarchy);
让游戏对象移动
public class CrossTest : MonoBehaviour {
public GameObject obj1;
public GameObject obj2;
// Use this for initialization
void Start () {
Vector3 retVec = Vector3.Cross(obj1.transform.position(起始位置),obj2.transform.position(终止位置);
Debug.Log(retVec(移动速度));
}
void Test03()
{
player.transform.position = Vector3.MoveTowards(player.transform.position,end.transform.position,0.1f);
}
// Update is called once per frame
void Update () {
}
让对象旋转
void Update () {
obj3.transform.Rotate(new Vector3(0,30(角度,和时间配合就是角速率),0)*Time.deltaTime(时间));
}
模拟日出:思路是先生成脚本建立三个对象和一个起始时间.
public GameObject start;
public GameObject end;
private GameObject player;
float startTime;
void Test04()
{
Vector3 center = (start.transform.position + end.transform.position) / 2;
center -= new Vector3(0,1,0);
Vector3 startCenter = start.transform.position - center;
Vector3 endCenter = end.transform.position - center;
player.transform.position = Vector3.Slerp(startCenter, endCenter, (Time.time - startTime) / 5);
player.transform.position += center;
}
父子的继承关系 :父类操作影响子类的结果.体积成立方比例,
void Start () {
//transform.position 是处于世界坐标系的
Debug.Log("obj1:"+obj1.transform.position);
Debug.Log("obj2:"+obj2.transform.position);
Debug.Log("obj1LocalPosition:"+obj1.transform.localPosition);
//ransform.localPosition 是以父物体是坐标系原点的 如果没有父物体 那么就使用世界坐标系
Debug.Log("obj2LocalPosition:" + obj2.transform.localPosition);
Debug.Log("obj1LocalScale: " + obj1.transform.localScale);
Debug.Log("obj2LocalScale: "+obj2.transform.localScale);
Debug.Log("obj2LossyScale: "+obj2.transform.lossyScale);
}
旋转
四元数
Quaternion q = Quaternion.identity;
q.eulerAngles = new Vector3(0,30,0) ;
obj3.transform.rotation = q;
四元素和欧拉角的区别:
欧拉角在X轴上旋转90度时会发生万象锁现象0.0
public class EulerAndQuaternion : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnGUI()
{
if (GUI.Button(new Rect(20,20,100,80),"Q_X"))
{
Quaternion q = Quaternion.identity;
q.eulerAngles = new Vector3(30, 0, 0);
transform.rotation = q * transform.rotation;
}
if (GUI.Button(new Rect(20, 105, 100, 80), "Q_Y"))
{
Quaternion q = Quaternion.identity;
q.eulerAngles = new Vector3(0, 30, 0);
transform.rotation = q * transform.rotation;
}
if (GUI.Button(new Rect(20, 190, 100, 80), "Q_Z"))
{
Quaternion q = Quaternion.identity;
q.eulerAngles = new Vector3(0, 0, 30);
transform.rotation = q * transform.rotation;
}
if (GUI.Button(new Rect(125, 20, 100, 80), "V_X"))
{
transform.eulerAngles += new Vector3(30,0,0);
}
if (GUI.Button(new Rect(125, 105, 100, 80), "V_Y"))
{
transform.eulerAngles += new Vector3(0, 30, 0);
}
if (GUI.Button(new Rect(125, 190, 100, 80), "V_Z"))
{
transform.eulerAngles += new Vector3(0, 0, 30);
}
}
}
- Unity入门操作_Transform组件_003
- Unity入门操作_Transform组件_003-01
- Unity基础4_Transform组件
- Unity入门操作_动态添加组件 _011
- Unity入门操作_ UGUI_ 基础组件_024
- Unity入门操作_Input_005
- Unity入门操作_025_01
- Unity入门操作_UGUI_InputFie_026
- Unity入门操作_UGUI_Toggle_027
- Unity入门操作_UGUI_Slider_028
- Unity入门操作_UGUI_ScrollBar_029
- Lua_快速入门及变量_003
- Unity入门操作_向量_002
- Unity入门操作_Time类_004
- Unity入门操作_旋转_006
- Unity入门操作_ 规律移动_007
- Unity入门操作_积木_009
- Unity入门操作_刚体 _012
- (poj3624)Charm Bracelet(01背包)
- 3-9配置mariadb
- 美国IT行业软件开发经理收入最高?程序员是不是最后非得转管理?
- JavaScript继承
- VS中动态库的配置
- Unity入门操作_Transform组件_003
- 【HDU3709】 Balanced Number
- Cheapest Palindrome
- vue.js+webpack 实现模块化
- HDU6121 Build a tree(树+异或)
- window7+下部署jekyll,期待吧
- 简单选择排序(Selection Sort)
- 数据结构实验之二叉树五:层序遍历
- MyBatis知识点