创建基本的2D场景(part1)

  通过一个简单的2D游戏案例来学习unity 2D游戏开发,本文分为以下4个部分。

· 创建工作层

· 添加静态景物

· 制作2D动画

· 添加角色和控制

· 添加2D效果

  通过这个案例,我们可以学习到unity2D游戏制作的基本流程,Sprite的创建和使用,2D物理引擎,2D的特效的使用等这些常用的知识点。

  3D游戏场景中的摄像机一般使用透视模式(Perspective),2D游戏场景中的摄像机是正交模式的(Orthographic),如果在此案例中你不幸选择了透视模式(Perspective),就会出现如角色不能按照我们的指令移动等问题。

· 1 创建工作层

  依照下图的顺序,我们在游戏场景中创建了两个工作层Background和Foreground。下图中3个工作层的优先级由高到低依次为:Foreground、Background、Default,优先机越高就越靠前,所以3个工作层中最先被渲染的是Foreground。

· 2 添加静态景物

  先导入图片,我们可以通过以下3种方式导入Unity支持的资源:

1. 直接将资源复制到项目文件夹下面的Assets文件夹中

2. 直接将资源拖动到Project视图中的Assets文件夹中  (我个人比较喜欢的一种)

3. 依次打开菜单栏的Assets——Import NewAsset ...进行导入。  

创建一个sprite

1. 在菜单栏中创建

2. 快速创建一个sprite,从Project视图直接拖到Hierarchy视图中

  创建好sprite后,要设置它所在所在的层和它所在层中的顺序。我们创建了草地grass和天空sky这两个sprite,它们都位于Background层,但草地所在的工作层的顺序要比天空高。所以在游戏中,草地显示在前面。

   

  我们将所有的草地和天空都交个一个游戏对象Background来管理,将它们都拖到Background中,成为Background的子对象。如果要解除父子关系,只要将子对象移动到父对象外面即可。

· 3 制作2D动画

1. 制作Sprite动画

 按照下图的顺序,我们可以将swan_sheet图片自动切割成8张小图,这8张小图用来显示动画的每个帧。

  点击图片上的三角形按钮就可以显示切割后的图片,Project视图中右下角的滑动条可以改变资源的显示方式。

  先创建一个Sprite,命名为swan,选择一张图片放入Sprite中。

  然后我们以这个名为Swan的Sprite的变换作为动画的帧,来创建一个天鹅扇动翅膀的动画。先在Hierarchy视图中选中swan,然后选择Window——Animation命令,然后点击下图中的Create按钮,来创建一个空的动画。最后,我们将该动画保存到项目中。

  先在Hierarchy视图中选中swan,然后选择Window——Animation命令,在Animation视图中添加变换的Sprite。

  添加一个关键帧,右击一个关键帧的右侧,选择Add Key命令,然后设置动画帧变换的Sprite。然后重复多次这样的步骤,就可以设置好动画的每一个关键帧,最后点击Animation视图中的播放按钮就可以观看制作好的动画了。

  

2. 创建脚本来实现天鹅飞行的效果

  先创建一个C#脚本,然后编辑代码如下。我们将编辑好的脚本拖动到Hierarchy视图中的swan上,就可以运行游戏,看到动画了。

public class SwanMove: MonoBehaviour {
    private float moveSpeed;
    private Vector3 StartPos; //天鹅初始位置
    // Use this for initialization
    void Start () {
        moveSpeed = 4;
        StartPos = new Vector3(22, 3, 0);//设置天鹅的初始位置
        transform.position = StartPos;
    }

    // Update is called once per frame
    void Update () {
        if (transform.position.x > -22)
        {
            transform.Translate(Vector3.right * -moveSpeed * Time.deltaTime);
        }
        else
        {
            transform.position = StartPos;
        }
    }
}
时间: 2024-11-10 01:17:48

创建基本的2D场景(part1)的相关文章

创建基本的2D场景(part2)

让我们继续来学习Unity2D游戏场景的制作,本文分为以下3个部分: · 添加角色和控制 . 添加2D物理阻挡 · 添加2D效果 通过制作一个移动帽子接保龄球的小游戏,我们可以学习到任何创建游戏对象,使用2D物理引擎和制作2D特效等. ·  添加角色和控制 1. 创建游戏主角帽子 帽子整体由Hat和HatFrontSprite两部分组成,为了让保龄球在被帽子接住时达到进入帽子的视觉效果,我们设置帽子的属性如下两张图所示.Hat的层级为0,而HatFrontSprite的层级为2,我们只要将保龄球

NGUI使用教程(2) 使用NGUI创建2D场景并且添加标签和按钮

