unity3D学习笔记2
2013-11-06 23:29
281 查看
接着看视频 = =
学习内容:用代码创建一个圆环 由36个方体组成 2.方体环绕飞行 3. 原件(长方体)自转
代码如下:
效果是这样子的 在想当初老师用这样的教学多好啊 ~~~~~~
2.方体围绕一个点旋转
代码如下:
效果不截图了。
3. 原件(长方体)自转
代码如下:
private float xAngle = 0;
private float yAngle = 0;
void Update ()
{
//方法- 转两个 x,y不是能控制的 x不是围绕自己的轴旋转的 系统自带的
// this.transform.Rotate(0,1,0);
//围绕y轴旋转 y的值变大 速度变快
//方法二 旋转 x,y两个轴 都是围绕各自的旋转 两种方法 旋转的时候 单轴是一样的效果
//但是两个轴多轴了 就不一样的效果了
xAngle ++;
yAngle ++;
this.transform.localEulerAngles = new Vector3(xAngle,yAngle,0);
}
大家可以试一下效果...
学习内容:用代码创建一个圆环 由36个方体组成 2.方体环绕飞行 3. 原件(长方体)自转
代码如下:
private GameObject louti; private float r = 5; private float angle = 0; //角度 // Use this for initialization void Start () { louti = (GameObject)GameObject.Find("louti"); GameObject cube = (GameObject)GameObject.Find("Cube"); for(int i = 0; i<36;i++) { float hudu = angle*Mathf.PI/180; //求弧度 float dx = r*Mathf.Cos(hudu); float dy = r*Mathf.Sin(hudu); Transform center = louti.transform; GameObject cube1 = (GameObject)GameObject.Instantiate(cube); cube1.transform.position = new Vector3(center.position.x+dx, center.position.y+dy, center.position.z); cube1.transform.LookAt(center); //改变朝向 旋转方体 angle += 10; } }
效果是这样子的 在想当初老师用这样的教学多好啊 ~~~~~~
2.方体围绕一个点旋转
代码如下:
private GameObject centerObj; private float r = 9; private float angle = 0; // Use this for initialization void Start () { centerObj = GameObject.Find("louti"); float hudu = angle* Mathf.PI/180; float x1 = centerObj.transform.position.x + r* Mathf.Cos(hudu); float y1 = centerObj.transform.position.y + r* Mathf.Sin(hudu); this.transform.position = new Vector3(x1,y1,centerObj.transform.position.z); } // Update is called once per frame void Update () { angle++; centerObj = GameObject.Find("louti"); float hudu = angle* Mathf.PI/180; float x1 = centerObj.transform.position.x + r* Mathf.Cos(hudu); float y1 = centerObj.transform.position.y + r* Mathf.Sin(hudu); this.transform.position = new Vector3(x1,y1,centerObj.transform.position.z); this.transform.LookAt(centerObj.transform.position); }
效果不截图了。
3. 原件(长方体)自转
代码如下:
private float xAngle = 0;
private float yAngle = 0;
void Update ()
{
//方法- 转两个 x,y不是能控制的 x不是围绕自己的轴旋转的 系统自带的
// this.transform.Rotate(0,1,0);
//围绕y轴旋转 y的值变大 速度变快
//方法二 旋转 x,y两个轴 都是围绕各自的旋转 两种方法 旋转的时候 单轴是一样的效果
//但是两个轴多轴了 就不一样的效果了
xAngle ++;
yAngle ++;
this.transform.localEulerAngles = new Vector3(xAngle,yAngle,0);
}
大家可以试一下效果...
相关文章推荐
- unity3d学习笔记(三)--不用一句代码快速加载并控制第三人称主角
- unity3d学习笔记(十八)--利用C#的代理和事件结合NGUI的按钮实现施放技能
- unity3d学习笔记(四)--自定义角色控制脚本及平滑转身
- Unity3d学习笔记(一)Particle Layer
- Unity3D学习笔记——组件之Mesh(网格)
- Unity3D学习笔记——NGUI之UIInput
- Unity3d学习笔记
- Unity3D学习笔记——组件之Effects(效果/特效)——Particle Sy...
- UNITY3D学习笔记9
- Unity3D学习笔记
- Unity3D学习笔记(十六)血条的实现
- Unity3D学习笔记(5)—— 牧师和魔鬼游戏改进
- Unity3d学习笔记3——基本运动与旋转
- Unity3d学习笔记(8)-- 可展开公告牌
- Unity3D学习笔记1——Unity大法好呀
- unity3d学习笔记(四)--自定义角色控制脚本及平滑转身
- Unity3D学习笔记
- unity3d学习笔记(五)--结合Mecanim实现怪物AI
- Unity3D学习笔记