unity物体旋转脚本
‘壹’ unity3d中如何旋转物体,但坐标轴却不旋转
1、打开unity3D软件,点击create创建一个新的javascript的脚本,初始内容如图所示
‘贰’ unity 如何让物体绕自己的中心轴转
1、打开unity3d在场景中创建一个球体。
‘叁’ unity中如何让物体以一定速度沿y轴旋转90度
1,你可以做判断,用transform.Rotate,当转过90度后停止旋转
2,用四元数的插值运算transform.rotation
=
Quaternion.Lerp(from.rotation,
to.rotation,
Time.time
*
speed);from.rotation在start获取一下当前的rotation,to.rotation就是旋转90度后的rotation
‘肆’ unity,按下空格健,物体旋转x轴旋转30度,定在30度不动,松开空格健物体回到0度,脚本怎么写
void Update()
{
if (Input.GetKey(KeyCode.Space))
{
if (transform.localEulerAngles.x < 30)
this.transform.Rotate(new Vector3(1, 0, 0), 5f * Time.deltaTime);
else
this.transform.localEulerAngles = new Vector3(30,0,0);
}
else
{
if (transform.localEulerAngles.x > 0 && transform.localEulerAngles.x <= 30)
this.transform.Rotate(new Vector3(-1, 0, 0), 5f * Time.deltaTime);
else
this.transform.localEulerAngles = new Vector3(0, 0, 0);
}
}
‘伍’ Unity3d C# 鼠标点击下物体,物体匀速旋转180°,要看到旋转过程,这个代码怎么写
将我下面的脚本挂到场景中
创建目标物体Cube 这里使用射线检测物体名字实现的
usingSystem.Collections;
usingSystem.Collections.Generic;
usingUnityEngine;
publicclassRotateCube:MonoBehaviour
{
boolstartRotate;
TransformaimCube;
floatspeed=1f;
voidUpdate()
{
if(Input.GetMouseButtonDown(0))
{
Rayray=Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHithit;
if(Physics.Raycast(ray,outhit,100))
{
if(hit.collider.gameObject.name=="Cube")
{
aimCube=hit.collider.transform;
startRotate=true;
}
}
}
if(startRotate&&aimCube.localEulerAngles.y<180)
{
aimCube.Rotate(Vector3.up*speed);
}
}
}