首先导入资源包,这里碰到一个小问题,我找了很久才找到Project窗口,然后我就顺便把几个窗口都“认识”了一遍。
导入后,有制作星空的一个动画。把图片做成了材质,在材质上面制作的UV动画,让星空看起来缓缓移动。
1.在Project窗口中单击鼠标右键,选择Create–>Animator Controller,创建一个动画控制器,确定星空背景模型在场景中处于选择状态,在把动画控制器拖到Inspector窗口下方的空白处,将动画控制器组件制定给星空动画模型。

2.在菜单栏中选择Window->Animation,打开动画窗口,选择Create,创建一个动画文件并保存在工程中的Assets目录中。
3.选择Add Property,在选择Material._Main_Tex_ST添加动画UV属性
4.单价左上角动画记录按钮进入动画录制状态,将时间轴前进至30帧左右,将MMaterial._Main_Tex_ST属性中的w值设为-1,播放动画,星空图就会动了。
注意:这里默认的动画是循环播放的,是可以改变循环模式的,在Inspector窗口中设置他的Loop Time,就可以了。
游戏视角
通过摄像机来展现游戏窗口
1.在Scene窗口中选择Main Camera,这是场景中默认的摄像机。在菜单栏中选择GameObject->Align With View,是摄像机视角与当前视图一致,如果感觉差点可以手动调节摄像机,在摄像机的属性中调整,也可以选择摄像机进行拖拽调整。效果如下
创建角色
同样的方法将角色拖入场景,而只有脚本才能控制模型,所以脚本是实现游戏逻辑的核心,但是脚本不能独立运行,必须作为某个游戏体的组件才能运行。
1.在Project窗口中选择Assets并单击鼠标右键,选择Create->Folder创建一个文件夹,将其命名为Scripts,所有的脚本都会放入这个文件夹里。
2.在Scripts文件夹中创建一个脚本文件,选择Create->C# Script创建一个C#脚本,并命名为Player,打开脚本。如图
Player是类的名字,这个名字必须和脚本名字一致,它默认继承自MonoBehaviour,只有继承自MonoBehaviour的类才能作为Unity脚本组件使用。
在Player类中,默认有一个Update函数,这个函数在程序运行时,每帧都会被调用,所以就在这个函数里面添加键盘操作的代码

public class Player : MonoBehaviour {
/// <summary>
/// Player组件
/// </summary>
public float speed = 1;
// Use this for initialization
void Start () {}// Update is called once per frame
void Update () {
float movev = 0;//横向移动距离
float moveh = 0;//纵向移动距离//按上键if (Input.GetKey (KeyCode .UpArrow))
{moveh += speed * Time.deltaTime;
}//按下键if (Input .GetKey (KeyCode .DownArrow )){moveh -= speed * Time.deltaTime;}//按左键if (Input .GetKey (KeyCode .LeftArrow )){movev += speed * Time.deltaTime;}//按右键if (Input .GetKey(KeyCode.RightArrow)){movev -= speed * Time.deltaTime;}//移动this.transform.Translate(new Vector3(moveh, 0, movev));
}
}

其中Input是一个包装了输入功能的类,它包括了几乎所有的键盘鼠标或触控操控函数。
Time.deltaTime 表示每帧的经过时间,一般需要每帧做增减变动的数值都要乘上Time.deltaTime 。在这里,速度与Time.delatTime相乘,表示每帧移动N米距离。
this.transform调用的时游戏体的Transform组件,Transform组件提供的主要功能时移动,旋转,缩放游戏体有关的。我们调用了Translate函数移动游戏体,其中有一个Vector3类型的参数,用来表示x,y,z三个方向上的移动距离。
在这里注意到一个问题,Update函数中如果每帧都去调用this.transform组件,就会造成一定的效率问题,我们可以在对象初始化时只调用一次并将其保存起来。Start函数会在对象被实例话是自动调用一次,类似构造函数,所以可以在Strat里做一下初始化的工作。

private Transform m_transform;
// Use this for initialization
void Start () {m_transform = this.transform;
}//移动this.m_transform.Translate(new Vector3(moveh, 0, movev));

这样就不用每帧都去查找Transform组件了,提高了程序的运行效率。
主角的操纵差不多就这么多,现在感觉一篇内容有一点多,但是不够细,接下来我会找到重点细致的学习。
这篇放的有点久了。

