【游戏开发实战】使用Unity制作像天天酷跑一样的跑酷游戏——第三篇:跑酷地面制作
文章目录
- 一、前言
- 二、导入地面素材
- 三、制作地面预设
- 四、使用脚本控制地面移动
- 五、起始和结束位置
- 六、复制多个地面预设
- 七、运行效果
一、前言
嗨,大家好,我是新发,今天是大年初三,大家牛年快乐,牛气冲天。
我打算写一篇使用Unity制作像天天酷跑一样的游戏的教程,会按功能点分成多篇文章来讲,希望可以帮助一些想学Unity的同学。
注:我使用的Unity版本是2020.1.14f1c1。
文章目录:
第一篇:人物动画序列帧
第二篇:使用Animator控制跑酷角色的动画状态切换
第三篇:跑酷地面制作
第四篇:使用脚本控制跑酷角色
第五篇:游戏结束与重新开始
第六篇:金币创建与吃金币
第七篇:游戏界面的基础UI
本工程的Demo工程,我已上传到GitHub,感兴趣的同学可以自己下载下来学习。
https://github.com/linxinfa/UnityParkourGameDemo
本节我将讲下如何制作地面,本节的效果:
二、导入地面素材
将地面素材导入Unity中。
在Unity中设置好Slice。
三、制作地面预设
将其制作成预设。
每个地面图片使用SpriteRenderer组件来渲染。
添加一个BoxCollider2D碰撞体。
如下:
四、使用脚本控制地面移动
游戏中看起来是角色在跑,其实角色没有跑,是地面在跑,所以我们要写一个脚本来控制地面的移动。
创建一个Ground.cs脚本。
地面从起始位置移动到结束位置,到大结束位置后又立刻回到起始位置。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Ground : MonoBehaviour
{private Transform groundTranform;/// <summary>/// 地面移动的结束位置/// </summary>private Transform end;/// <summary>/// 地面移动的起始位置/// </summary>private Transform start;/// <summary>/// 地面的移动速度/// </summary>private float moveSpeed = 0.1f;// Start is called before the first frame updatevoid Start(){groundTranform = transform;end = GameObject.Find("GroundEndPos").transform;start = GameObject.Find("GroundStartPos").transform;}// Update is called once per framevoid Update(){if (groundTranform.position.x > end.position.x){groundTranform.position -= new Vector3(moveSpeed, 0, 0);//往左移动}else//到达结束点{BackToStart();}}/// <summary>/// 回到起始点/// </summary>void BackToStart(){float yPosOffset = Random.Range(3, 20) * 0.1f; //随机高度偏移float xPosOffset = Random.Range(5, 15) * 0.1f; //随机水平偏移groundTranform.position = start.position + new Vector3(xPosOffset, yPosOffset, 0);}
}
将脚本挂到ground预设上。
五、起始和结束位置
创建两个空物体,分别命名为GroundStartPos和GroundEndPos作为起始位置和结束位置,如下:
六、复制多个地面预设
复制多个地面预设,摆好它们的位置,使其覆盖屏幕,如下:
七、运行效果
运行Unity,效果如下:
加上角色和背景图,效果如下:
下一节讲下用脚本控制角色。
[点击进入下一节]
【游戏开发实战】使用Unity制作像天天酷跑一样的跑酷游戏——第三篇:跑酷地面制作相关推荐
- 【游戏开发实战】(完结)使用Unity制作像天天酷跑一样的跑酷游戏——第七篇:游戏界面的基础UI
文章目录 一.前言 二.导入游戏界面UI素材 三.制作游戏界面UI预设 四.事件管理器 五.编写GameMainPanel.cs脚本 六.游戏管理器添加金币逻辑 七.加金币 八.跳跃事件 九.运行测试 ...
- 【游戏开发实战】使用Unity制作像天天酷跑一样的跑酷游戏——第一篇:人物动画序列帧
文章目录 一.前言 二.创建工程 三.导入序列帧图片素材 四.设置图片格式 五.切割序列帧 六.制作序列帧动画 七.运行效果 一.前言 嗨,大家好,我是新发,今天是大年初一,大家牛年快乐,牛气冲天. ...
- 【游戏开发实战】使用Unity制作像天天酷跑一样的跑酷游戏——第二篇:使用Animator控制跑酷角色的动画状态切换
文章目录 一.前言 二.制作一段跳.二段跳动画 三.编辑动画控制器 四.运行效果 一.前言 嗨,大家好,我是新发,今天是大年初二,大家牛年快乐,牛气冲天. 我打算写一篇使用Unity制作像天天酷跑一样 ...
- 【游戏开发实战】使用Unity制作像天天酷跑一样的跑酷游戏——第六篇:金币创建与吃金币
文章目录 一.前言 二.导入金币图片素材 三.制作金币预设 四.制作多个形状的金币阵列 五.金币创建器 六.运行测试 一.前言 嗨,大家好,我是新发. 我打算写一篇使用Unity制作像天天酷跑一样的游 ...
- 【游戏开发实战】使用Unity制作像天天酷跑一样的跑酷游戏——第四篇:使用脚本控制跑酷角色
文章目录 一.前言 二.给角色添加碰撞器 三.给地面设置Tag 四.创建Player脚本 五.运行测试 一.前言 嗨,大家好,我是新发,今天是大年初五,大家牛年快乐,牛气冲天. 我打算写一篇使用Uni ...
- 【游戏开发实战】使用Unity制作像天天酷跑一样的跑酷游戏——第五篇:游戏结束与重新开始
文章目录 一.前言 二.制作边界碰撞体 三.制作游戏结束界面 四.游戏结束界面脚本 五.游戏管理器 六.碰撞检测逻辑 七.运行测试 一.前言 嗨,大家好,我是新发. 我打算写一篇使用Unity制作像天 ...
- 【游戏开发实战】Unity手游第一人称视角,双摇杆控制,FPS射击游戏Demo(教程 | 含Demo工程源码)
文章目录 一.前言 二.实现方案 1.无主之地,第一人称视角 2.我之前做的摇杆控制 3.第一人称视角 + 摇杆控制 三.开始实战 1.资源获取:Unity AssetStore 2.Low Poly ...
- 【游戏开发实战】Unity从零开发多人视频聊天功能,无聊了就和自己视频聊天(附源码 | Mirror | 多人视频 | 详细教程)
文章目录 一.前言 二.思考问题与解决方案 1.思考问题 2.解决方案 2.1.Unity中如何开启摄像头并对图像进行采样 2.2.图像如何中转给其他客户端 2.3.如何实现清晰度切换 2.4.客户端 ...
- 【游戏开发实战】Unity快速搭建体素风格关卡地图(Tile3D | 我的世界 | Voxel | 场景 | 编辑器)
文章目录 一.前言 二.本文最终效果 三.MAST工具基本操作 1.工具下载:Modular Asset Staging Tool(MAST) 2.导入工具:Import 3.创建场景:Scene 4 ...
最新文章
- php约瑟夫问题,php 解决约瑟夫问题实现方法
- 重建输入表 - 脱壳篇04
- linux程序崩溃时调用链,Linux 获取并分析程序崩溃时的调用堆栈
- Webpack进阶(三)
- 干掉 BeanUtils!试试这款 Bean 自动映射工具,真心强大!
- Kryo 为什么比 Hessian 快
- 腾讯美的入股的语音AI公司SoundHound,拿什么挑战谷歌亚马逊?
- 【渝粤教育】电大中专金融与税收 (2)_1作业 题库
- 数据结构精品电子书分享之《数据结构题集(C语言版)》
- 卸下重负,苏宁易购重组价值逻辑
- bch纠错码 码长8_BCH码-BCH码原理-BCH码分类-BCH码的应用-什么是BCH码-测控百科-CK365测控网...
- 短信验证码和邮箱验证码
- 丹尼带你入坑无人机3 - 四轴飞行原理
- 关于ROHDESCHWARZ公司电流探头EZ-17系数修正的说明
- 代理http,代理https,代理sk5,的正向代理和反向代理
- linux安装atari环境实录
- 珞石(ROKAE)机械手简单的编程
- 查询表名所在数据库名
- 奥利给 之 【优学院自定义速度】
- IDEA中如何进行GIT分支合并(转)