初学Unity 3D 碰到的语句
程序员文章站
2022-03-26 16:03:32
...
1.
void OnTriggerEnter(Collider other)//当Collider(碰撞体)进入tigger(触发器)时调用。
{
other.transform.position = new Vector3(2, 6, 6);// 当物体碰撞时 other 物体坐标变为(2,6,6)。
}
2.
void OnTriggerStay(Collider other)//当Collider(碰撞体)接触tigger(触发器)时,OnTriggerStay将在每一帧调用
{
other.transform.position = new Vector3(2, other.transform.position.y + 0.01f, 6);// 当other被碰撞体接触时,y坐标每帧都加0.01f
}
3.物体的旋转(3种方式)
(1)transform.Rotate(2种)
this.transform.Rotate(10 * Time.deltaTime, 0, 0); //物体绕x轴旋以 10 * Time.deltaTime 的速度旋转
this.transform.Rotate(new Vector3(1,1,1), 10*Time.deltaTime, 0 ); //物体沿(1,1,1)的向量以 10 * Time.deltaTime 的速度旋转。
( 2 )transform.RotateAround
this.transform.RotateAround(target.transform.position, Vector3.forward, 45f * Time.deltaTime);
//物体绕target 的坐标沿up的方向按照 45f * Time.deltaTime 速度旋转。
(3 )transform.LookAt
this.transform.LookAt(target.transform.position);//物体一直朝向target 的坐标
4.物体的缩放
(1)将物体直接缩放
public class test : MonoBehaviour {
public float scale;
void Start () {
scale = 5f;
}
void Update () {
transform.localScale = new Vector3(scale,scale, scale);//将物体的Scale 缩放为(scale,scale, scale)
}
(2)通过曲线控制物体规律的缩放
public class test : MonoBehaviour {
public float scale;
public AnimationCurve curve;//生成一个曲线
void Start () {
scale = 5f;
}
void Update () {
scale = curve.Evaluate(Time.time / 2f) * 2f;//使scale的大小随curve变化
transform.localScale = new Vector3(scale,scale, scale);//将物体的Scale 缩放为(scale,scale, scale)
}
与(1)相比(2)多了两个语句,一个用来生成曲线,一个用来使scale的大小随curve曲线变化,再通过Inspector面板里的脚本中的Curve选项设定曲线,从而达到规律缩放。
4.运行时生成
Debug.DrawLine 生出一个线段
Debug.DrawLine(new Vector3(0, 0, 0), new Vector3(6, 6, 6));//建一个(0,0,0)到(6,6,6)的线段
上一篇: Hector:高层次的Java Cassandra 客户端
下一篇: 前端中页面渲染优化方法总结