Unity3D学习之第二个游戏制作日记相关推荐

  1. Unity学习笔记—二次元日系游戏制作(实践篇-游戏初始化场景制作)

    原教程:siki:二次元日系游戏制作工具 - live2dSDK入门教程 http://www.sikiedu.com/my/course/282 (上)Unity学习笔记-二次元日系游戏制作(理论篇 ...

  2. [Unity学习笔记:FPS游戏制作(3)]子弹拖尾,碰撞与枪口火焰效果

    往期博客[Unity学习笔记:FPS游戏制作(2)] 发射子弹----(2021.6.20学习笔记) 文章目录 一,实现思路 二,粒子效果的实现 (1)子弹拖尾特效的实现 (2)枪口火焰特效的实现 ( ...

  3. [Unity学习笔记:FPS游戏制作(2)] 发射子弹————(2021.6.20学习笔记)

    往期博客 [Unity学习笔记:FPS游戏制作(1)]角色的移动,旋转与推进上升----(2021.6.13学习笔记) 文章目录 一,实现思路 二,实现代码 三,脚本的使用方法 四,最终效果 一,实现 ...

  4. 【Unity3d学习】粒子光环的制作——粒子编程初体验

    写在前面 Unity3d学习制作的实验资料包括本次实验都在老师的课程网站上:传送门 视频地址:传送门 实验项目文件在Github上面:Github传送门 实验参考博客:感谢指导! Unity3D学习笔 ...

  5. Unity3D学习:射击小游戏——飞碟世界

    游戏规则:游戏有三个关卡,每个关卡有四次发射机会,每次发射的飞碟大小颜色速度方向位置都不同,有50分初始分,每打中一个加10分,掉落一个在地减10分,第一二关都是90分过关,第三关70分过关,第一关每 ...

  6. Unity学习笔记—二次元日系游戏制作(理论篇)

    原教程:siki:二次元日系游戏制作工具 - live2dSDK入门教程 http://www.sikiedu.com/my/course/282 一.准备工作 1.下载安装:Live2D_Cubis ...

  7. Unity3D学习之射箭小游戏

    一.了解基础知识 对于射箭小游戏来说,新增加了物理引擎的运用.物理引擎主要包括三个方面:Rigidbody.Collide.PhysicMaterial.其中,Collider是最基本的触发物理的条件 ...

  8. Unity3D学习记录 (跑酷小游戏完结)

    本日目标: 补充一些动作,添加触发检测 思考如何让游戏一直进行下去 处理一些bug,节约更多资源 项目: 我们为主角添加下铲和倒下的动作,首先来添加动作,定义动作剪辑片段. 在场景中把对应动画片段绑到 ...

  9. Unity3D学习之打飞碟游戏

    首先,先上设计图: 效果图: 预设设置: 简单说一下设计思路.对于飞碟的运动:运动学运动,有点类似牧师恶魔里面的过河:物理运动,则类似射箭小游戏的设计.所以,对于这两种动作分别实现即可. 运动学实现: ...

最新文章

  1. iOS10 UI教程视图的中心位置
  2. http://www.fastweb.cc
  3. docker 导入镜像_官方下一代Docker镜像构建神器 -- BuildKit
  4. java监听某端口和ip_Java 通过Socket监听指定服务器(IP)的指定端口,及向指定服务器的指定端口发送信息...
  5. BugkuCTF-Crypto题杰斐逊
  6. 判刑后再上诉会改判吗_近视眼手术后还会再近视反弹吗?有哪些后遗症,温州眼科专家告诉你...
  7. 音视频开发(30)---新一代视频编码标准:HEVC、AVS2和AV1性能对比报告
  8. pivot sqlserver 条件_SqlServer行转列(PIVOT),列转行(UNPIVOT)总结
  9. aspectjweaver.jar aspectjrt.jar
  10. springBoot整合tkMybatis
  11. Unity3D自带例子AngryBots的分析
  12. 赵小楼《天道》《遥远的救世主》解读(84)救主文化是什么?
  13. IIS允许下载APK安装包
  14. 计算机excel表格公式教程,职称计算机Excel教程:显示公式的方法
  15. 深入理解MATLAB中contour函数
  16. Deeplink(深度链接)拉起App,我是这样做到的
  17. python 列表写入excel_Python读写excel表格的方法一
  18. 用API网关把API管起来
  19. NLPCC:自然语言处理和中文计算——诗创作样本
  20. 保险机构如何保护客户信息安全?

热门文章

  1. php 打印curl请求的header信息和返回的header信息
  2. vue转electron项目以及使用fs报错:Module not found: Error: Can‘t resolve ‘fs‘ in解决办法
  3. (11)高通AP10.4开发者指南——WLAN(2.5 代码流程)
  4. 【干货】Java实习面试经验汇总
  5. 目标检测之YOLOv1到YOLOv3系列简介
  6. 为oracle数据库新增表空间及用户
  7. python怎么将字符串逆序_python中如何把一个字符串顺序逆序反转的几种方法?
  8. JZOJ5953. 【NOIP2018模拟11.5A组】生死之境
  9. HDU 6379 Invoker (2019-CCPC-秦皇岛站)DP
  10. Lambda Expression