大家好,新一期又跟大家见面了。

上一节我们完成了角色的移动控制,然而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(方向光)可以模拟像太阳这类远处的光源。

图片来源:https://learn.unity.com/tutorial/the-environment?projectId=5caf65ddedbc2a08d53c7acb#5caf7befedbc2a0ded5950d4

设置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 -> BiasNormal 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/

unity 敌人自动攻击和寻路_Unity暑期萌新入门:环境篇相关推荐

  1. unity 敌人自动攻击和寻路_【A*Pathfinding】超级简单的Unity2D寻路

    哈喽~我是yumir. 写过俯视角射击和"元气骑士"地图生成之后,不做个敌人AI总觉得差点什么,所以又研究了一下Unity的2D寻路. 这次我用的是A*Pathfinding的免费 ...

  2. ugui unity 取消选择_Unity暑期萌新入门:环境篇

    大家好,新一期又跟大家见面了. 上一节我们完成了角色的移动控制,然而John只能在空白的场景中移动.因此接下来这一节我们将添加关卡.调节光照,让John来到阴森的鬼屋.然后设置NavMesh(导航网格 ...

  3. unity自动生成敌人_Unity 3D做2D坦克大战--敌人自动攻击AI编写

    敌人AI攻击方法的编写 老师 | Trigger 学习者 |小白 出品 | Siki 学院 ```java public class Enemy : MonoBehaviour { //属性值 pub ...

  4. Unity 3D做2D坦克大战--敌人自动攻击AI编写

    敌人AI攻击方法的编写 老师 | Trigger 学习者 |小白 出品 | Siki 学院 public class Enemy : MonoBehaviour {//属性值public float ...

  5. 9.Unity2D 横版 简单AI 之 敌人跳跃条件优化+自动范围内检测敌人发起攻击(索敌)+对象池优化+主角受伤死亡

    总目录https://blog.csdn.net/qq_54263076/category_11900070.html?spm=1001.2014.3001.5482 1.动画animation和动画 ...

  6. 游戏中自动攻击最近目标、二次连击和群体攻击的大体代码思路

    通常我们玩GTA系列,暗黑血统系列,虐杀原形等电脑打斗游戏时,都是主角跟着鼠标转向来攻击的. 这意味着要我们自己去寻找目标. 但是移动设备不像laptop或者座机那样操作方便, 所以最近目标攻击在移动 ...

  7. unity敌人的巡逻

    在unityunity游戏开发过程中,敌人.怪物的自动巡逻肯定是无法避免的,今天主要讲 给敌人和怪物设置定点巡逻. 在给怪物.敌人设置顶点巡逻的时候需要引入命名空间using UnityEngine. ...

  8. T4M插件放入unity后怎么找不到_Unity动画系统详解4:如何用代码控制动画?

    摘要:通过上一篇咱们知道了播放动画需要使用Animator,那么如何用代码控制动画呢? 洪流学堂,让你快人几步.你好,我是跟着大智学Unity的萌新,我叫小新,这几周一起来复(yu)习(xi)动画系统 ...

  9. 仿热血江湖游戏NpcClass_自动攻击事件 刀反伤

    private void timer_1_Elapsed(object sender, ElapsedEventArgs e)         {             if (GClass4.in ...

最新文章

  1. 科技公司合作伙伴清单
  2. 深度学习中的激活函数总结
  3. 常见蓝牙模块介绍和AT指令
  4. 使 Framework 2.0 的程序集不用安装 Framework 就可以运行的工具免费发布了
  5. python 3.6.5 pip_在Windows 10 + Python 3.6.5 中用 pip 安装最新版 TensorFlow v1.8 for GPU
  6. 排序算法基本介绍及python实现(含详细注释)
  7. 软件发布版本命名规则
  8. Bootstrap 可切换的标签导航
  9. 【重难点】【Redis 01】为什么使用 Redis、Redis 的线程模型、Redis 的数据类型及其底层数据结构
  10. 华为交换机修改radius服务器地址,华为交换机radius认证-组网配置:pc+华为三层交换机+radius服务器(2003系统),求radius服务器的配置...
  11. sqlbulkcopy是覆盖式更新吗_酒店无线覆盖解决方案,一文了解清楚
  12. redis集群原理及三种模式详解
  13. 南京java程序员工资_2019年一二线城市java程序员工资大调查
  14. 前端的一些实用算法题
  15. 主题狗themes.dog-精选上百种优秀开源网站主题、博客主题、商城模板
  16. 16、Mediator 仲裁者模式
  17. Git介绍及常用操作演示(一)--技术流ken
  18. Java Excel 导出多个 sheet
  19. 西门子plc怎么转到c语言,西门子PLC梯形图和指令表相互转换
  20. Win 10 微信多开

热门文章

  1. centos 修改ip地址
  2. WordPress主题制作常用代码集合
  3. RMAN 还原与恢复
  4. jupyter notebook 安装代码提示功能
  5. Hadoop解决内存受限问题
  6. mysql计算机二级选择题题库_全国计算机二级mysql数据库选择题及答案
  7. matlab粒子加速器仿真,粒子群算法优化PID参数 仿真不出结果 程序如下
  8. 主板扩展槽图解_子板:扩展到主板
  9. java中jdom,java – JDOM中的命名空间(默认)
  10. drawer的用法_MMDrawerController抽屉侧边栏的简单使用