Unity 官方教程1

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

目录

1.UnityPlayground小游戏

1.创建玩家

2.添加物品

3.添加背景

预制件


1.UnityPlayground小游戏

1.创建玩家

  1. 打开项目: 打开前面课程中已经准备好的 playground 项目

  2. 创建新场景: project 窗口 --> Assets/scenes 文件件,右键 create scene ,创建只带有一个 camera 对象的场景,重命名为 PlaneAsteroid

  3. 添加玩家飞船:

    • project 窗口 --> Assets/Images/SpaceShips/ 拖拽其中一个飞机到 Hierarchy 中,让飞船对象成为 PlaneAsteroid scene 的子对象;

    • 选中飞船,在 inspector 窗口中,将对象命名为 Ship ,并将 Tag 选中为 Play

    • 注意: 尽可能拖拽素材到 Hierarchy 中,可以直接确定对象间父子关系;当然,如果为了定位方便,将素材拖拽到 scene 中,也可以,但记住要调整对象嵌套关系

    4.让飞船动起来:

  • 添加组件,将脚本:Move with Arrows 绑定到飞船对象上

  • 一旦你添加了 Move 脚本,还会自动添加一个 Rigidbody2D 组件。这是因为 Move 需要 Rigidbody2D 才能起作用。

  • 调整 Gizmos 中的脚本图标大小,将其缩小:使用 Scene 视图中的下拉表单辅助图标进行缩小。将 3D Icons 滑动条向左拖动,直到图标大小合适。

2.添加物品

RigidBody2D 组件和移动脚本组件上,暴露出很多物理引擎相关的参数值,通过调整,可以改善游戏体验

  • 在 RigidBody2D 组件上,我们要将 Gravity 修改为 0

  • Orient to direction:船头朝向移动方向

  • Friction :摩擦力,设置为 5 可以消除漂移

  • Speed : 更改速度

  • mass :质量,影响惯性

  • 相关概念:

    • 物理引擎: Unity 中,包含了完整的物理引擎,可以让开发者非常方便地模拟显示中的物理现象,比如:质量、惯性、重力、速度、加速度、碰撞、反弹等等。 物理系统 官方文档

    • RigidBody(刚体): 是实现游戏对象的物理行为的主要组件。如果想让一个游戏对像能被物理引擎所影响,就必须为其添加 RigidBody 组件,分为 2D 和 3D,分别针对不同的游戏类型。刚体可以接受力和扭矩(通过脚本编写代码来实现),向刚体施加力/扭矩实际上会改变对象的变换组件位置和旋转。 2D 刚体官方文档

碰撞体:Collider

3.添加背景

3.1 添加用户界面

通过用户界面(user interface)给玩家回馈信息

将 UserInterface 预制件从 /Prefabs 文件夹拖入到场景中。在你查看 Game 视图时,系统会自动显示一个 UI 弹出窗口,其中包含 Score 和 Health 属性。

3.2 用图片精灵作为背景

inspector 中drawMode 设置为频谱平铺

Visiblity Optition 中layer设置为 Backgound

预制件

多个相同对象配置值相同,设置模板

  1. 添加星星: 将这个星星从 /Images 文件夹拖入到场景中。

  2. 添加分数脚本: 为星星添加 Collectable 脚本,将星星变成一个可收集物品,收集到一个星星便会奖励玩家一个点数。

  3. 添加碰撞体,让星星能被飞船收集: 为星星添加 PolygonCollider2D 组件,并启用 Is Trigger 属性

相关概念:

  • 触发器: 用于触发事件。如果启用 Is Trigger 属性,则该碰撞体将用于触发事件,并被物理引擎忽略。 触发后,可以让对象变为无形(比如:被吃掉的金币,被拾取的装备等),Unity 会检测到两个对象相互接触的情况,继而执行设定好的事件(执行事件函数)。

Playground 的核心是脚本,这些脚本位于按类别组织的 Scripts 文件夹中。大多数脚本应该是可以立即使用的,但某些脚本要求以特定的方式标记对象才能正常运行

基本概念

