引擎综合项目3day

128 阅读2分钟

首先拼接一个人物模型

image.png

  1. 利用空对象,进行组合人物细节。 image.png
  2. 使用的方法是:

(1) 添加一个Sprite Renderer 组件

(2) 在精灵位置添加相应的部分的图像。 image.png

(3)分别组装 调整对应层级顺序

拼接树的模型

1.组装方法同人物的模型相似 。

image.png

2.注意树的组装层级

image.png

人物移动时 两个模型之间的图层关系。

为了解决,在2d 中两个模型的相互显示顺序。

image.png

1.在Player 身上添加一个 SortingGroup 的插件

image.png

2.将SortingGroup 和 sprite Renderer 排序图层选择对应的图层

image.png

3.因为树和人相差的高度问题,需要将树的sprite 的排序点改为轴心

image.png

4.将编辑 的项目设置中的 摄像机设置为 自定义轴 然后要以Y为改变显示的轴 image.png

树的动画设置。

2d 中可以通过动画器来重复刷新树叶的位置,来模拟动画的效果

image.png

添加动画器 添加动画,将 所需要的动画剪辑的图片拖入到动画里面 。

开启Tile Palette面板

安装

如果当前项目还没有使用过Tile Palette面板,可能需要临时下载:
打开Window > Pack Manager,然后搜索2D Tilemap Editor,点击Install进行安装。

解决的问题是, 使用插件来讲 相机自动跟随Player 。 image.png

image.png

将插件相机的跟随对象和看向对象 改为Player目标

image.png

地图的绘制

1.添加空对象,先命名为对应名称 image.png (1)给collision 设置刚体 改为静态的刚体

image.png

2、添加组件 Gird 组件。

image.png

  1. 调用出涂色板进行绘制

image.png

image.png

编写人物移动的代码

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

public class Player : MonoBehaviour
{
    private Rigidbody2D rig; //刚体
    private float inputX;
    private float inputY;

    private Vector2 movementValue; //二维的信息

    private float speed=3;
    private void Awake()
    {
        rig =GetComponent<Rigidbody2D>(); // 唤醒是获取角色身上的刚体

    }
    private void Update()
    {
        getMoveValue();
    }
    private void FixedUpdate()
    {
        move();
    }
    //获取x,y  的偏移量变化值 
    private void getMoveValue()
    {
        inputX = Input.GetAxisRaw("Horizontal");
        inputY = Input.GetAxisRaw("Vertical");
        movementValue = new Vector2(inputX,inputY);
        //print(movementValue.normalized);// 取模
        movementValue = movementValue.normalized;// 偏移速度太快了。 所以呢将偏移量进行取模的操作。
    }
    // 实现任务的移动
    private void move()
    {
        rig.MovePosition(rig.position + movementValue * Time.deltaTime*speed);
    }
}