Unity游戏教程初步(⼆):场景搭建与创建脚本
⽬录
前⾔
在接下来的若⼲节中,我们通过搭建并逐步完善⼀个3D⼩demo《Roll a ball》初步掌握Unity3D中的场景构建等内容。
项⽬需求
我们的⽬标是在unity的3D预设下搭建⼀个⼩游戏demo,游戏内容为控制⼩球从场景的起点滚动到终点。
在本节中,我们需要构建⼀个平台和⼀个⼩球,并使得⼩球能够根据键盘操作进⾏相应的移动。
场景搭建
-本节相关内容请读者参考:
-,《Scene视图导航》
-,《变换组件(Transform)》
新建⼀个3D预设的项⽬,如图所⽰:
可以看到,现在场景中的画⾯空空如也,只有⼀个摄像机(Main Camera)和⼀个光源(Directional Light)。Game选项卡⾥显⽰的即是通过摄像机看到的场景。
在场景中新建⼀个3D Object Plane(3D平⾯),⿏标在Hierarchy选项卡右击->3D Object->Plane。创建之后⽆法在画⾯中看见平⾯,是因为其厚度为⽆限⼩,在正视图中不可见。调整场景视图辅助图标
以使平⾯在场景中可视。
调整之后的界⾯如下所⽰,可以看到,虽然平⾯在场景中可视,却⽆法在游戏预览(Game)中可视。这是因为游戏主摄像机的⾓度与场景的⾓度不同(可以将场景视图⽐作上帝视⾓,游戏视图就是玩家视⾓,两者⾃然不是⼀个视⾓。游戏中的视⾓只取决于主摄像机的视⾓)。
Camera的⾓度和位置,使平⾯整个出现在游戏视野内。
在场景中新建⼀个Sphere(球体),⿏标在Hierarchy选项卡右击->3D Object->Sphere。调整其位置,使得其正好停留在平⾯上,且居于平⾯中⼼。这种调整由于要求⽐较精细,并且调整过程中不能很好地使⽤⾁眼校正,所以我们不使⽤视图⼯具,⽽是通过调整游戏对象的transform组件属性来调整其位置。
Transform组件⼀共有三个属性,它们的含义如下所⽰。分别查看球体与平⾯的transform,并将球体的position属性调整到与平⾯相同的
unity 教程
⽔平。此时,由于球体与平⾯的中⼼点位置相同,球体表现为⼀半嵌⼊在平⾯中。根据其坐标轴,继续调整球体的位置(对应位置坐标轴
+球体的Scale值/2,默认为0.5)。
搭载脚本
-本节相关内容请读者参考:
-https:,《MonoBehaviour》
为了使得球体能够响应键盘操作滚动,我们需要给球体附加⼀个Script(脚本)组件,并且编写搭载的C#脚本。
选中球体,点击Inspector选项卡最下⾯的Add Component按钮,为球体添加⼀个组件。添加组件后,unity会创建⼀个C#空脚本⽂件,
并让你取⼀个名字。我们命名其为Sphere。
双击Project选项卡中出现的脚本⽂件,由于unity默认的脚本编辑器是VS,如果读者电脑中有VS,unity将会⽤VS打开脚本⽂件。默认脚本编辑器在Edit->Preferences->External Tools中修改,但是不建议有VS的读者修改,因为VS不需要额外设置就可以联合调试Unity脚
本。
第⼀次启动时被调⽤,Update在游戏更新每⼀帧时调⽤。
改写脚本,如下,其中Vector3是unity对于三维向量和点的类:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Sphere : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
float x=Input.GetAxis("Horizontal");
float y=Input.GetAxis("Vertical"); //获取键盘⽅向键的增量
transform.position=transform.position-new Vector3(x,0,y); //更新游戏对象的位置        //这⾥的xy符号取决于读者场景的摄像机和平⾯朝向
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。