Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形

时间:2021-09-05 23:12:30

提要

在Unity工作流程内,地形是一个必不可少的重要元素。不论是游戏或虚拟现实都会使用到各种类型的地形效果,在这个教学中我们须要了解到地形的制作基本概念与,当中对于Unity的地形操作部分须要大量的操作练习.熟悉这些功能操作之后,相信对于游戏地形的制作与运用将会更得心应手。

先看终于效果:

Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形

环境:windows7 64bit Unity3d4.2.1

所需资源:terrain.raw

创建project

File  ->  New project

选择project存放的位置,同一时候导入 Skyboxed.unityPackage(天空盒), Terrain Assets.unityPackag(地形)和Tree Creator.unityPackage(树木).

Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形

再导入一个包,这个须要导入一个官方的树木,草地的包。

Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形

创建地形

在Hierarchy中,creatte ->Terrain.场景中就自己主动产生一个平面。这是地形默认使用的基本原型。地形的各种属性在右边的inspector里面

Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形

地形的制作通常使用的是heightmap,在unity3d是就是.raw文件。Raw文件中面记录着灰阶的位阶图,藉由灰阶的落差来产生地形的高低。

当然也能够用自带的地形工具来创建。

还是在inspector中。点击Import Raw...选择下载的附件terrain.raw,不修改不论什么设定。直接按下 Import将地形高度贴图导入。

经过贴图的导入后,原本的平面转换成高低起伏的地形,接下来我们就能够開始绘制地形上的纹理效果。

地形纹理

如今须要给山绘制一些纹理,就是第四个工具。首先是导入纹理。导入四种,首先是主要的地面,一种是草地,然后是山顶的石头纹理,还有就是山脚的纹理。

最好导入多种纹理。设置好笔刷,先刷个大概,然后刷些细节,绘制出来的效果就像:

山脚下

Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形

山顶

Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形

种树种草

在Terrain(Script)的第五个工具

Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形

由于之前导入了Terrain Assets的包,所以这里能够直接导入一些树。參数设置在Setting里面。

然后就是选择各种树漫山遍野地刷。

Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形

花草的操作相似,第六个工具,导入一些模型之后就能够開始刷了!

Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形

Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形

刷子的几个參数,Brash Size,Opacity。Target Strenth都能够自己调节下看看,非常好理解。

刷的同一时候按住shift就是删除。

灯光、天空盒和雾还有风

最后要加入的部分尽管不属于地形的创建,可是添加了整合场景的真实程度。

灯光的话直接在Hierarchy中create一个directional light就好了。调整下强度。

默认情况下摄像机的背景是深蓝色的,以下是加入天空盒到摄像机上。选择main camera。在右边的inspector中设置例如以下:

Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形

这时候就有天空了。

这里用最简单的全局雾的效果。

Edit->Rendering Setting设置例如以下:

Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形

风的设置直接在地形的属性中设置就能够了,加上风之后植物就能够随风摆动。

Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形

到这里,一个炫酷的地形就完毕了,编译执行下,就能够看到终于的场景效果。

Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形

參考

究极 Unity 地形制作 - 极速创建华丽的游戏地形 - http://www.narkii.com/club/thread-260061-1.html

《Unity3D game essential》

