ugui unity 取消选择_Unity暑期萌新入门:环境篇
大家好,新一期又跟大家见面了。
上一节我们完成了角色的移动控制,然而John只能在空白的场景中移动。因此接下来这一节我们将添加关卡、调节光照,让John来到阴森的鬼屋。然后设置NavMesh(导航网格,现在先听个概念就好),为以后添加会巡逻的幽灵作准备。
一、添加关卡
1 创建关卡实例
在Project窗口中打开Assets> Prefabs文件夹,找到Level 的预制体,把它拖到Hierarchy窗口中。
2 把JohnLemon移动到关卡中
(1) 在Hierarchy窗口中,选中JohnLemon GameObject。
(2) 在Inspector窗口中,修改transform组件里Position属性(-9.8,0,-3.2)。
二、调节光照
光照是烘托气氛的重要元素,接下来我们调节光照,使鬼屋关卡看起来更加幽暗。
1 Directional Light(方向光)可以模拟像太阳这类远处的光源。
设置Directional Light
在Hierarchy窗口中,选中Directional Light:
(1) 在Inspector窗口中,Light组件里的Type下拉菜单栏选择Directional。
(2) 点击Color属性,弹出Color picker窗口。
各个参数含义以及设置:
下拉菜单:RGB 0-255
R(红):225
G(绿):240
B(蓝):250
A(透明度):255
设置完之后关闭窗口,诡异的蓝光就做好啦~
(3) 回到Light组件,Intensity(强度)设置为2。通过设置阴影的参数,使气氛更加毛骨悚然~
(4) Realtime Shadows -> Resolution(分辨率)下拉菜单,选择Very High Resolution。
(5) Realtime Shadows -> Bias 和Normal Bias 属性参数设置为0.1。
(6) 把Transform组件的Rotation属性设置为(30, 20, 0),旋转灯光使光线从窗户射进屋里。
2 全局光照
Unity中有两种光来模拟现实世界中的光照,直接光照模拟来自特定光源的光(例如上一部分设置的阳光),间接光照模拟反射光。
图片来源:https://learn.unity.com/tutorial/the-environment?projectId=5caf65ddedbc2a08d53c7acb#5caf7befedbc2a0ded5950d6
这种逼真的效果通常需要经过一段长时间的烘焙,所以我们这里采用设置近似值的方法来进行快速模拟:
(1)打开Lighting窗口
点击顶部菜单栏的Window > Rendering >Lighting Settings,点击Lighting弹窗的标签并拖动到Inspector旁。
(2) 设置参数
①在Environment下,点击Skybox Material 属性右侧的小圆,弹窗里选择None。(因为这个游戏不需要显示天空)
②Environment Lighting设置:
- Source:改为Gradient(渐变)。
- Sky Color:控制场景里上方光源,RGB设置为(170, 180, 200 )。
- Equator Color:控制场景里中间的光,RGB设置为(90, 110, 130)。
- Ground Color:控制场景里下方的光,RGB设置为(0, 0, 0)。
(3)取消勾选Realtime Global Illumination(实时全局光照)和Baked Global Illumination(烘焙全局光照)。
设置完毕后CTRL+S保存场景。
三、 设置NavMesh(导航网格)
NavMesh是一种自动寻路的技术,我们可以用它使幽灵在场景中游走。
1 标记Static
(1) 在Hierarchy中,选中Level GameObject。
(2) 在Inspector中,勾选Static(静态),使其纳入导航范围。
(3) 弹窗选择Yes,change children,把子对象也一同标记为Static。
(4) 禁用(取消勾选)天花板的Static,因为这个游戏里的幽灵不能在天花板上游走。
在Hierarchy中,Level> Corridors> Dressing> Ceiling Plane 并选择Ceiling Pane GameObject,取消勾选Inspector窗口中的Static。
设置完毕CTRL+S保存场景。
2 创建NavMesh
(1) 添加Navigation窗口
在顶部菜单栏中,选择Window > AI > Navigation,窗口会出现在Inspector窗口旁。
(1)设置Bake(烘焙)参数
①选中Bake选项
②Agent Radius(半径)调至0.25,适配以后添加幽灵角色的半径。
③ 设置完后点击Bake按钮。
烘焙完成后,蓝色区域代表可以行走的区域,选中Navigation窗口才会显示哦。
结语:这一节我们添加了关卡,然后设置了环境的光照烘托诡异的气氛,创建NavMesh(导航网格)为添加会移动的幽灵作准备。赶紧CTRL+P运行游戏,让John承包一次鬼屋吧~由于此时我们还没有设置摄像机跟随,所以运行时要把Game视窗拖动到一旁,在Scene视图中观察John的移动(运行后点击Game视窗然后WASD操作)。下一节我们将学习Camera篇,设置摄像头跟随以及屏幕后效(可让画面效果表现得更棒)。
迫不及待想自行开始制作的小伙伴,可以浏览John Lemon's Haunted Jaunt官方教程:
https://learn.unity.com/project/john-lemon-s-haunted-jaunt-3d-beginner
咱们的游戏开发交流群也欢迎强势插入:869551769
希望参与线下游戏开发学习的,欢~~~~~~迎访问:http://www.levelpp.com/
ugui unity 取消选择_Unity暑期萌新入门:环境篇相关推荐
- unity 敌人自动攻击和寻路_Unity暑期萌新入门:环境篇
大家好,新一期又跟大家见面了. 上一节我们完成了角色的移动控制,然而John只能在空白的场景中移动.因此接下来这一节我们将添加关卡.调节光照,让John来到阴森的鬼屋.然后设置NavMesh(导航网格 ...
- ugui unity 取消选择_关于Unity中的UGUI优化,你可能遇到这些问题
关键字 界面制作 网格重建 界面切换 加载相关 字体 一.界面制作 Q1:UGUI里的这个选项 ,应该是ETC2拆分Alpha通道的意思,但是在使用中并没起作用?请问有没有什么拆分的标准 ...
- ugui unity 取消选择_UGUI中几种不规则按钮的实现方式
前言 UGUI中的按钮默认是矩形的,若要实现非矩形按钮该怎么做呢?比如这样的按钮: 本文将介绍两种实现方式供大家选择. 使用alphaHitTestMinimumThreshold Image类的al ...
- python3入门与进阶笔记_我的Python3萌新入门笔记
Python3萌新入门笔记是一系列真实的自学笔记. 当然,它也是比较全面的入门教程,共包括54篇笔记. 从第一篇笔记开始,大半年的时间我都是在自学和组织教程内容. 我觉得有必要,把我自己的学习过程和大 ...
- python3萌新入门笔记_我的Python3萌新入门笔记
Python3萌新入门笔记是一系列真实的自学笔记. 当然,它也是比较全面的入门教程,共包括54篇笔记. 从第一篇笔记开始,大半年的时间我都是在自学和组织教程内容. 我觉得有必要,把我自己的学习过程和大 ...
- 按键控制c51单片机驱动unl2003控制步进电机正反转停止及程序调速-萌新入门
** 按键控制c51单片机驱动unl2003控制步进电机正反转停止及程序调速 ** 分享一个萌新入门小工程 一.原件连接: 第一种直接用51开发板 第二种用最小单元加unl2003驱动 二.开发板电路 ...
- 我的世界java萌新须知_我的世界新手常见问题盘点 萌新入门必读
今天为大家带来我的世界新手常见问题盘点,萌新入门必读.希望对诸位玩家有所帮助. Q.开开始游戏,不知道怎么开始 A.你可以点击创造一个新世界然后就能开始你的游戏啦 Q.可以移动视角,但是怎么行动,↑↓ ...
- Java萌新入门的第一篇文章
这篇文章是为了刚入门或者打算入门的萌新们写的,希望看完后能对Java有个初步认识.以后会不定时更新有关Java的干货,就这些要说的,以上. 先介绍下相关背景,不要觉得枯燥,了解一下很有必要. a.计算 ...
- ctfshow 萌新入门1
萌新_密码1 题目: 密文: 53316C6B5A6A42684D3256695A44566A4E47526A4D5459774C5556375A6D49324D32566C4D4449354F474 ...
最新文章
- 如何优雅的处理 Java 异常,可以参考这些建议
- python实现shell_基于 Python 的简易 Shell 实现
- [教程] [承風雅傳HSU]用ES4封裝Win7---ES4 Win7封裝教程(未完待續)
- 【LeetCode】LC1408:一维数组的动态和
- 2.3.6 操作系统之进程同步与互斥经典问题(生产者-消费者问题、多生产者-多消费者问题、吸烟者问题、读者-写者问题、哲学家进餐问题)
- Snapchat, 给年轻人要的安全感
- java rmi 多ip_在rmi连接中客户端指定一个ip地址,但程序执行中却转换成另一个地址...
- 疫情下的十大堵城:复工后整体拥堵下降37.3%
- Python使用UDP协议实现局域网内屏幕广播
- Vue之ElementUI导航菜单
- codesys中打开linux端的串口_机械臂和移动机器人,CoDeSys介绍
- 从设计模式到恋爱宝典,程序员们的福利来了
- Linux基础(day74)
- Linux关闭密码登录
- 九度OJ题目1000: A + B(数学)
- 国税报表html,国税纳税申报表在哪里打印
- 自主导航:赋予移动机器人智能感知与运动的能力
- android 动画卡顿分析工具
- CSS外边距合并和CSS清除浮动
- c语言编译器前端实现,一个编译器(前端)的实现
热门文章
- C#-Stmp发邮件
- 【错误记录】Ubuntu 修改 hosts 文件 ( 使用 gedit /etc/hosts 命令打开并修改 hosts 文件 )
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )
- 【数据挖掘】贝叶斯信念网络 ( 马尔科夫假设 | 结构 | 有向无环图 | 参数 | 条件概率表 | 案例分析 )
- 你见过的最全面的python重点
- 基于IPV6的数据包分析
- 让tableView的高度等于contentSize的高度、动态调整tableView的高度、tableView的高度自适应布局...
- 提升vector性能的几个技巧
- hdu 4614 线段树
- 模拟/usaco 1.1.4 Broken Necklace