核心概念/01-GameObject游戏对象和Component组件.md · chutianshu/AwesomeUnityTutorial - Gitee.com

官方文档

Essential Unity Concepts - Unity Learn

GameObject 游戏对象

Scene 包含的所有对象都是游戏对象

游戏对象包含一个多个游戏组件

游戏对象是 Unity 中的基础对象,表示角色、道具和景物。它们本身并没有取得多大作为,但它们充当组件的容器,而组件可实现功能。

Component 组件

组件定义了包含它们的游戏对象的行为,是每个游戏对象的功能单元。

Transform 变换组件

Transform 变换组件用于存储游戏对象的位置、旋转、缩放和父子化状态,因此非常重要。游戏对象始终附加一个变换组件,无法删除变换组件或创建没有变换组件的游戏对象。

变换组件的位置、旋转和缩放值是相对于变换组件的父项测量的。如果变换组件没有父项,则按照世界空间来测量属性。

Inspector 中任何子游戏对象的 Transform 值都是相对于父项 Transform 值显示的结果。这些值称为“局部坐标”

所有游戏对象都有Transform组件

静态游戏对象

如果游戏对象在运行时未移动,则被称为静态游戏对象。如果游戏对象在运行时移动,则被称为动态游戏对象。

Unity 中的许多系统都可以在 Editor 中预计算有关静态游戏对象的信息。由于静态游戏对象不会移动,因此这些计算的结果在运行时仍然有效。

所以,恰当地使用静态游戏对象可以节省运行时计算成本,并可能提高性能。

预制件

可重用的模板

Unity 的预制件系统允许创建、配置和存储游戏对象及其所有组件、属性值和子游戏对象作为可重用资源。预制件资源充当模板,在此模板的基础之上可以在场景中创建新的预制件实例。

如果要在场景中的多个位置或项目中的多个场景之间重用以特定方式配置的游戏对象,比如非玩家角色 (NPC)、道具或景物,则应将此游戏对象转换为预制件。这种方式比简单复制和粘贴游戏对象更好,因为预制件系统可以自动保持所有副本同步。

预制件原件:预制件本身,再 project 窗口的 Assets 中 预制件对象:用预制件原件创建的实例对象,在 scene 里

可以使用预制件实习多个对象同步

特点:

  • 一次制作,多次使用

  • 更改 prefab 原件,所有 prefab 对象会跟着改变

  • 更改 prefab 对象,覆盖原件属性,保留特性

  • 可以创建预制件的变体,从而将一系列覆盖组合在一起成为有意义的预制件变化

  • 支持嵌套

通常使用场景:

  • 环境资源 - 例如,在一个关卡附近多次使用的某种树(如上面的截屏所示)。

  • 非玩家角色 (NPC) - 例如,某种类型的机器人可能会在游戏的多个关卡之间多次出现。它们的移动速度或声音可能不同(使用覆盖)。

  • 飞弹 - 例如,海盗的大炮可能会在每次射击时实例化炮弹预制件。

  • 玩家主角 - 玩家预制件可能被放置在游戏每个关卡(不同场景)的起点。

编辑预制件

双击预制件(或者,在 Inspector 窗口中单击 Open Prefab 按钮),可以进入预制件的编辑模式,在预制件模式下所做的更改(除了 Transform 属性外)会影响该预制件的所有实例。

预制件模式在 Scene 视图的右上角有一个 Auto Save 设置。启用此设置后,Unity 会将对预制件进行的任何更改自动保存到预制件资源。默认情况下会启用 Auto Save。

编辑预制件实例对象

直接更改预制件实例的属性,只会更改这一个实例的值,并不会影响预制件原件或其他实例。

除非,使用 overrides 下的两个按钮:

  • Reveret all : 还原所有更改的属性值,与预制件原件相同

  • Apply All :将在此实例中更改的任意属性值,写入预制件原件,同时也会应用到所有实例

Unity 官方教程1

 

也可以在这个 Overrides 菜单中,选择单项,进行逐项操作

实例覆盖

预制件实例中,不同于预制件原件的属性,称为“实例覆盖”

