专业的编程技术博客社区

网站首页 > 博客文章 正文

Unity2019基础教程:Unity怎样添加角色?怎样使镜头跟随角色?

baijin 2024-09-09 01:03:47 博客文章 20 ℃ 0 评论

Unity游戏开发涉及C#代码编写,不是我的强项。目前我只想试试能不能用Unity做一些简单的2D小游戏。对于Unity我是纯正萌新,教程如有问题欢迎指出错误。

上次在朋友圈吐槽C#难学之后,不少朋友推荐了playmaker插件(不需要编程就可以做游戏的神器),等我啃完Unity基础之后再去研究playmaker吧~学会了我再写教程。

将角色导入Unity

首先需要在Aseprite里面设计好角色,然后100%尺寸导出SpriteSheet,放大角色在Unity里面完成。




将存好的char.png图片(图片名称在Aseprite导出的时候可以自己设置)直接拖入Unity Assets/Sprites目录(如果是新建的project需要自己建目录)。

选中char.png图片,在Unity右侧属性面板,将Sprite Mode 改为Multiple(如果是单张图片则不需要改),然后点击Sprite Editor来切图。



在弹出的Sprite Editor窗口中,点击Slice,Type选Grid By Cell Size,Pixel Size填入角色的尺寸14X31(这是每一个序列帧的尺寸大小),点击Slice切图完成。切完图以后点击Sprite Editor窗口属性条右边的Apply,如果不点退出的时候Unity也会提醒你Apply。



切图完成以后,每一个切片会被命名为“图片名_0“,如果一张图片上有多个动作,就需要选中每一个切片重命名。如果需要导入的图片太多,是不是挺烦的?



以前介绍过一个像素画免费导入插件AnimationImporter,挺好用的。现在学会了使用Unity导入资源,才知道插件到底牛在哪。不管插件多么好用,我建议还是要学会Unity的导入方法,一步一个脚印才好。

将角色添加到场景

在Assets/Sprites目录选中char.png,然后在右侧属性窗口设置Pixels Per Unit 为20(100的话,需要放大角色,效果不好);Filter Mode设为Point;Compression设为None。然后将char_0拖入场景。



使镜头跟随角色

在Assets目录新建Scripts目录,然后新建c#文件。

将c#文件内的代码替换为:

using UnityEngine;
using System.Collections;
?
public class CameraLerpToTransform : MonoBehaviour
{
?
 public Transform camTarget;
 public float trackingSpeed;
 public float minX;
 public float minY;
 public float maxX;
 public float maxY;
?
 void FixedUpdate()
 {
 if (camTarget != null)
 {
 var newPos = Vector2.Lerp(transform.position,
 camTarget.position,
 Time.deltaTime * trackingSpeed);
 var camPosition = new Vector3(newPos.x, newPos.y, -10f);
 var v3 = camPosition;
 var clampX = Mathf.Clamp(v3.x, minX, maxX);
 var clampY = Mathf.Clamp(v3.y, minY, maxY);
 transform.position = new Vector3(clampX, clampY, -10f);
 }
 }
}

然后选中c#文件,拖到Main Camera摄像机镜头上。然后选中Main Camera,将场景中的char_0拖到Cam Target里面,这样就实现镜头跟随角色拉。



成功以后,摄像机会显示在角色身上,而不是在场景中间。

完。

本账号系网易新闻-网易号“各有态度”签约账号

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表