阅读(4454)
赞(0)
Unity 3D 实践案例二
2020-07-11 11:46:54 更新
在脚本编写中我们会经常用到移动、旋转、缩放功能,可以使用transform.Translate()
、transform.Rotate()
和 transform.localScale
来实现这一效果。
本案例通过创建一个旋转立方体的实践操作,熟悉并掌握脚本编译中移动、旋转、缩放的函数编写以及与OnGUI 函数
交互功能的实现。
案例设计
本案例计划通过 C# 脚本在 Unity 内创建一个简单的 Cube 模型
,采用 OnGUI 函数
写 3 个交互按钮,实现与 Cube 模型
进行移动、旋转、缩放的交互功能。
案例实施
- 为游戏项目里的游戏场景添加两个游戏对象:
Cube
和Directional
,
Cube
是脚本具体操作的游戏对象。
Directional
是产生场景照明效果的游戏对象。
创建一个 Plane
位于 Cube
下方。调整游戏场景中 3 个游戏对象的位置,使得 Game 视图达到最佳的效果。
- 在 Project 视图里,新建一个 C# 脚本,命名为
MyScript
,打开此脚本并添加下面的代码:
using UnityEngine;
using System.Collections;
public class MyScript:MonoBehaviour
{
//声明4个变量
public GameObject myCube;
public int transSpeed=100;
public float rotaSpeed=10.5f;
public float scale=3;
void OnGUI(){
if(GUILayout.Button("移动立方体")){
myCube.transform.Translate(Vector3.forward*transSpeed*Time.deltaTime, Space.World);
}
if(GUILayout.Button("旋转立方体")){
myCube.transform.Rotate(Vector3.up*rotaSpeed, Space.World);
}
if(GUILayout.Button("缩放立方体")){
myCube.transform.localScale=new Vector3(scale, scale, scale);
}
}
}
该脚本声明了 4 个变量,并都使用 public
进行修饰,所以它们都可以作为属性出现在组件下。
OnGUI() 函数
用于在界面中显示按钮,玩家可以通过单击按钮实现与立方体的交互功能。
- 将脚本
MyScript
赋予Main Camera
。
- 运行游戏,在 Game 视图的左上角会出现 3 个按钮:“移动立方体”、“旋转立方体”和“缩放立方体”。单击按钮,即可完成对立方体对象的指定操作。