1.导入角色图片并切片

新建文件夹player-将角色图片拖动至该文件夹内-选中图片文件后点击检查器内sprite editor按钮打开编辑器-点击切片按钮-切片方式选择自动-点击应用。

2.创建行走动画

分别选中所有面向前方后方等四个方向切片拖动至层级对话框内,保存文件至player子文件夹walk中,命名为Walk_U等四个文件,完成后删除层级框内刚新建的四个动画对象文件及walk文件夹内四个动画器文件。
这里我的窗口布局改为了默认布局

3.创建静止动画

打开walk文件夹-复制并粘贴Walk_D.admin等四个文件-于unity项目对话框内一次将其重命名为Idle_U等。

双击Walk_D打开动画编辑器-选中第一张动画复制-点击Idle_D切换到Idle_D动画粘贴,将另外三个也做同样处理。

4.建立角色静止动画规则

选中层级内Player对象-拖动项目对话框内Walk_D文件至检查器对话框内添加组件处以创建player动画器。

双击player打开动画器-删除动画器内已存在的Walk_D-右击动画器窗口空白处选择创建状态-新混合树并重命名为Idle,添加两个float类型参数Input_x、Input_y,一个bool类型参数iswalking。

双击打开Idle,检查器内混合类型修改为2D Freeform Cartesian,添加四个运动域-将参数改为Input_x、Input_y-将空运动换为Idle_D、Idle_U等,参数如图。

对此我的理解为:
假设player所在位置设为原点,当player面向Pos点方向时调用前面的motion,例如player往上时,也就是往Y轴正方向,那么pos即为(0,+)可以为(0,1)(0,0.1)(0,2)等,需要调用的动画为Idle_U。

5.建立角色移动动画规则

复制粘贴一份Idle更名为walking,将motion改为对应的walking动画。

6.建立过度条件

右键动画器内Idle创建过渡-取消退出时间-添加条件iswalking-值设为true,同理建立iswalking到idle过渡,设置iswalking为false。

7.创建移动控制脚本

选中层级内player对象,点击添加组件,选择New script

打开新建的脚本文件,编辑代码。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class BehaviourScript : MonoBehaviour
{Rigidbody2D rbody;    //定义变量Animator anim;// Start is called before the first frame updatevoid Start(){rbody = GetComponent<Rigidbody2D>();      //初始化anim = GetComponent<Animator>();}// Update is called once per framevoid Update(){Vector2 vector = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"));    //定义向量,获取水平竖直方向值  使用GetAxisRaw可以兼容方向键游戏手柄等。if (vector!=Vector2.zero)             //判断是否在移动{anim.SetBool("iswalking", true);             anim.SetFloat("Input_x", vector.x);anim.SetFloat("Input_y", vector.y);}elseanim.SetBool("iswalking", false);rbody.MovePosition(rbody.position + vector * Time.deltaTime * 100);      //移动player}
}

注意:
当脚本文件报无法加载关联的脚本时有两种情况,判断方法新建脚本文件不修改文件名若仍然报错则为第二种:1.类名与文件名不一致,解决方案修改类名或文件名。2.环境问题,解决方案删除项目窗口内SuperTiled2Unity文件夹并重新安装,若仍未解决则重装unity。

8.绑定摄像机

新建c#脚本文件,绑定到Main Camera,代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class CameraAuto : MonoBehaviour
{public Transform targer;              //定义变量             public float m_moveSpeed = 0.03f;Camera mycamera;// Start is called before the first frame updatevoid Start(){mycamera = GetComponent<Camera>();       //初始化}// Update is called once per framevoid Update(){//mycamera.orthographicSize = (Screen.height / 0.6f) / 4f;      //设置摄像机范围if(targer){transform.position = Vector3.Lerp(transform.position, targer.position, m_moveSpeed);       //移动摄像机}}
}

保存后选中Main Camera,将Player拖动到Targer即可。

注意:
脚本文件中的public变量会显示在unity脚本组件下拉菜单中,如上图中的targer、movespeed。

