Unity Sunny Land开发流程(一)

0.写在前面

  此篇博客用来记录游戏开发过程中遇到的各种问题以及大致的流程,方便自己以后回顾学习,如果想要了解完整的开发过程,最好去看教学视频。
   U n i t y Unity Unity版本: 2019.4.12 f 1 2019.4.12f1 2019.4.12f1
  相应的视频教程请在 B B B站搜索 u p up up M _ S t u d i o M\_Studio M_Studio观看。

1.导入素材

  在商店中搜索 S u n n y   L a n d Sunny\ Land Sunny Land即可找到对应的资源,下载后导入到当前项目即可。
在这里插入图片描述

2.编辑素材&Tilemap

  在编辑背景等图片资源之前有一个知识点需要我们了解,那就是单位格:
在这里插入图片描述
  上图所示的每一个小方格都是单位格,而图片资源会有如下属性:
在这里插入图片描述
  通过修改这一参数(单位长度内的像素个数),我们就可以控制图片资源显示的大小。该项目内统一使用 16 16 16
  下面简单介绍一下 T i l e m a p Tilemap Tilemap是什么,怎么用。我们可以先看一张图片:
在这里插入图片描述
  简单来说,利用 T i l e m a p Tilemap Tilemap我们可以快速的创建 2 D 2D 2D地图。通过对 S p r i t e Sprite Sprite也就是图片的切分,我们可以得到一个个 T i l e Tile Tile,他们就相当于颜色;我们可以把它们附着在 P a l e t t e Palette Palette上面(调色板);然后通过 B r u s h Brush Brush T i l e m a p Tilemap Tilemap也就是场景中绘制,就像画画一样。那么在 u n i t y unity unity中整个流程是怎么样的呢?
   1. 1. 1.切分图片。
在这里插入图片描述
   2. 2. 2.创建 P a l e t t e Palette Palette
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

   3. 3. 3. T i l e Tile Tile添加到 P a l e t t e Palette Palette中(拖入图片创建 T i l e Tile Tile)。
在这里插入图片描述
   4. 4. 4.在场景中创建 T i l e m a p Tilemap Tilemap
在这里插入图片描述

   5. 5. 5.通过 B r u s h Brush Brush T i l e Tile Tile绘制到 T i l e m a p Tilemap Tilemap中。
在这里插入图片描述
  如果在 g a m e game game视图下看到场景中有缝隙,可以修改这个参数:
在这里插入图片描述

3.图层layer&角色建立

  有时候我们需要控制场景中不同物体的渲染顺序,比如地形之类的应该在背景之上显示,这个该怎么做呢? S o r t i n g   L a y e r 、 O r d e r   i n   L a y e r Sorting\ Layer、Order\ in\ Layer Sorting LayerOrder in Layer。前者选中的 l a y e r layer layer越靠下,显示的越靠上;同一 l a y e r layer layer中,后者的值越大,显示的越靠上。
在这里插入图片描述
  想要创建人物,首先要在场景中创建一个精灵,然后修改它所引用的图片。同时不要忘了修改位置、层级以及图片的大小( P i x e l s   p e r   u n i t Pixels\ per\ unit Pixels per unit)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  但是此时我们的人物还不会动,也不受重力影响。所以我们需要为其加上 r i g i d b o d y 2 D rigidbody2D rigidbody2D和碰撞体组件,当然,场景中的地形也需要加上碰撞体。

4.角色移动

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour
{
   
    private Rigidbody2D rb2d;

    public float speed = 5f;
    // Start is called before the first frame update
    void Start()
    {
   
        rb2d = GetComponent<Rigidbody2D>();
    }

    // Update is called once per frame
    void Update()
    {
   
        Movement(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值