0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Unity中制作游戏的开始菜单

454398 来源:网络整理 作者:网络整理 2019-11-19 11:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

第1步:制作平面并将其放置在相机前

如何在Unity中制作游戏的开始菜单

打开Unity并将场景另存为MainMenu。

在“层次结构”面板中单击“创建-平面”。将其重命名为“背景”。

将主摄像机向下旋转90度,并将其投影从“透视”更改为“正交”。

调整摄像机的变换,使其位于菜单上方8-10个单位,向下看。

缩放平面背景以完全适合相机预览。

完成后,它的外观应类似于上图。

步骤2:点亮

添加灯光。为此,请在“层次结构”面板中选择“创建”,然后单击“定向光”。

定向光在3D空间中的什么位置都无关紧要。因此,无论如何,它都会提供相同的照明。

因此,在调整了照明的方向以照到背景上之后,请沿Y方向将照明灯提高20个单位左右,以保持视野清晰在场景视图中。

我将灯光调整为具有(0,20,0)位置和(60,0,-20)旋转的变换。

我也进行了更改再次将其强度设为0.4。

再次查看该步骤完成后的图像。

第3步:添加纹理

我们的背景目前看起来很普通,但是我们可以轻松地对其进行调味。只需拿一台数码相机/智能手机,然后为方便,有趣的东西(例如地板,天花板,墙壁等)拍照,然后将其上传到您的计算机即可。

为正在处理的Unity项目在Assets文件夹中创建一个名为Textures的新文件夹。右键单击Unity中“项目”面板中的文件夹,然后选择“在资源管理器中显示”。将您拍摄的图片复制并粘贴到Textures文件夹中。

在“层次结构”中选择“背景”后,单击图片并将其从“项目”面板的“ Textures”文件夹中拖动到“检查器”面板中,在此处将其添加为背景的新纹理。参见图像。

步骤4:添加文本

使用顶部的“游戏对象”下拉工具栏创建一个空的游戏对象Unity窗口的重命名为“文本”。重置其变换。

在“层次结构”面板中单击“创建-3D文本”。重置其变换。

重命名3D文本对象,然后输入要在“检查器”的“文本网格”组件中显示的文本。

将其围绕X或Z旋转90度轴,以便在摄影机视图中正确显示。

将3D文本对象拖到“层次结构”中的空Text游戏对象中。

根据需要复制3D文本。

步骤5:转到获取一些字体(您已经拥有的字体)

您已经有很多字体。您可以通过打开资源管理器并转到OS/Windows/Fonts下的名为Fonts的文件夹来访问它们(在Windows上)。

在Unity项目面板中,在Assets中创建一个新文件夹并调用

将Unity项目所需的字体从计算机的fonts文件夹复制并粘贴到您在Projects资产文件夹中创建的新Fonts文件夹。

注意:这很可能会为每种字体复制几个不同的文件,其中一个用于常规,粗体,斜体等。

选择3D文本您要在“层次结构”面板中更改其字体,然后将所需的字体从项目面板的fonts文件夹中拖到Inspector的Text Mesh组件中标有“ font”的框中。

您可以更改3D文本的“文本网格”组件中的字体颜色,大小和其他属性。如果您在“层次结构”中选择了要编辑的3D文本,它将显示在“检查器”面板中。

文本很可能看起来有点模糊。您可以通过显着增大字体大小来进行清理,尽管这会打乱相机的视图,因此您必须重新调整相机和背景平面的大小。

步骤6:将鼠标悬停在其上时,使文本更改颜色

在项目面板中创建一个名为Scripts的新文件夹。

创建一个新文件夹CSharp脚本并将其命名为MouseHover。

在MonoDevelop中打开该脚本。

此脚本中包含三个功能。第一个告诉文本为原始颜色。第二个命令指示文本在鼠标触摸时更改颜色,第三个命令指示文本在鼠标不再悬停在其上之后返回其原始颜色。

void Start(){

renderer.material.color = Color.black;

}

