IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity学习日记——初始unity及C#语言的应用 -> 正文阅读

[游戏开发]Unity学习日记——初始unity及C#语言的应用

一.unity常用窗口

1.工程窗口

此窗口可访问和管理属于这个工程的所有资源,包括脚本、材质、子文件等。

2.场景视图窗口

此窗口是用来创造游戏世界的窗口,可在此窗口内选择和定位游戏的背景、摄像机、角色等游戏物体。

(1)移动视角

按住Alt和鼠标左键可在场景中旋转视角。

按住Alt和鼠标右键可缩放视角。

直接用鼠标左键可移动视角。

(2)飞行浏览

首先按住鼠标右键,然后用W、A、S、D可分别向前后左右移动,按shift可加速移动。

(3)将物体放在视野中心

在窗口中选中物体按F键,可将视野以该物体为中心。

(4)修改物体位置

键盘上Q、W、E、R分别对应移动、旋转、缩放、矩形变换工具。这些工具可以使物体按X轴、Y轴、Z轴方向变化。在选中其中的工具时选择物体,会显示出辅助线框,依据线框对物体进行移动,如下图。

3.层级窗口

层级窗口包含当前场景中所有的游戏物体列表。其中某些游戏物体是独立的物体,有些是预制体。除此之外,还可以表示父子节点,如下图。

?4.检视窗口

unity场景通常是由很多GameObject组成的,每个GameObject可能包含许多组件,如:脚本、刚体、声音等。检视窗口显示了当前选中物体的细节信息和组件的参数,可在此窗口对这些参数进行修该,也可以增加或删除组件,如下图。

5.游戏视图窗口

游戏视图窗口显示的实际游戏中看到的画面,按播放键可运行游戏,按暂停键可使游戏暂停。在暂停或运行状态下依然可以进行绝大多数编辑操作,但结束播放时,又会回到原始状态,如下图。

?

二.案例开发——打砖块

该游戏是通过上下左右移动,并发射小球将墙全部推倒。

1.搭建游戏场景——创建地面

在层级窗口中单机鼠标右键,选择3D Object->plane,就可以搭建一个平台了。将这个平台命名为ground,并在检视窗口中,将这个物体的position设置为0,0,0。接着在Assets中创建一个material,将这个材质命名为ground,用调色器将其颜色弄成偏暗色,最后拖拽给ground物体,地面就完成了。

2.搭建墙

1)创建预制体

创建cube方块,将其命名为wall,选中方块,添加组件physics>Rigidbody。创建材质,把材质设置为蓝色,赋给wall物体,然后将它拖入工程窗口中,就完成了预制体的创建。此时可看到wall的名字变成蓝色,说明预制体设置成功,如下图。

?2)创建墙

? 拥有了这个预制体后,可通过快捷键Ctrl+D,复制许多同样属性的方块,将这些方块设置在预制体的下面,成为wall的子节点,方便管理。移动这些子节点前,在Edit->Grid and Snap中将Move参数改为1,这样做的目的是使方块按照1个单位进行移动。设置操作如下图。

移动方块时按住Ctrl键。

3.创建子弹

1)创建预制体

创建3D模型小球,并赋予红色材质,在小球上添加碰撞组件(用来检测墙与小球的碰撞)、刚体组件,将其拖入工程窗口,预制体就设置成功了。

2)调整摄像机

移动摄像机,将其面对墙的正面,并微微偏上,如下图。

?

?3)插入脚本

游戏需要用户移动视角,并扔出小球,可以在摄像机上插入脚本。

首先引入刚刚创建好的小球。

public GameObject ball;

再通过代码实现键盘控制视角,并放到updata的函数里。游戏的帧率并不稳定,随着硬件的负载,帧率会下降,每帧的时间会增加,因此再控制物体的速度时,不应该以每帧的距离为准,而应该以每秒距离为准,物体移动的距离将根据每帧时间的长短而变化,从而再时间上看起来移动是匀速的。因此,在vector3后乘以Time.deltatime。

float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
transform.Translate(new Vector3(h, v, 0) * Time.deltaTime);

键盘中W、A、S、D实现视角上下左右的移动,鼠标左键实现发射小球。条件判断,当鼠标点击时,生成一个小球(此过程叫实例化),此小球与预制体相同。将该小球的刚体组件赋给变量rd,在此变量上加一个向前的力,最终就实现了功能。

if(Input.GetMouseButtonDown(0))
{
  GameObject balls = GameObject.Instantiate(ball, transform.position, transform.rotation);
  Rigidbody rd = balls.GetComponent<Rigidbody>();
  rd.velocity = Vector3.forward * 30;
}

4.测试

实现上述所有功能后,运行游戏进行测试,测试结果如下图,无误。

?三.总结

1.想要开发一个unity游戏,首先要熟悉引擎,了解引擎的设置和功能。unity里设置种类繁多,功能复杂,学习起来知识点比较碎片化,因此一定要有相关的书籍,并做好笔记,在看书不能理解的同时可以在网上看看教程。

2.在编写脚本时,往往需要配合组件,有许多不清楚的组件或者不知道代码如何实现,可以去unity官网,下载unity中文APl手册,这是我们学习unity及脚本必不可少的。

3.在unity中,可把游戏对象理解为容纳各种组件的容器,开发者写的每一个脚本可理解为一个自定义的组件,游戏对象的所有组件都可理解为对象的行为。

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-01-17 11:47:50  更:2022-01-17 11:49:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 18:41:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码