Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形
提要
在Unity工作流程内,地形是一个必不可少的重要元素。不论是游戏或虚拟现实都会使用到各种类型的地形效果,在这个教学中我们须要了解到地形的制作基本概念与,当中对于Unity的地形操作部分须要大量的操作练习.熟悉这些功能操作之后,相信对于游戏地形的制作与运用将会更得心应手。
先看终于效果:
环境:windows7 64bit Unity3d4.2.1
所需资源:terrain.raw
创建project
File -> New project
选择project存放的位置,同一时候导入 Skyboxed.unityPackage(天空盒), Terrain Assets.unityPackag(地形)和Tree Creator.unityPackage(树木).
再导入一个包,这个须要导入一个官方的树木,草地的包。
创建地形
在Hierarchy中,creatte ->Terrain.场景中就自己主动产生一个平面。这是地形默认使用的基本原型。地形的各种属性在右边的inspector里面
地形的制作通常使用的是heightmap,在unity3d是就是.raw文件。Raw文件中面记录着灰阶的位阶图,藉由灰阶的落差来产生地形的高低。
当然也能够用自带的地形工具来创建。
还是在inspector中。点击Import Raw...选择下载的附件terrain.raw,不修改不论什么设定。直接按下 Import将地形高度贴图导入。
经过贴图的导入后,原本的平面转换成高低起伏的地形,接下来我们就能够開始绘制地形上的纹理效果。
地形纹理
如今须要给山绘制一些纹理,就是第四个工具。首先是导入纹理。导入四种,首先是主要的地面,一种是草地,然后是山顶的石头纹理,还有就是山脚的纹理。
最好导入多种纹理。设置好笔刷,先刷个大概,然后刷些细节,绘制出来的效果就像:
山脚下
山顶
种树种草
在Terrain(Script)的第五个工具
由于之前导入了Terrain Assets的包,所以这里能够直接导入一些树。參数设置在Setting里面。
然后就是选择各种树漫山遍野地刷。
花草的操作相似,第六个工具,导入一些模型之后就能够開始刷了!
刷子的几个參数,Brash Size,Opacity。Target Strenth都能够自己调节下看看,非常好理解。
刷的同一时候按住shift就是删除。
灯光、天空盒和雾还有风
最后要加入的部分尽管不属于地形的创建,可是添加了整合场景的真实程度。
灯光的话直接在Hierarchy中create一个directional light就好了。调整下强度。
默认情况下摄像机的背景是深蓝色的,以下是加入天空盒到摄像机上。选择main camera。在右边的inspector中设置例如以下:
这时候就有天空了。
这里用最简单的全局雾的效果。
Edit->Rendering Setting设置例如以下:
风的设置直接在地形的属性中设置就能够了,加上风之后植物就能够随风摆动。
到这里,一个炫酷的地形就完毕了,编译执行下,就能够看到终于的场景效果。
參考
究极 Unity 地形制作 - 极速创建华丽的游戏地形 - http://www.narkii.com/club/thread-260061-1.html
《Unity3D game essential》
Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形的更多相关文章
- Unity3D游戏开发从零单排(四) - 制作一个iOS游戏
提要 此篇是一个国外教程的翻译,尽管有点老,可是适合新手入门. 自己去写代码.debug,布置场景,能够收获到非常多.游戏邦上已经有前面两部分的译文,这里翻译的是游戏的最后一个部分. 欢迎回来 在第一 ...
- Unity3D游戏开发从零单排(五) - 导入CS模型到Unity3D
游戏动画基础 Animation组件 Animation组件是对于老的动画系统来说的. 老的动画形同相应的动画就是clip,每一个运动都是一段单独的动画,使用Play()或CrossFade(),直接 ...
- Unity3D游戏开发从零单排(六) - 人物运动及攻击连击
提要 今天要实现的是一个简单人物控制器. 包括用w,a,s,d来控制人物上下左右跑动,鼠标左击发出连招,都是基于老的lagacy的动画.尽管unity3d自带有charactorcontroller, ...
- cocos2d-x 游戏开发之有限状态机(FSM) (三)
cocos2d-x 游戏开发之有限状态机(FSM) (三) 有限状态机简称FSM,现在我们创建一个专门的FSM类,负责管理对象(Monkey)的状态.然后Monkey类就实现了行为与状态分离.Monk ...
- HTML5物理游戏开发 - 越野山地自行车(三)粉碎自行车
自上一章公布到如今已时隔四月,实在对不住大家.让大家久等了~话说不是我不关注我的博客,而是事情一多起来写博客的时间就少了. 待到今日有空了,回头看了看自己曾经写的文章,猛得发现已经四个月不曾写文章了. ...
- Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏
Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏 即使是如今,非常多初学游戏开发的同学.在谈到Unity的时候.依旧会觉得Unity仅仅能用于制作3D游戏的. 实际上.Unity在2013 ...
- Web开发从零单排之一:在新浪云平台SAE上开发一个html5电子喜帖
需求描述: 本人大婚将至,女朋友说“现在都流行在微信上发电子请帖了,你不是技(cheng)术(xu)宅(yuan)嘛,不会连这个都搞不定吧” 本人嘴上说这等小事何足挂齿,但心里还是七上八下的,虽然自认 ...
- 【Unity游戏开发】跟着马三一起魔改LitJson
一.引子 在游戏开发中,我们少不了和数据打交道,数据的存储格式可谓是百花齐放,xml.json.csv.bin等等应有尽有.在这其中Json以其小巧轻便.可读性强.兼容性好等优点受到广大程序员的喜爱. ...
- Web开发从零单排之二:在自制电子请帖中添加留言板功能,SAE+PHP+MySql
在上一篇博客中介绍怎样在SAE平台搭建一个html5的电子请帖网站,收到很多反馈,也有很多人送上婚礼的祝福,十分感谢! web开发从零学起,记录自己学习过程,各种前端大神们可以绕道不要围观啦 大婚将至 ...
随机推荐
- nginx的启动和关闭
nginx的启动和关闭nginx -h 查看帮助信息nginx -v 查看Nginx的版本号nginx -V 显示Nginx的版本号和编译信息start nginx 启动Nginxnginx -s s ...
- 创建vue项目 webpack+vue
# 全局安装 vue-cli $ npm install -g vue-cli # 创建一个基于 "webpack" 模板的新项目 根据提示填写项目信息 && 对项 ...
- CSS选择器之基本选择器+属性选择器
1.1 id选择器 #main{ font-size:12px; margin:0; padding:0; } 其中的#main就是id选择器,用于选择HTML页面中id = "m ...
- ArcGIS Server集群布署
ArcGIS Server集群布署 准备如下的4台机器: 计算机名 IP 布署软件 说明 VMWIN2008ENSS1 192.168.1.111 ArcGIS for Server VMWIN2 ...
- Android的onCreateOptionsMenu()创建菜单Menu
android一共有三种形式的菜单: 1.选项菜单(optinosMenu) 2.上下文菜单(ContextMenu) 3.子菜 ...
- Memory map of an object array
Student类: package com.itheima; /* * 自动生成构造方法: * 代码区域右键 -- Source -- Generate Constructors from Super ...
- gitlab上如何添加二进制文件(设计文档)
想将设计文档(原型设计图,UML设计图等)放到gitlab上,以供团队其他成员查看.将这些二进制文件跟源码一样纳入git管控显然是不合适的.经过一番摸索,找到了如何管理项目文档的方法. 根据Stack ...
- PMF:为何硅谷大神把它念奉为创业公司“唯一重要的东西”
产品-市场匹配(Product-market fit,PMF)虽然是精益创业中最重要的概念之一,但也是最不明确的一个概念.2007年,马克?安德森在他的博客里创造了这个概念,并定义为:“在一个好的市场 ...
- C#对DataTable里数据排序的方法
protected void Page_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Ad ...
- datediff
DateDiff()是计算机函数. 中文名 日期比较函数 外文名 DateDiff() 作 用 得 出两个日期之间的间隔 用 途 返回两个日期之间的差值 允许数据类型 timeinterv ...