Unity3D教程宝典之Shader篇:第十七讲Heightmap与地形

转载自风宇冲Unity3D教程学院

Heightmap

Heightmap, 高度图。通常Heightmap高度图储存成Gray Scale Image也就是常说灰度图。越白该点就越高,纯黑表示最低点,纯点表示最高点。

8位灰度图有256阶。16位灰度图有65536阶。如果依然精度不够用的话(例如绘制大型场景),那么可以使用标准的RGB位图来储存高度图,那么精度就是256的3次方=16777216阶。同理还可以再升为RGBA。

Heightmap可以用3D软件(Unity的地形也可以)来绘制,或者Photoshop里的插件。

高度图主要用在3个地方。

(1) 地形  Terrain

(2) 凹凸纹理 Bump Map

(3) 置换贴图 Displacement mapping

(2)和(3)后面讲会详细介绍,这里主要讲(1)地形

地形的导入与导出

unity3d自带地形编辑器,可以绘制地形。地形的起伏即高度信息可以用高度图储存。 既可以导入raw后缀的HeightMap生成地形,也可以在unity3d里绘制好地形导出raw后缀的Heightmap。HeightMap比起用3D地形模型节省很多储存空间。

用任意图生成灰度图做Unity3d的地形

时间: 2024-10-11 15:57:29

Unity3D教程宝典之Shader篇:第十七讲Heightmap与地形的相关文章

Unity3D教程宝典之Shader篇:第二讲Fixed Function Shader

原创文章如需转载请注明:转载自风宇冲Unity3D教程学院 Fixed function shader简介:  属于固定渲染管线 Shader, 基本用于高级Shader在老显卡无法显示时的情况.使用的是ShaderLab语言,语法与微软的FX files 或者NVIDIA的 CgFX类似. 例一:显示单一颜色下面我们来看第一个例子,显示单一颜色,注释写得挺详细了,照着格式写即可. //根Shader Shader "Custom/1_1color" { // 属性 Propertie

Unity3D教程宝典之Shader篇:第一讲Shader总篇

原创文章如需转载请注明:转载自风宇冲Unity3D教程学院 引言,在Unity3d里,所有的图形绘制都必须通过Shader,即着色器.一般的使用过程中,我们用到的都是unity自带的Shader,即build-in shader.学习Shader后,自己写的Shader能做出很多你想要的特殊效果,增强游戏的画面表现.例如 水的倒影. LOGO的光影闪过等等效果等等. Shader的分类 Shader按管线分类一般分为固定渲染管线与可编程渲染管线 1)固定渲染管线 ——这是标准的几何&光照(Tra

Unity3D教程宝典之Shader篇:第九讲Render Path

转载自风宇冲Unity3D教程学院 Render Path定义Render Path,就是采取的光照流程. Render Path设置可以在Edit-> Project Settings->Player 里设定,见下图.也可以直接在摄像机的Inspector面板里设置. Render Path详细讲解                                    一:Vertex LitVertex Lit即顶点光照,顾名思义, 就是所有的光照计算都是在顶点进行的,因此所有的像素运算效

Unity3D教程宝典之Shader篇:基础讲 基础知识

转载自风宇冲Unity3D教程学院 以下内容不需要入门的时候立刻阅读和理解,建议逐渐深入学习后,不时回来看看即可. 什么是GPU? GPU:Graphic Processing Unit,中文翻译为“图形处理器”.显卡包括(GPU,显存,显卡BIOS,显卡PCB板). 什么是Shader? Shader程序:GPU执行的,针对3D对象进行操作的程序. Shader有哪几种? CG:与DirectX 9.0以上以及OpenGL 完全兼容.运行时或事先编译成GPU汇编代码. HLSL: 主要用于Di

Unity3D教程宝典之Shader篇:特别讲 CG函数

转载自风宇冲Unity3D教程学院 特别讲:CG函数 本讲不需立刻看完,遇到相关函数时来查阅即可.(本文截图来源:Cg教程_可编程实时图形权威指南) E.1  数学函数 E.2 几何函数 E.3 纹理贴图函数 E.4 导数函数 E.5 调试函数 E.1  数学函数 E.2 几何函数 E.3 纹理贴图函数 E.4 导数函数 E.5 调试函数

Unity3D教程宝典之Shader篇:特别讲 常见问题解答

转载自风宇冲Unity3D教程学院 本讲会陆续补充一些问题的解答. 问: (1) TRANSFORM_TEX是做什么的 (2)float4 _MainTex_ST 中的_MainTex_ST变量也没有用到,为啥非要声明一下? 答: (1)简单来说,TRANSFORM_TEX主要作用是拿顶点的uv去和材质球的tiling和offset作运算, 确保材质球里的缩放和偏移设置是正确的. (v.texcoord就是顶点的uv) 下面这两个函数是等价的. o.uv =   TRANSFORM_TEX(v.

Unity3D教程宝典之Shader篇

教程目录 基础讲:Shader学习方法基础讲:基础知识特别讲:常见问题解答特别讲:CG函数 第一讲: Shader总篇第二讲: Fixed Function Shader 第三讲: Vertex&Fragment Shader基础 第四讲: 制作一个美丽的地球第五讲:LOGO闪光效果 第六讲:TexGen第七讲:流程图第八讲:Why CG?第九讲:Render Path第十讲:雾化第十一讲:阴影面剔除及深度测试第十二讲:alpha测试第十三讲:alpha混合第十四讲:Surface Shader

Unity3D教程宝典之Shader篇:第四讲制作一个美丽的地球

原创文章如需转载请注明:转载自风宇冲Unity3D教程学院 Vertex and Fragment Shader例子二,制作一个自动旋转的3D地球. 下载美丽的地球工程 原理是 2张贴图,一张地球图,一张云层分布图(1)通过uv.x即纹理坐标的横轴与时间相乘,产生球在移动的效果 (2)通过地球和云的颜色值叠加形成 层叠 的效果.注意:贴图的'Wrap Mode'属性一定要设置成Repeat                              关于Wrap Mode当Wrap Mode为Cl

Unity3D教程宝典之Shader篇:第三讲Vertex&Fragment Shader

原创文章如需转载请注明:转载自风宇冲Unity3D教程学院 Vertex and Fragment Shader:最强大的Shader类型,也是本系列的重点,下文中简称V&F Shader,属于可编程渲染管线. 使用的是CG/HLSL语法.分为2个部分vertex顶点部分和Fragment像素部分.下面依然通过写几个简单的Shader来学习. 例一:显示一张贴图 新建Unity工程,新建一个Cube立方体,新建一个名为Exam1的Shader(Project视图->Create->Sh