【学习笔记】自学Unity Day02

这篇具有很好参考价值的文章主要介绍了【学习笔记】自学Unity Day02。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:主要想记录下自己自学的过程、期间遇见的问题、不同版本需要调整的地方,方便以后复习能及时找到对应的部分;同时也希望给想要入门游戏开发、学习unity的各位一些经验,减少一些弯路

学习资料目前主要依靠 unity 官网,我的想法是先根据官方的游戏套件能够做出个可玩的小游戏,这样有一定的正反馈更容易坚持下去

下面是学习 unity 过程中经常要用到的一些网站

unity learn:https://learn.unity.com/

中文课堂:Unity3d 教程 | Unity 中文课堂

资源商店:Unity Asset Store - The Best Assets for Game Making

用户手册:Unity - Manual: Unity User Manual 2022.3 (LTS)

开发工具:unity hub3.7.0、visual studio 2022、rider(和vs 2选1即可)

之前的文章

【学习笔记】自学Unity Day01https://blog.csdn.net/SCH_Evile/article/details/137154843

上一篇文章已经能够让 ruby 进行移动,现在我们修改脚本,让我们能够通过键盘的输入控制 ruby 的移动

通过键盘输入控制 ruby 移动

查看 unity 的输入设置:edit - project settings - input manager(旧版本在 input 中)

【学习笔记】自学Unity Day02,unity,学习,笔记,unity,游戏,游戏引擎,个人开发

对于键盘按键,负值键(a、左方向键)按下时为 -1,正值键(d、右方向键)按下时为 1;通过 input system 可以方便的自定义操作按键

双击打开脚本 RubyController,修改 update 方法

// 获取键盘输入 
float horizontal = Input.GetAxis("Horizontal"); 
Vector2 position = transform.position; 
position.x = position.x + 0.1f * horizontal; 
transform.position = position;

说明:GetAxis 和 GetAxisRaw 都可以获取键盘的输入,两者的区别在于 GetAxisRaw 返回的是 -1,1;而 GetAxis 返回的是 -1 - 1之间的数,有个渐变的过程

注意:字符串 "Horizontal" 需要和 input manager 中的 Name 保持一致

现在如果没有按键,则 horizontal 的值为 0, ruby 不会进行移动,反之则进行左右移动

添加垂直移动

和水平移动类型,先在 input manager 中查看垂直移动的输入信息

【学习笔记】自学Unity Day02,unity,学习,笔记,unity,游戏,游戏引擎,个人开发

可以看到对应的 Name 是 Vertical,对应的键盘输入是 s、w 和方向键上、下

在脚本的 update 方法中添加如下代码

float vertical = Input.GetAxis("Vertical");

调整移动速度

update 方法每帧都会调用,不同的电脑配置可能会导致相同时间 ruby 的移动速度不同,为了让 ruby 的移动速度在不同的配置下保持一致,我们需要做些配置;

可以在 unity 的 game 视图右侧点击 state,即可查看游戏运行时的帧数

【学习笔记】自学Unity Day02,unity,学习,笔记,unity,游戏,游戏引擎,个人开发

要解决这个问题,我们需要用单位/秒来移动 ruby,为此我们需要修改 update 脚本

// 获取键盘输入 
float horizontal = Input.GetAxis("Horizontal"); 
float vertical = Input.GetAxis("Vertical"); 

Vector2 position = transform.position; 

// 让 ruby 保持一致的移动速度
position.x = position.x + 0.1f * horizontal * Time.deltaTime; 
position.y = position.y + 0.1f * vertical * Time.deltaTime; 

transform.position = position;

说明:0.1f * horizontal * Time.deltaTime

0.1f 就是 ruby 的速度

horizontal 表示方向矢量,表示移动的方向(1 向右 -1 向左)

Time.deltaTime 表示每帧运行的时间

三者的乘积即表示当前帧的移动距离和方向

现在我们可以调整 ruby 的移动速度,同时让 ruby 在不同的环境下保持一致的速度文章来源地址https://www.toymoban.com/news/detail-854920.html