void OnMouseEnter(){

renderer.material.color = Color.red;

}

void OnMouseExit() {

renderer.material.color = Color.black;

}

通过将脚本从项目面板拖到层次结构中的3D文本对象的名称中,将脚本添加到每个文本中。

为了使脚本起作用,我们需要在每个文本中添加对撞机3D文本,以便代码知道鼠标是否在触摸它们。

要添加对撞机,请在“层次结构”中选择一段3D文本,转到“检查器”面板,然后选择“添加组件-物理-撞机箱。在每个文本中添加对撞机框,然后选中“正在触发”框。

通过单击屏幕顶部中间的播放按钮并悬停鼠标来测试按钮是否更改颜色。

步骤7:编写脚本来控制按钮

创建一个新脚本并将其命名为MainMenu。将其归档在Scripts文件夹中,然后在MonoDevelop中将其打开。

声明布尔(真/假)变量,您希望菜单上的每个按钮都有一个。我有两个按钮,所以我写了:

public bool isStart;

public bool isQuit;

然后,写一个叫做OnMouseUp()的函数。释放鼠标按钮时将激活此功能,这是一种比OnMouseDown()更好的激活按钮的方法,因为它可以防止在按住鼠标按钮的同时重复执行该功能。

void OnMouseUp(){

if(isStart)

{

Application.LoadLevel(1);

}

if (isQuit)

{

Application.Quit();

}

}

Application.LoadLevel(1)加载游戏的场景编号1。 (菜单场景应为0级。您可以在“构建设置”的“文件”下更改哪个场景。)

Application.Quit()退出游戏,尽管这只会在游戏为作为PC/Mac应用程序打开。

第8步:让按钮做事!

添加每个按钮的3D文本对象的MainMenu脚本。

由于您为按钮的每个类别声明了公共布尔,因此它们应显示在检查器中的每个按钮上。转到检查器,并为每个按钮检查适当的布尔变量。看到上面的图像,应该是什么样子。

就这样,您完成了!您可以在MainMenu脚本中添加其他代码行,以确保其正常工作。只需告诉它单击按钮即可更改按钮的颜色(与将鼠标悬停在按钮上时,更改为其他颜色)。

