创建地形

Assets → Import Package → Environment 导入环境资源包

Environment属于Unity所提供的标准资源包, 但如果没有可以去官网下载

导入之后,3D Object中会多出一个Terrain,点击后会创建一个地形

点击Terrain,在inspector视图中点击设置按钮

 ,可以设置很多它的属性,例如Terrain Width(地形宽度),Terrain Length(地形长度),Terrain Height(地形高度)

在设置的旁边有很多按钮,我们一个个慢慢讲解

 第二个按钮 Paint Height (绘制高度)

这个按钮是用来改变地形高度的

Brushes下面的图形是笔刷形状

settings下面可以设置Brush Size(笔刷大小),Opacity(透明度),Height(高度)

高度的旁边有一个Flatten按钮,点击后会一下子把地形全部提高到设置的高度 (你如果闲得慌,也可以自己慢慢刷)

将地形的高度抬高是为了使地形上可以往下刷深度,从而制造湖泊之类的地形

现在我们使用第一个按钮

第一个按钮是让部分地方隆起或凹陷

按住shift刷就会凹陷,不按就是隆起

隆起的部分就是山脉,凹陷的就是湖泊

接下里我们是用第三个按钮

第三个按钮可以柔化地形的高度差,让山脉看着平滑一些

然后我们通过第四个按钮

 为地形放上纹理

点击Edit Textures按钮,选择Add Texture,在弹出的对话框中单击Albedo(RGB)中的select按钮

然后就会弹出选择纹理的对话框

选择叫做GrassRockyAlbedo的纹理

最后点击Add Terrain Texture对话框的Add按钮,完成纹理的添加

然后重复上面的操作,再添加一个叫做CliffAlbedoSpecular的纹理

选中这个纹理,通过画笔在地形的山脉部分刷上该纹理

接下来我们添加树木和植被

在我们下载的Environment资源包中有一个叫SpeedTree资源,

然后我们使用Terrain的第五个按钮

 添加树木

点击下面的Edit Trees按钮,选择AddTree选项,在弹出的AddTree对话框中,单击 Tree Prefab后面的按钮

然后会弹出Select GameObject对话框,在里面选中Broableaf_Desktop,点击Add,添加完毕

按照上面的步骤再添加Palm_Desktop的树木

下面设置中的属性分别是

Brush Size 画笔大小 一次性添加多少颗树,要批量添加时调大

Tree Density 树的密度 控制树的密度

Tree Height 树的高度 后面有个Random的选项,是否随机的意思,选中后可以选一个范围高度,然后添加的树的高度在这个范围中随机高度 (现实中树怎么可能都一样高)

Lock Width to Height 是否锁定树的宽度和高度(和图片一样,拉伸就不好看了)

Random Tree Rotation 是否随机树的方向(树有的会长歪,随机歪向一个方向)

设置好之后在场景里单击就能添加了

添加草地,点击倒数第二个按钮

单击 Edit Details按钮,选中Add Grass Texture....(我有点懒得写了,跟前面一样),选中GrassFrond02AIbedoAlpha

在Add Grass Texture中把Min Width设置为0.3,Max Width设置为0.5,Min Height设置为0.3,Max Height设置为0.5,单击Add,完成添加

然后通过左键点击Terrain添加草地,Shift+左键可以去除草地

注:考虑到性能消耗问题,unity默认设置,调试模式下草地在超出一定高度后就无法看到,但是最终作为游戏运行时是可以看到的

接下来添加水的效果,创造湖泊

Water(Basic)→ Prefabs

其中有两个水效果的预设体,将WaterBasicDaytime拖到地形的大坑中,名字改为Water

通过缩放按钮

 拉伸水的大小,填满整个大坑,然后通过移动按钮

把水向上移动到合适的高度

创建光源,光源是场景的重要组成部分。光源决定了场景环境的明暗、色彩和氛围。合理使用光源才可以创造出完美的视觉效果

GameObject → Light 会出现可供选择的光源类型

Directional Light 方向光源

Point Light 点光源

Spotlight 聚光灯

Area Light 区域光

本次因为场景中有一个默认的方向光源就够用了,所以无需添加其他光源

选中Main Camera,把主相机移动到合适的视角

设置阴影 选中默认的光源 Directional Light,然后在inspector中将Light下的Shadow Type设置为Hard Shadows(硬阴影)然后把Strength(强度)设为0.6

然后点击运行游戏,可以看到场景明亮并且有阴影

(但是我并没有看出Hard Shadows和Soft Shadows有什么区别)

Hard Shadows

Soft Shadows

Create → Material 创建两个材质,改名Material01、Material02,在Material的inspector中,单击Albedo左侧的

按钮,添加贴图,Material01添加PalmBark,Material02添加BroadleafBark

然后创建一个cube(方块)一个cylinder(圆柱),Material01拖到cube上,Material02拖到cylinder上

点击Albedo的右侧颜色选择区域,可以改变材质的颜色

(然而这两个图形并没什么diao用,姑且写上吧)

导入外部物体

Assets → import package → custom package,然后找书带的学习素材,选chapter06中的house.unitypackage,单击 打开 按钮,弹出导入的对话框,单击 import 按钮,完成导入

然后会多出一个house文件夹,把里面的buildings1模型拖到场景里

添加角色和控制

Assets → import package → Characters