Unity3D游戏开发从零单排(三) - 极速创建狂拽酷炫的游戏地形的更多相关文章

  1. Unity3D游戏开发从零单排(四) - 制作一个iOS游戏

    提要 此篇是一个国外教程的翻译,尽管有点老,可是适合新手入门. 自己去写代码.debug,布置场景,能够收获到非常多.游戏邦上已经有前面两部分的译文,这里翻译的是游戏的最后一个部分. 欢迎回来 在第一 ...

  2. Unity3D游戏开发从零单排(五) - 导入CS模型到Unity3D

    游戏动画基础 Animation组件 Animation组件是对于老的动画系统来说的. 老的动画形同相应的动画就是clip,每一个运动都是一段单独的动画,使用Play()或CrossFade(),直接 ...

  3. Unity3D游戏开发从零单排(六) - 人物运动及攻击连击

    提要 今天要实现的是一个简单人物控制器. 包括用w,a,s,d来控制人物上下左右跑动,鼠标左击发出连招,都是基于老的lagacy的动画.尽管unity3d自带有charactorcontroller, ...

  4. cocos2d-x 游戏开发之有限状态机(FSM) (三)

    cocos2d-x 游戏开发之有限状态机(FSM) (三) 有限状态机简称FSM,现在我们创建一个专门的FSM类,负责管理对象(Monkey)的状态.然后Monkey类就实现了行为与状态分离.Monk ...

  5. HTML5物理游戏开发 - 越野山地自行车(三)粉碎自行车

    自上一章公布到如今已时隔四月,实在对不住大家.让大家久等了~话说不是我不关注我的博客,而是事情一多起来写博客的时间就少了. 待到今日有空了,回头看了看自己曾经写的文章,猛得发现已经四个月不曾写文章了. ...

  6. Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏

    Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏 即使是如今,非常多初学游戏开发的同学.在谈到Unity的时候.依旧会觉得Unity仅仅能用于制作3D游戏的. 实际上.Unity在2013 ...

  7. Web开发从零单排之一:在新浪云平台SAE上开发一个html5电子喜帖

    需求描述: 本人大婚将至,女朋友说“现在都流行在微信上发电子请帖了,你不是技(cheng)术(xu)宅(yuan)嘛,不会连这个都搞不定吧” 本人嘴上说这等小事何足挂齿,但心里还是七上八下的,虽然自认 ...

  8. 【Unity游戏开发】跟着马三一起魔改LitJson

    一.引子 在游戏开发中,我们少不了和数据打交道,数据的存储格式可谓是百花齐放,xml.json.csv.bin等等应有尽有.在这其中Json以其小巧轻便.可读性强.兼容性好等优点受到广大程序员的喜爱. ...

  9. Web开发从零单排之二:在自制电子请帖中添加留言板功能,SAE+PHP+MySql

    在上一篇博客中介绍怎样在SAE平台搭建一个html5的电子请帖网站,收到很多反馈,也有很多人送上婚礼的祝福,十分感谢! web开发从零学起,记录自己学习过程,各种前端大神们可以绕道不要围观啦 大婚将至 ...

随机推荐

  1. Date小技巧:set相关操作及应用_获取当前月(季度/年)的最后一天

    set操作还是有不少的,具体见 http://www.w3school.com.cn/jsref/jsref_obj_date.asp, 今天我就只说 setFullYear, setMonth, s ...

  2. input 放大镜

      <input results="s" type="search" size="20px"  placeholder="搜 ...

  3. &lbrack;UWP&rsqb;涨姿势UWP源码——RSS feed的获取和解析

    本篇开始具体分析涨姿势UWP这个APP的代码,首先从数据的源头着手,即RSS feed的获取和解析,相关的类为RssReader,所有和数据相关的操作均放在里面. 涨姿势网站提供的RSS feed地址 ...

  4. linux tar命令简介

    一.使用介绍 1.名词区分 打包:将一大堆文件或目录变成一个总的文件[tar命令] 压缩:将一个大的文件通过一些压缩算法变成一个小文件[gzip,bzip2等] Linux中很多压缩程序只能针对一个文 ...

  5. 转: PE rva to raw 虚拟偏移地址和文件物理偏移地址

    +---------+---------+---------+---------+---------+---------+| 段名称 虚拟地址 虚拟大小 物理地址 物理大小 标志 |+-------- ...

  6. Xcode6 viewDidLoad 中View的subviews 为空

    Xcode 6  中勾选using size Classes 方法,在ViewDidLoad 方法中调用outlet 的一个myView.subviews 会为空,而myView 不会为空. stor ...

  7. jenkins 构建nodejs-pipeline流水风格的任务

    Step3 上图代码如下 node("master"){ //warp([$class:'BuildUser']) {BUILD_USER = BUILD_USER} GIT_NA ...

  8. Ubuntu 14&period;10 下Hadoop HttpFS 配置

    因为hadoop集群中需要配置一个图形化管理数据的截面,后来找到HUE,那么在配置HUE的过程中,发现需要配置httpfs,因为配置了httpfs,hue才能去操作hdfs中的数据. HttpFs能干 ...

  9. 理解Java异常

    一.Java异常的简介 Java异常是Java提供的一种识别及响应错误的一致性机制.具体来说,异常机制提供了程序退出的安全通道.当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器.Ja ...

  10. SQL、HQL、JPQL、CQL的对比

    SQL:全称结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统:同时也是数据 ...