到了这里,关于【学习笔记】自学Unity Day02的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity3D学习笔记——物理引擎

    1简介 刚体可以为游戏对象赋予物理特性,是游戏对象在物理系统的控制下接受推力和扭力,从而实现现实世界的物理学现象。 2属性 1简介 碰撞器是物理组件的一类,他与刚体一起促使碰撞发生 碰撞体是简单形状,如方块、球形或者胶囊形,在 Unity 3D 中每当一个 GameObjects

    2023年04月12日
    浏览(51)
  • unity学习笔记----游戏练习06

    一、豌豆射手的子弹控制 创建脚本单独控制子弹的运动 用transform来控制移动     void Update()     {         transform.Translate(Vector3.right * speed * Time.deltaTime);     } 创建一个控制子弹速度的方法,方便速度的控制 private void SetSpeed(float speet)     {         this.speed = speet;     } 回到

    2024年01月25日
    浏览(45)
  • unity学习笔记----游戏练习05

    一、阳光的收集和搜集动画开发 1.收集阳光的思路:当鼠标点击到阳光的时候,就可以进行收集了。可以通过为添加一个碰撞器来检测Circle Collider 2D 编写脚本: 在SunManager中写一个增加阳光的方法     //增加阳光     public void AddSubSun(int Point)     {         sunPoint += Point;  

    2024年02月20日
    浏览(35)
  • 零基础小白如何自学 Unity 游戏开发?(送 Unity 教程)

    有很多同学对 游戏开发 很感兴趣,但都不知道从何学起,缺乏目的性,往往会走不少弯路,本文正是为了帮助大家少走弯路。 “游戏开发”看似只有四个字,但涉及的内容有很多,包括 UI、建模、绘画、动画系统、粒子系统、图形学、物理系统等等。内容多需要学习的知识

    2023年04月09日
    浏览(47)
  • 游戏思考17:寻路引擎recast和detour学习三:客户端角度学习(unity专题导航系统,阶段三完结)

    1)导航系统作用 帮助角色进行AI智能移动:朝目标移动,绕过障碍物,上下台阶… 2)导航系统包括 ①导航网格(NavMesh):下图的蓝色地形,可以行走的表面 ②导航网格代理组件(NavMesh Agent):模拟人物移动和寻路 ③导航网格障碍物(NavMesh Obstacle):定义物体为障碍物,这样导航网

    2023年04月12日
    浏览(61)
  • Unity学习笔记[一] RollBall小游戏

    目录 一、适配vs 二、初识Unity 2.1 unity核心模块 2.2 Unity基本操作和场景操作 2.3 世界坐标系和局部坐标系 2.4 工具栏 QWER 三、基础知识 3.1 基本组件 3.2 刚体组件 3.2.1 获取刚体组件 3.2.2 给刚体施加力 3.3 三维向量Vector3 3.4 通过按键控制左右运动 3.5 控制相机位置和跟随 3.6 物体

    2023年04月09日
    浏览(45)
  • Unity-3DRPG游戏 学习笔记(1)--使用URP渲染管线

    教程地址: Unity2020 3DRPG游戏开发教程|Core核心功能01:Create Project 创建项目导入素材|Unity中文课堂_哔哩哔哩_bilibili 创建URP通用渲染管线(2021版本) 1. 打开:Windows--Package Manager--左上角下拉选择Unity Registry--搜索Universal RP--Install 2. Project窗口--Assets--右键Create--Rendering--URP Asstes

    2024年02月11日
    浏览(46)
  • 十八、Unity游戏引擎入门

    1、下载     首先需要下载Unity Hub,下载网址:https://unity.com/cn。     然后在其中下载Unity编辑器并安装,可选择最新版本。     接着需要选择适合的开发环境,例如Android Studio或Xcode,以便进行手机游戏开发。在安装完Unity后,需要根据项目需求下载对应的模块和插件,例

    2024年02月16日
    浏览(79)
  • 【Unity学习笔记】b站Unity架构课Unity3D 商业化的网络游戏架构(高级/主程级别)

    自己跟着学完了,写了不少代码,会放在CSDN代码库,因为老师并没有提供源码,录屏也不是完全连续,所以难免 有代码缺少、无法运行 的情况,但是确实学到了不少真本事,主要是了解老师的架构思想。 b站课程地址 课程我自己是跟着学完了的,本文是个人笔记记录和好课

    2024年02月02日
    浏览(57)
  • Week 08-day02-Unity网络通讯之聊天室

    简单UI拖拽一下:  聊天室实现步骤: 1.向服务器发送消息 2.刷新Content聊天界面 3.清空输入框  代码: chatPanel: NetManager: 加上服务器运行截图: 代码: 动态链接库:ProtocolConfig: 动态链接库:ProtocolEnum: 动态链接库:SocketMessage: Main函数: NetManager: ClientPeer类: ClientMessage类:

    2024年02月06日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包