1.创建2D场景 要使用NGUI创建2D场景,首先咱们必须新建一个项目,并且导入NGUI作为这个项目的插件,相信如果看过上一篇教程都知道怎么导入NGUI了,这里就不赘述,如果有疑问的可以去看上一篇教程.这里我已经导入成功了.在菜单中可以看到NGUI的菜单 在工程面板中可以看到有NGUI的文件夹 接下来咱们可以点击菜单中的[NGUI]-->[Create]-->[2D UI],创建成功后在Hierarchy面板中可以看到多了一个UI Root 点开UI Root可以看到UI Root底下有一个C

Unity3D学习笔记之七创建自己的游戏场景

到现在为止我们已经拥有了比较完备的Prefab,已经可以创建宏大的游戏场景,并以第一人称视角在场景中漫游了.这里给大家做个小的示范,建一个小场景大家在创建场景的时候需要自由发挥,做个尽量大的场景出来. 这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程<Unity游戏引擎的基础入门视频教程>,下载链接附在第二篇学习笔记中. 我们以最初的添加了First Person Controller的PFB_Straight为整个场景的中心点来展开.我们先从Project中Prefabs文件夹拖出来

使用Unity创建塔防游戏(Part1)

How to Create a Tower Defense Game in Unity - Part1 原文作者:Barbara Reichart 文章原译:http://www.cnblogs.com/le0zh/p/create-tower-defense-game-unity-part-1.html 参考了这篇文章,我打算做一些改进,以及翻译这篇文章的第2部分.如有不恰当的地方,欢迎各位指正. 塔防游戏极为流行,没有什么能比看着自己的防御塔消灭邪恶的入侵者更爽的事了. 你将会学习到 创建一

Three-js 创建第一个3D场景

1.一个场景至少需要的三种类型组件 相机/决定哪些东西将在屏幕上渲染    光源/他们会对材质如何显示,以及生成阴影时材质如何使用产生影响    物体/他们是在相机透视图里主要的渲染队形:方块.球体等 2.浏览器兼容 Moziller Firefox:4.0版本以后开始支持:    Google Chrome:第9版以后开始支持    Safari:5.1版本开始支持:    Opera:12.00版本以后开始支持.要让Opera支持WebGL,你还需要打开opera:config文件,设置We

灵感闪现 篇 (一) 2d场景 3d 效果

中途打断一下 ,框架文档的 更新. 另开一篇主题为 灵感闪现的 板块. 在工作生活中,总有发现新事物或新东西 而让自己突然 灵感闪现的时候,那么这个时候,我必须要抓住,并尽快把 这份灵感实现下来. 之前,开发框架的时候,也是因为有了灵感,才会不断更新,为了更快抓住 最新灵感,我特意开此 贴,连续更新的 文档我还会继续更新, 但 优先权 灵感的东西 总是排在最前面. 这次的灵感是 无意中看了 <白猫计划>游戏的一个功能. 他的场景是2d ,人物是3d,但是 当你移动场景 ,他也能模仿3d这样 近

创建Hello World程序(part-1)

写在前面: 2006年,刚上大学,班上有几个计算机文盲,1分钟打二十几个字都困难,很不幸,我就是其中的一个.强烈的自尊心驱使我不停恶补,翻遍了图书馆的计算机文化基础,知耻而后勇...后来,C语言居然考了90几分,班上第一批考过计算机二级的四大金刚之一(有三个都是程序员,另一个是搞音乐的),不是能力强哈,是背功好,到现在我还可以闭着眼睛写出一个C语言的Hello World程序,多亏了谭浩强的<C语言程序设计>. 工作后,混混噩噩,走上了.net 的开发之路,欲借.Net core之东风, 希望

【Unity】4.0 第4章 创建基本的游戏场景

分类:Unity.C#.VS2015 创建日期:2016-04-05 一.简介 上一章我们学习了如何利用长方体(Cube)制作基本的3D模型,以及如何导入各种资源,本章将在此基础上,分别制作路面.跳板.树.灯光.水面.火光.--等,从而构建一个完整的游戏场景,最后再使用第1人称视图在场景中走一趟,看看各处展现的效果. 二.本章示例运行效果 本章的所有例子都在ch04Demos工程中.

2d场景背景无限滚动

之前都是直接借用的DoTween插件,两个背景无限交替位置进行,还有就是三个背景在利用Trigger进行判断显示与否循环: 示例脚本: private List<RectTransform> m_ScrollGroup; private RectTransform[] _ts; void Awake() { m_ScrollGroup = new List<RectTransform>(); _ts = transform.GetComponentsInChildren<Re