在Assets → Standard Assets → Characters中有一个FirstPersonCharacter(第一人称角色控制器)文件夹和ThirdPersonCharacter(第三人称角色控制器)文件夹

把FirstPersonCharacter → Prefabs文件夹中RigidBodyFPSController拖到场景里

运行游戏,恭喜你,做出了一个能操作的游戏

创建物理阻挡

现在我们在游戏中是可以穿过房子的,因此需要给房子加碰撞体来阻挡

为house创建一个空对象来管理房子的碰撞体

选中house,GameObject → Create Empty Child

GameObject改名为house Collision

unity创建草地_Unity5.X 创建基本的3D游戏场景相关推荐

  1. Unity 3D 环境特效||Unity 3D 游戏场景设计实例

    Unity 3D 环境特效 一般情况下,要在游戏场景中添加雾特效和水特效较为困难,因为需要开发人员懂得着色器语言且能够熟练地使用它进行编程. Unity 3D 游戏开发引擎为了能够简单地还原真实世界中 ...

  2. Unity《ATD》塔防RPG类3D游戏架构设计(一)

    目录 <ATD> 游戏简介 <ATD> 整体结构 <ATD> 游戏机制 Buff机制 Skill机制 结语 <ATD> 游戏简介 游戏类型:塔防+RPG ...

  3. unity创建草地_Unity3D_(地形)创建基本场景

    第一人称漫游场景 地形漫游系统: (自己绘制的GIF文件超过20MB放不上博客园.截取了几张图片)按键盘上的"上下左右"可以控制第一人称的漫游视角 资源包和项目源文件:传送门 自己 ...

  4. unity 3d游戏开发_使用Unity 5开发3D游戏

    unity 3d游戏开发 If there's one thing cooler than playing games, it's building games. 如果有比玩游戏更酷的一件事,那就是构 ...

  5. unity中创建游戏场景_在Unity中创建Beat Em Up游戏

    unity中创建游戏场景 Learn how to use Unity to create a 3D Beat Em Up game in this full tutorial from Awesom ...

  6. 【Unity】4.5 树木创建器

    分类:Unity.C#.VS2015 创建日期:2016-04-11 一.简介 在地形编辑器一节中,已经告诉了你如何使用已经创建好的树来形成大片树林.这一节告诉你在 Unity 5.3.4中如何利用[ ...

  7. 【Unity】3.1 利用内置的3D对象创建三维模型

    分类:Unity.C#.VS2015 创建日期:2016-04-02 一.基本概念 Unity已经内置了一些基本的3D对象,利用这些内置的3D对象就可以直接构建出各种3D模型(当然,复杂的三维模型还需 ...

  8. 手把手带你 Unity 入门之从零创建一个时钟(GameObjects 与 Scripts)

    目录 写作背景 要点提要 1.创建一个时钟 1.1 创建一个 Game Object 1.2 创建钟盘 1.3 创建时钟的其他部分 1.4 创建指针 2.让时钟动起来 2.1 定义组件类型 2.2 拿 ...

  9. Unity:使用Catmull-Rom曲线创建道路模型

    文章目录 参考 效果 问题描述 子问题一:使用离散点构造一条Catmull-Rom曲线 子问题二:在曲线上采样点 子问题三:每两个点创建一个长方体Mesh 参考 unity-procedural-me ...

最新文章

  1. 首次创建maven项目的准备工作
  2. 计算中英混合字符串的自己字节长度
  3. 我的MYSQL学习心得(一)
  4. java项目中Classpath路径到底指的是哪里?
  5. mysql pdm_mysql 生成pdm
  6. 揭秘!业界创新的代码仓库加密技术
  7. 作者:孙忠富(1957-),男,中国农业科学院农业环境与可持续发展研究所研究员。...
  8. js修改id的值_如何修改pytesthtml源码来优化接口自动化测试报告
  9. arch linux安装和dwm窗口管理器安装
  10. 【云流送技术】为手办行业可以带来哪些变革
  11. Mac自带截图高级技巧
  12. 提高计算机软件速度的方法,提高电脑速度的10个有效方法
  13. el-select被嵌套太多层导致选不中
  14. mybatis-plus使用updateById更新数据不生效,需要使用lambdaUpdate
  15. CC3200 与 CC2530的SPI通信
  16. 【jzoj1965】【递推】【普组模拟赛】马球比赛
  17. python处理excel代码_[代码全屏查看]-python处理Excel文件
  18. linux学生入门,Linux入门之《Linux从入门到精通》
  19. 科创板市价申报订单中拟用价格保护措施,买入申报的成交价不高于保护限价... 1
  20. qt弹窗界面模态设置

热门文章

  1. paddle,cuda,cudnn,driver版本匹配问题,W0305 16:35:06.338007 10608 gpu_resources.cc:61] Please NOTE: device:
  2. 活动宣传片制作的注意事项
  3. 【原创】ArcGIS、ArcMap 使用数据驱动出图,同步生成属性统计表格
  4. 2015年-Google北京区-software engineering intern-面试经验
  5. 影响GPS手机定位精度的五大因素
  6. Hibernate的游离态与持久态转换(转)
  7. 非世而恶利,自讬於无为,此非士之情也。
  8. 【Unity游戏开发基础】如何通过游戏菜单控制游戏全屏显示
  9. 滴滴打车2017招聘笔试题
  10. ios 图像坐标系_iOS学习笔记(1)-iPhone分辨率和坐标系