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》

时间: 2024-10-06 12:39:02

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

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

提要 今天要实现的是一个简单人物控制器.包括用w,a,s,d来控制人物上下左右跑动,鼠标左击发出连招,都是基于老的lagacy的动画.虽然unity3d自带有charactorcontroller,但是并不是很好用,所以人物控制相关的全部自己来实现.先上效果图: 场景搭建 首先下载这个package,里面包含了人物的动作还有地面的模型.将人物和地面都拖进场景中.这里的模型默认的动画模式是lagacy,不用修改.模型有点偏小,改变模型的scale值为10.最好不要改源文件的scale的scale

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

游戏动画基础 Animation组件 Animation组件是对于老的动画系统来说的. 老的动画形同对应的动画就是clip,每个运动都是一段单独的动画,使用Play()或CrossFade(),直接播放动画 或淡入淡出播放动画. animation.Play("name"); animation.CrossFade("name"); 下面的是它的几个属性 Animation:默认的动画片段: Aniamtions:包含的动画片段: Play Automaticall

Unity3D游戏开发从零单排(七) - NetworkView的Demo

提要 今天做了一个移动设备的网络通信demo,分两个部分,一个是网络连接,一个是数据通信. 需要两台Android设备A,B.A作客户端,B作服务端. 最终的效果是玩家控制设备A中的方块,B中的方块也一起动,同时在A的加速度传感器的信息在B中也实时更新. 网络连接 首先两台设备要联网,且IP在同一个网段,比如连接在同一个路由上,或者通过笔记本发出wifi信号,然后把设备连在上面. 在Unity3d中创建一个新工程,在场景中创建两个空物体,一个Client,一个Server. 在client创建一

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

提要 此篇是一个国外教程的翻译,虽然有点老,但是适合新手入门.自己去写代码,debug,布置场景,可以收获到很多.游戏邦上已经有前面两部分的译文,这里翻译的是游戏的最后一个部分. 欢迎回来 在第一篇中,我们学会了怎么在Unity中搭建游戏的场景,并且设置模型的物理属性. 在第二篇中,我们学会了怎么在unity中使用脚本,并且创建了大部分的游戏逻辑,包括投球和得分! 在这最后一节中,我们将会为用户创建一个菜单系统,并且和GameController进行交互,我们开始吧. 在设备上测试 到目前为止,

Unity3D游戏开发从零单排(九) - 进击的Shader

提要 今天要学习的是一些Shader 的例子,从简单到难.Let's go. 一大波例子来袭 还是用上一篇用到的工程.点我下载 红色的螃蟹 Test1.shader Shader "Custom/Test1" { SubShader { Tags { "RenderType" = "Opaque" } CGPROGRAM #pragma surface surf Lambert struct Input { float4 color : COLO

Unity3D游戏开发从零单排(八) - Shader基础

提要 今天要说的是Unity3D中shader相关的一些知识.不会做非常细致的讲解(东西实在太多!- -),但是看完之后会知道shader是怎么用的. 一些术语 在shader编程中,有一些术语,有时候不明白的话容易被整懵圈,所以这里就简单提一下. Shading Shading最开始指的在素描中给物体画明暗调子,在图形学中,其实就是给Mesh上色(Mesh就是一堆三角面片,包含顶点左边,法线坐标,uv坐标之类的),wiki中说的是根据物体相对于光线的角度及其距离光源距离改变物体颜色生成phot

Unity3D游戏开发从零单排(十) - 进击的Shader续

自定义光照模型 在这之前首先来了解一下SurfaceOutput这个结构体,它是一个包含大多数描述一个物体表面渲染特征的结构,具体结构如下: struct SurfaceOutput { half3 Albedo;//纹理颜色 half3 Normal;//法线 half3 Emission;//自发光,不受照明的影响 half Specular;//高光指数 half Gloss;//光泽度 half Alpha;//Alpha通道 }; 基本上所有的Shader函数要处理的就是这个结构体.

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

自上一章发布到现在已时隔四月,实在对不住大家,让大家久等了~话说不是我不关注我的博客,而是事情一多起来写博客的时间就少了.待到今日有空了,回头看了看自己以前写的文章,猛得发现已经四个月不曾写文章了,便只得叫声:"苦也~",我害怕本系列文章会拖得更久,于是立刻提笔,也好为本系列文章留个凤尾. 首先,大家来温习一下前面两篇里的内容吧: HTML5物理游戏开发 - 越野山地自行车(二)创建一辆可操控的自行车 http://blog.csdn.net/yorhomwang/article/de

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

cocos2d-x 游戏开发之有限状态机(FSM) (三) 有限状态机简称FSM,现在我们创建一个专门的FSM类,负责管理对象(Monkey)的状态.然后Monkey类就实现了行为与状态分离.Monkey类只负责自己的行为,MonkeyFSM作为Monkey的成员,负责状态调度.MonkeyFSM调用状态模式类的方法,状态模式类调用真实对象Monkey的方法.注意本文例子代码只是为了说明问题,并不能真正用于实际当中.其中Monkey与MonkeyFSM互相保存对方的指针,存在循环引用问题. 代码