void OnMouseUp() {

if (isQuit) {

Application.Quit ();

} if(isStart) {

Application.LoadLevel (1);

renderer.material.color=Color.cyan;

}

}
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件
    +关注

    关注

    69

    文章

    5297

    浏览量

    90874
  • Unity
    +关注

    关注

    1

    文章

    131

    浏览量

    23147
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    何在VS code配置Zephyr集成开发环境

    上一篇文章介绍了如何在VS code中使用瑞萨官方插件为RA芯片创建项目与项目调试,相信大家对RA在VS code的开发有了基础的了解。
    的头像 发表于 11-05 14:46 1065次阅读
    如<b class='flag-5'>何在</b>VS code<b class='flag-5'>中</b>配置Zephyr集成开发环境

    地平线与Unity中国达成战略合作

    近日,中国智驾科技领军企业地平线与全球领先的实时3D内容创作和运营平台Unity正式签署战略合作协议。双方将深度融合地平线HSD (Horizon SuperDrive) 人机交互系统与Unity
    的头像 发表于 11-03 16:43 1357次阅读

    Unity开发者大会Unite2025点亮上海,团结引擎加速本土创新落地

    现场,线上观看人数再创新高,共同见证Unity中国在本土化道路上的最新成果。 ​ 自2012年Unity首次在中国举办Unite以来,这一年度盛会已成为中国开发者了解前沿技术、分享创新实践的重要平台。从Unity 4的初次亮相到
    的头像 发表于 10-29 17:08 469次阅读
    <b class='flag-5'>Unity</b>开发者大会Unite2025点亮上海,团结引擎加速本土创新落地

    何在 buildroot 的 rootfs 显示当前目录?

    何在 buildroot 的 rootfs 显示当前目录?
    发表于 09-03 07:02

    在ccg3pa何在发送goodcrc之前了解已收到的数据包?

    在 CCG3PA ,考虑到源端正在向汇端发送Source_Capability或其他信息,此时汇端如何在从汇端发送GoodCRC之前知道汇端收到了哪些信息? 无论我们收到什么消息,天气都会开始评估回调函数是在GoodCRC 之
    发表于 05-21 08:12

    MediaTek与Unity中国签署合作备忘录

    MediaTek 在上海国际汽车工业展览会上与 Unity 中国正式签署合作备忘录。本次深度合作将基于 MediaTek 和 Unity 中国各自的软硬件优势,携手开启全新的技术探索,双方将在
    的头像 发表于 04-30 14:58 753次阅读

    艾为电子芯片产品在游戏手柄的应用方案

    随着游戏设备的升级,游戏手柄作为核心交互设备持续技术革新。在主机游戏中,高精度操作适配动作格斗、模拟驾驶等多种游戏类型,显著提升玩家沉浸感。在云游戏
    的头像 发表于 04-15 09:42 1352次阅读
    艾为电子芯片产品在<b class='flag-5'>游戏</b>手柄<b class='flag-5'>中</b>的应用方案

    何在Simulink启用ADC校准?

    何在 Simulink 启用 ADC 校准? V4.2.0 产品发布报告指出,它在块可用。但我在 ADC 配置块找不到任何选项。
    发表于 03-31 07:50

    在imx93,如何在flexio引脚模拟spi功能?

    何在 flexio 引脚模拟 spi 功能?我看到了实现 I2C 的文档,但没有看到 SPI 的文档。也搜索了内核。谁能提供任何文档或示例来开始仿真 SPI?
    发表于 03-21 06:59

    将应用程序工具套件集成到Unity 3D OpenVINO™过程遇到\"DLLNotFound异常\"错误怎么解决?

    在将 OpenVINO™工具套件与 Unity 3D* 集成期间,Unity 3D 编辑器无法找到 OpenVINO 工具套件的依赖性,并引发 DLLNotFoundException 错误
    发表于 03-05 06:22

    CPU怎么降频 bios如何把cpu调低频率

    CPU频率 以Windows系统为例,可以通过电源管理选项来调节CPU的频率。具体步骤如下: 打开控制面板 : 在Windows系统,点击“开始菜单,选择“控制面板”。 选择电源选项 : 在控制面板
    的头像 发表于 02-01 15:02 3w次阅读

    hyper v 显卡,hyper-v显卡:如何在虚拟机配置和优化显卡性能

    :如何在虚拟机配置和优化显卡性能。    在虚拟化环境,显卡性能对于需要高图形处理能力的应用场景(如游戏、图形设计和视频编辑)至关重要。Hyper-V提供了多种显卡配置和优化选项,
    的头像 发表于 01-24 14:19 1.1w次阅读
    hyper v 显卡,hyper-v显卡:如<b class='flag-5'>何在</b>虚拟机<b class='flag-5'>中</b>配置和优化显卡性能

    何在播放视频过程插入音频

    ZDP14x0是一款基于开源GUI引擎的图像显示专用驱动芯片,可以通过串口或者SPI与其他芯片通信,且能播放视频。本文将介绍如何在播放视频过程插入音频。
    的头像 发表于 12-26 11:13 1950次阅读
    如<b class='flag-5'>何在</b>播放视频过程<b class='flag-5'>中</b>插入音频

    STM32CubeMX的菜单介绍

    个项目工程,你可以基于此项目进行项目开发。下图是菜单栏的功能介绍:具体用法请参考付费视频。原文标题:STM32CubeMX的菜单介绍文章出处:【微信公众号:撞上电
    的头像 发表于 12-25 21:03 692次阅读
    STM32CubeMX的<b class='flag-5'>菜单</b>介绍

    求教:电脑开始菜单部分内容变成英文

    发表于 12-18 17:18