有四种不同的实例覆盖类型:

  • 覆盖属性的值

  • 添加组件

  • 删除组件

  • 添加子游戏对象

在 Inspector 窗口中,实例覆盖的名称标签以粗体显示,左边距使用蓝线显示。向预制件实例添加新组件时,边距位置的蓝线将涵盖整个组件。

添加和删除的组件在 Inspector 中的相应图标上也有加减符号标示,而添加的游戏对象在 Hierarchy 窗口中的相应图标上有一个加号标示。

注意:

  • 预制件实例上覆盖的属性值始终优先于预制件资源的值。这意味着,如果更改预制件资源的属性,对覆盖该属性的实例没有任何影响。

  • 对齐值绝不会从预制件资源传递到预制件实例。这意味着对齐值始终可与预制件资源的对齐不同,而不是作为显式实例覆盖。具体而言,对齐表示预制件实例的根变换的 Position 和 Rotation 属性,对于矩形变换,还包括 Width、Height、Margins、Anchors 和 Pivot 属性。 这是因为要求预制件的多个实例采用相同的位置和旋转是极其罕见的情况。更常见的情况是希望预制件实例具有不同的位置和旋转,因此 Unity 不会将它们视为预制件覆盖。

预制件变体

预制件是基类,预制件变体就是各个不同的派生类,用来派生出多个组别的预制件实例对象

预制件变体继承另一个称为基础预制件的预制件的属性。对预制件变体进行的覆盖优先于基础预制件的值。预制件变体可以使用任何其他预制件作为其基础预制件(包括模型预制件或其他预制件变体)。

创建和编辑预制件变体

  • 方式 1: 在 Project 视图中的预制件上右键单击,然后选择 Create > Prefab Variant。这样将创建所选预制件的变体,该变体最初没有任何覆盖。可以在预制件模式下打开预制件变体,然后开始为其添加覆盖。

  • 方式 2: 还可以将预制件实例从 Hierarchy 窗口中拖动到 Project 窗口中。执行此操作时会出现一个对话框,询问是要创建新的原始预制件还是预制件变体。如果选择预制件变体,则会根据拖动的预制件实例创建新的预制件变体。先前位于该实例上的所有覆盖现在都位于新的预制件变体中。可以在预制件模式下打开该变体以添加更多覆盖或者是编辑或删除覆盖。

与任何预制件实例一样,可以在预制件变体中使用预制件覆盖,例如修改的属性值、添加的组件、删除的组件以及添加的子游戏对象。也存在相同的限制:无法更改预制件变体中来自基础预制件的游戏对象的父级。也无法从预制件变体中删除存在于基础预制件中的游戏对象。但是,可以停用游戏对象(作为属性覆盖)来达到与删除游戏对象相同的效果。

预制件嵌套

可以将预制件拖拽到hierachy中的预制件中进行嵌套

解压缩预制件

要将预制件实例的内容恢复到常规游戏对象,请解压缩预制件实例。此操作正是创建(打包)预制件的相反操作,不同之处在于此操作不会破坏预制件资源,而是仅影响预制件实例。

可通过在 Hierarchy 窗口中右键单击预制件实例并选择 Unpack Prefab 来解压缩预制件实例。场景中生成的游戏对象不再与其以前的预制件资源有任何关联。预制件资源本身不受此操作的影响。这个操作不会影响到嵌套的预制件

Unpack Prefab Completely,会影响到子层嵌套预制件,对子层也会进行 unpack ,但如果还有孙子层,或者更多级的嵌套,则不会影响到

注意: 只能解压缩实例,而不能解压缩原件。 可以解压缩场景中存在的预制件实例,或者存在于其他预制件中的预制件实例。文章来源地址https://www.toymoban.com/news/detail-402729.html

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

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

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

