常用脚本(四)Unity_移动、旋转、缩放

移动:

首先证明物体:

GameObject 变量名;

变量名 . transform . position = new Vector3(X,Y,Z);

变量名 . transform . Translate(X,Y,Z);

或:

变量名 . transform . Translate(new Vector3(X,Y,Z));

//参数还可以写   方向   X   速度   X   秒

变量名 . transform . Translate(transform . up * 10 * Time . deltaTime);

给力移动 :(一般配合按键使用。脚本托给谁谁动)

需要先声明Rigidbody,然后获取Rigidbody组件后可用:

private Rigidbody rigidbody;

rigidbody = GetComponent<Rigidbody>();

rigidbody . AddForce(X,Y,Z);  //世界坐标中给力移动

rigidbody . AddRelativeForce(X,Y,Z);  //局部坐标中移动

可能会配合速度使用,那么速度就是:

rigidbody.Veloctiy = new Vector3(X,Y,Z);

eg:

//以每秒十米的速度向前移动

rigidbody.Veloctiy = transform.forward * 10;

----------------------------------------------------------------

这里的10是 10米/秒 ,所以不用*Time.deltaTime。

加入这里的物体是球,那么给力移动时可能会滚动,如果不想让其滚动,可以将Rigidbody组件中的XYZ的rotation锁定。

 

 旋转:

变量名 . transform . rotation = new Quaternion(X,Y,Z,W);

// 围绕Y轴旋转,每秒20度(自传)

 transform . Rotate(transform . up * 20 * Time . deltaTime);

//绕着某个点旋转(公转)

 transform . RotateAround(Vector3 . zero,Vector3 . up,30 * Time . deltaTime);

给力旋转:(同样,一般也是配合按键使用) 

需要先声明Rigidbody,然后获取Rigidbody组件后可用:

Rigidbody rigidbody;

rigidbody = gameobject . GetComponent<Rigidbody>();

rigidbody.AddTorque(X,Y,Z);  //世界坐标中给力旋转

rigidbody . AddRelativeTorque(X,Y,Z);  //局部坐标中旋转

 

缩放 :

变量名 . transform . localScale = new Vector3(X,Y,Z);  //局部缩放,可读可写

Debug.Log(变量名 . transform . lossyScale);  //世界缩放,只读

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值