unity 点击ui等同于按键输入_Unity基础教程-物体运动(一)——滑动小球(Player-Controlled Motion )...

这篇教程介绍了如何在Unity中控制3D物体运动,特别是通过玩家输入来滑动小球。从设置场景、读取玩家输入、归一化输入向量、约束位置等方面详细阐述,讲解了如何实现2D平面内小球的移动、速度控制和边界约束。适合初学者学习Unity基础操作。
摘要由CSDN通过智能技术生成

930892fb380c781a9c16612d11560839.png

c5060487ef91003f29abb1803fad2bfa.png

200+篇教程总入口,欢迎收藏:

放牛的星星:[教程汇总+持续更新]Unity从入门到入坟——收藏这一篇就够了​zhuanlan.zhihu.com
b7e124066f6865345d8cc0af8f5df87c.png
本文重点内容:
1、在平面上放置一个带有拖尾的小球
2、基于用户的输入来定位小球的位置
3、控制速度和加速度
4、限制小球的位置并且让其从边缘反弹

这是有关控制角色移动的教程系列的第一部分。具体来说,我们将根据玩家的输入滑动一个球体。

本教程是CatLikeCoding系列的一部分,原文地址见文章底部。

本教程使用Unity 2019.2.9f1制作。假设你已经先阅读了基础教程。

d4ac008fb62ffec53a38ef773067137e.png
一个被困在平面上的小球

1 控制位置

许多游戏的玩法都是基于一个角色需要四处走动从而达成目标的。玩家的任务是引导角色。动作游戏通常通过按键或转动操作杆来操纵角色,从而为你提供直接控制。点击游戏可让你指示目标位置,角色会自动移动到该位置。编程游戏可让你编写角色执行的指令。等等。

在本教程系列中,我们将重点介绍如何在3D动作游戏中控制角色。我们从简单的开始,在一个小的平面矩形上滑动一个球体。一旦我们熟练掌握了这点,将来我们就可以使其变得更加复杂。

1.1 设置场景

从一个新的默认3D项目开始。尽管你可以使用自己选择的渲染管线,但此时我们并不需要Package Manager。

我始终使用线性颜色空间,但你可以在项目设置中通过“Edit Project Settings Player / Other Settings”进行配置。

76f42900d4d97cd3d443cde12f53c5ae.png
线性颜色空间

默认的SampleScene场景具有一个主摄像头和一个定向光,我们将保留它们。创建一个代表地面的平面以及一个球体,两者均位于原点。默认球体的半径为0.5,因此将其Y坐标设置为0.5,使其看起来像位于地平面的上面。

e690081615e365bca9cd011473d942d1.png
场景层次

我们将自己限制为在地面上进行2D运动,因此我们把摄像机向下放置在平面上方,以便在游戏窗口中清晰地看到游戏区域。再将其投影模式设置为正交。脱离了透视之后,使我们能够看到2D运动而不会变形。

7160daa6767509183c80df268b9339b8.png
正交相机 视野朝下

唯一还有影响的是球体的阴影。通过将灯光的“阴影类型”设置为“None”来摆脱它。

c35950b7b88797292a0de2c95a0e8908.png
光不使用阴影

为地面和球体创建材质,并根据需要进行配置。我将球体设为黑色,将地面变暗为浅灰色。还将通过Trail来可视化运动,因此也要为此创建材质。这里将使用一种淡红色的材质。最后,我们需要一个MovingSphere脚本来实现移动。

fdc13fe749357717ac87cb1f7fc1cb1b.png
项目的Asset

该脚本可以从MonoBehaviour的空继承开始。

940104681e610040a9ec1dc237ae96ca.png

53d7e05578855b0d446b860957a85b44.png
Game 视图

将TrailRenderer和我们的MovingSphere组件都添加到球体中。保持其他一切不变。

2a2d1d6c8d9b384e47a9d6cf06f8904e.png
球体 绑定Component

将trail 材质 分配给TrailRenderer组件的Materials数组的第一个也是唯一的元素。它并不需要cast shadows,虽然并不是必需要禁用,但是我们还是把它顺手关掉吧。除此之外,将“Width ”从1.0减小到更合理的值(例如0.1),这将生成一条细线。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值