相关文章

  • 【Unity小游戏】游戏开发案例-Unity打造畅玩无阻的小游戏(上)

    乒乓克隆 使用立方体建造竞技场、球拍和球。 移动球和球拍。 击球并得分。 让相机感受到冲击力。 给游戏一个抽象的霓虹灯外观。 这是有关基础游戏的系列教程中的第一个教程。在其中,我们将创建一个简单的 Pong 克隆。 本教程是使用 Unity 2021.3.16f1 制作的。 本系列将涵

    2024年02月13日
    浏览(46)
  • Unity小游戏——迷你拼图

    拼图演示 资源:  链接:https://pan.baidu.com/s/1BGeSmRCO_WZRUyl3MxefGw  提取码:0n4a 排列拼图碎片,拼出最后的图案。可以点住碎片的任意位置拖动;点击\\\"重来\\\"按钮,可以回到最初状态重新开始。 有很多电脑游戏的原型来自于现实世界中的玩具,拼图游戏就是其中的一个代表。 本

    2024年02月14日
    浏览(48)
  • Unity - 微信小游戏

    总参考:Unity WebGL 微信小游戏适配方案(公测)   下载 Unity插件,并导入至游戏项目中,版本更新请查看更新日志 请查阅推荐引擎版本,安装时选择 WebGL 组件 最终选择 Unity2021.2.5f1c1 InstantGame 前往Node官网安装长期稳定版 之前已安装 v16.17.0 前往微信开发者工具下载安装 Stable

    2024年02月06日
    浏览(58)
  • 【Unity小游戏】《捕鱼达人》小游戏来啦~ 有源码下载【文末送书】

    📢博客主页:https://blog.csdn.net/zhangay1998 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 📢未来很长,值得我们全力奔赴更美好的生活✨

    2023年04月08日
    浏览(39)
  • 【Unity】小球吃方砖小游戏

    目录 游戏背景 游戏开发         2.1场景布置         2.2小球运动         2.3镜头跟踪         2.4吃掉方砖         2.5结束提示 游戏录制           用wasd(↑←↓→)操控小球进行平面滑动,小球触碰会原地打转的立方体后立方体会消失,消除5个小球后提示

    2024年02月09日
    浏览(41)
  • Unity 开发微信小游戏

    今天给大家分享一下我近期用Unity开发微信小游戏的经过和踩坑; 微信小游戏就是微信小程序,小游戏是小程序的一个子集,小游戏是一种特殊的小程序;这篇文章建议大家收藏,干货满满 Unity开发微信小程序 Unity 3D下载官网 Unity转化小程序的Package包下载地址 微信开发者工

    2024年02月09日
    浏览(43)
  • Unity——2D小游戏笔记整理

    【每日一句:清晨和夜晚都请用尽全力去生活】 目录 一、环境搭建 二、人物 三、相机跟随人物移动 四、平铺精灵 五、血条跟随敌人行走 六、脚本逻辑 【玩家行走方法】 【玩家跳跃方法】 【改变玩家血量值方法】 【创建玩家子弹方法】 【主角血量,改变血条遮罩】 【敌

    2024年02月09日
    浏览(56)
  • unity小球吃金币小游戏

    链接放在这里 unity小球吃金币小游戏-Unity3D文档类资源-CSDN下载 这是我在学完虚拟现实技术这门课程后利用unity所做的小球吃金币小游戏,里面有源码和作品源文件,用u更多下载资源、学习资料请访问CSDN下载频道. https://download.csdn.net/download/m0_57324918/85604051 1创建Roll A Ball小球吃

    2023年04月08日
    浏览(48)
  • unity开发微信小游戏1

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 最开使用unity3d开发微信小游戏,遇到了一些问题,记录一下, 同时创建了一个交流群 QQ 641029627,现在应该没人,有需要的可以加入一起讨论,广告哥远离 提示:以下是本篇文章正文内容,下面案例可

    2023年04月08日
    浏览(45)
  • 现有Unity转微信小游戏

    关于微信小游戏开发的内容在《Unity WebGL 微信小游戏适配方案》中有详细,这里会忽略大部分更深入的细节,大家可以自行在下面的地址中找到答案。 此篇文章的目的是带着大家快速的把自己已有的游戏转成微信小游戏。 《Unity WebGL 微信小游戏适配方案》地址: https://gith

    2023年04月08日
    浏览(81)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包