三、Unity2D游戏制作——角色制作相关推荐

  1. 次世代游戏建模角色制作全流程,入门太需要这个了

    现在3D建模都在往次世代建模技术发展,不像手绘建模,一个低模加上贴图就搞定了. 在生活质量的提高,电子设备也越来越高档的今天,人们的审美也越来越高.次世代建模技术之所以是目前最流行的技术,在于讲究的一 ...

  2. Unity2D游戏入门Sunnyland制作记录:01安装软件、导入素材

    01安装软件 点击链接进入Unity官网:Unity官网 ①点击下载Unity ②选择要下载的版本(我使用的是2020.3.14f1c1版本,建议把Hub也下载下来,VS2019也需要下载) ③下载成 ...

  3. Unity2D游戏入门Sunnyland制作记录:02编辑素材、Tilemap

    编辑素材 ①设置背景图片 下方依次点击: Assets–>Sunnyland–>artwork–>Environment 选择back图片 ②将back图片的每单位像素改为16,使画 ...

  4. # 使用Scratch 3.0制作弹球游戏(三)——游戏关卡及难度设计

    目录 使用Scratch 3.0制作弹球游戏(三)--游戏关卡及难度设计 1.第一关 1.1第一关游戏角色需求 1.2第一关游戏玩法设计 1.3角色设计--球 1.4角色设计--接球平台 1.5背景设 ...

  5. 游戏角色制作行业标准?深度技术好文,建模新手必看!

    今天给大家带来佩德兰-卡里姆法兹利,关于游戏角色制作,测试,以及衣服和皮革相关的经验分享.今天还是朋友帮忙翻译的一篇好文,感谢感谢! 自我介绍 大家好,我叫佩德兰-卡里姆法兹利,是一位来自于瑞典的角色 ...

  6. 【游戏开发实战】使用Unity制作像天天酷跑一样的跑酷游戏——第三篇:跑酷地面制作

    文章目录 一.前言 二.导入地面素材 三.制作地面预设 四.使用脚本控制地面移动 五.起始和结束位置 六.复制多个地面预设 七.运行效果 一.前言 嗨,大家好,我是新发,今天是大年初三,大家牛年快乐, ...

  7. 游戏制作 RPGDreamer (三)--格斗游戏(拳皇素材)

    其实格斗类游戏我玩得不多,只玩过街霸,由于技术菜,实在不舍得把宝贵的游戏币投入到格斗游戏中,花一块币玩个十几二十分钟的过关类游戏不香吗?这个格斗游戏用了些拳皇的素材,但手感和操作性肯定不是能和拳皇比的 ...

  8. 什么是次世代游戏?科普次世代游戏角色制作过程

    一.什么是次世代游戏 次世代这个名字源自日语,即下一个时代,未来的时代.既然说它来自最先进的时代,那么次世代游戏肯定相比传统游戏画质更高,品质更好呀.与传统游戏相比,次世代游戏能够以精简的面数表达出高 ...

  9. 游戏角色制作行业标准? 快来看看吧

    大家周末愉快,今天给大家带来佩德兰-卡里姆法兹利,关于游戏角色制作,测试,以及衣服和皮革相关的经验分享.今天还是朋友LMC帮忙翻译的一篇好文,感谢感谢! 自我介绍 大家好,我叫佩德兰-卡里姆法兹利,是 ...

最新文章

  1. 人工智能的影响调查_调查报告|文科大学生群体对于人工智能影响 就业的认知程度:基于访谈的质性研究...
  2. mysql填加序列号(仿照oracle row_number函数)
  3. chrome items hidden by filters
  4. idea学生认证用了一年后过期了怎么办?
  5. c 后台输出easyui html,EasyUI——实现展示后台数据代码
  6. 利用ArcGIS Python批量拼接裁剪遥感影像(arcpy batch processing)
  7. python反转一个整数、123变成321_python整数反转算法
  8. cmder 基本配置和使用
  9. Android学习笔记:短信控制手机之“短信开启定位”
  10. 机器学习之SVM调参实例
  11. kafka架构、基本术语、消息存储结构
  12. SQL Server2019 Express下载安装教程-——孟师傅
  13. android源码中国地图,Android 绘制中国地图
  14. 【基于51】红外寻迹智能小车-硬件篇
  15. golang使用gomonkey和monkey来mock方法或者函数时报panic: permission denied [recovered]
  16. 加权随机采样 (Weighted Random Sampling)
  17. JavaScript监听键盘事件,组合键事件
  18. 清华“姚班”大佬豆瓣征婚被网暴
  19. 服务器屏幕不全屏显示,服务器窗口显示不全屏
  20. 用于 CPX、CPX-VF 和 CRX-VF 探针台的新手提箱选项

热门文章

  1. DLL线程中坑爹的Synchronize?
  2. python辗转相除_python(四):辗转相除
  3. 数据结构:渐进记法详解
  4. 微信小程序云开发:使用excel-export导出excel
  5. Java:在不同界面样式下JPopupMenu与鼠标事件mousePressed表现的结果不同!
  6. spring全集 - - - 第五章RESTful开发
  7. oppo服务器暂时不可用,oppo手机网络连接不可用是怎么回事
  8. IDM安装与下载百度云文件
  9. base64图片去白底
  10. 黑群辉安装php,黑群晖从装机到使用全过程 篇五:群晖安装VirtualBox虚拟机