Godot Shader:无需建模用一张图片在Godot中生成一座山
原理类似置换贴图,只不过还想借助生成的高度区分出海面山体以及山顶的树木
效果不理想。没有办法像Blender那样在材质层次混合,要实现PBR效果只能靠引入大量的材质贴图。下面简述一下制作的思路
效果图
1. 在Godot中新建一个Plane
的MeshInstance
增加细分
2.贴图制作
一张Perlin Noise
一张遮罩
把噪声和遮罩以类似相乘的方式叠加一下
3.着色器代码
shader_type spatial;
uniform sampler2D height_map : hint_white;
uniform float height_scale = 1.0;
uniform float uv_scale : hint_range(0.1,2.0) = 1.0;
uniform vec4 water_color : hint_color;
uniform vec4 stone_color : hint_color;
uniform vec4 tree_color : hint_color;varying float height;void vertex(){VERTEX.y = height = texture(height_map,UV * uv_scale).y * height_scale;
}void fragment(){if(height < 0.1){ALBEDO = water_color.rgb;}else if(height < 0.2){ALBEDO = stone_color.rgb;}else{ALBEDO = tree_color.rgb;}
}
4.材质
Godot Shader:无需建模用一张图片在Godot中生成一座山相关推荐
- 【2016年第6期】情境大数据建模及其在用户行为预测中的应用
吴书,刘强,王亮 中国科学院自动化研究所智能感知与计算研究中心,北京 100190 摘要:随着大数据时代的到来,信息系统收集了海量情境信息,如舆情信息.环境信息.经济信息等.这些情景大数据提供丰富的细 ...
- php多图片上传封装类,php----图片上传封装类:单张,多张图片上传,生成缩略图...
<?php /** * 功能: 单张,多张图片上传,生成缩略图 * Class ImgUpload */ class ImgUpload { private $file; //文件信息 priv ...
- 【无标题】【3D建模制作技巧分享】zbrush中如何卡硬边?
在zbrush制作的过程中,经常会遇到关于硬边的问题.也许是因为你对模型细分了之后,模型本来的硬边就变软了.也许是因为你没有在其他三维软件中把模型的硬边保护线做好.也许是你突然改变想法,想把某个地方雕 ...
- 建模语言UML在软件开发中的应用
建模语言 UML 在软件开发中的应用 摘要:UML( Unified Modeling Language)是建立系统模型和分析业务处理流程强有力的工具,它能够帮助软件开发人员从不同角度描述系统,使 ...
- 【3D建模制作技巧分享】zbrush中如何卡硬边?
在zbrush制作的过程中,经常会遇到关于硬边的问题.也许是因为你对模型细分了之后,模型本来的硬边就变软了.也许是因为你没有在其他三维软件中把模型的硬边保护线做好.也许是你突然改变想法,想把某个地方雕 ...
- Revit建模软件:如何在Revit中准确放置族组件?
Revit建模软件:如何在Revit中准确放置族组件? 如何在Revit中准确放置族组件?今天,我们以螺丝为例来解释这个问题. 设置工作面: 你需要的工作平面是一个垂直或有角度的平面. 如图所示,蓝色 ...
- 【Unity3D Shader编程】之十一 深入理解Unity5中的Standard Shader(三)屏幕像素化特效的实现
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/50095705 作者:毛星云 ...
- IDEF1x语义建模方法及其在数据库设计中的应用
IDEF1x语义建模方法及其在数据库设计中的应用 李俊平 (深圳职业技术学院计算机软件工程系 广东深圳 518055) 摘要:IDEF1x是在E-R方法中引入语义的一种数据库概念建模方法,对E-R方法 ...
- 三维建模:浩辰3D软件中实体建模与曲面建模有什么区别?
实体建模和曲面建模是3D设计中较为常用的两种三维建模方式,那么这两者在实际的绘图操作中有什么区别呢?又该如何区分使用这两种三维建模方式呢?下面就让小编以浩辰3D软件为例给大家详细介绍一下实体建模与曲面 ...
最新文章
- 在B站如何不动一根手指,就可以养成6级大佬?
- Open Drug Discovery Toolkit
- 名词用作动词举例_哪些词后面加动名词,哪些词加不定式,两者都可以加的又有那些?...
- redis php数据插入失败,redis插入数据,恢复数据测试(禁止淘汰策略下恢复大于redis内存限制数据情况)...
- 【剑指offer-Java版】23从上往下打印二叉树
- 【转】C++/CLI入门系列 第二篇:封装C++ dll库,提供接口给C#调用
- Android官方开发文档Training系列课程中文版:创建自定义View之View的创建
- python程序打包时出现lib not found_pyinstaller打包py脚本Warning:lib not found等相关问题...
- r语言的MASS包干什么的_R语言综述的包
- 机器学习笔记(十)——Logistic Function AND Softmax Function
- ios客户端快速滚动和回弹效果的实现
- unity描边发光shader_Unity Shader 边缘高亮、描边
- arcengine中测量两个geometry的距离
- npcap lookback adapter回环网卡是什么 它的作用是什么
- 正则表达式的基本原理
- FREEIPA:ipa-server的部署使用
- 考研英语二2017阅读理解Text3
- 五天学redhat系列之---文件系统管理
- 主流图数据库对比,Neo4j、ArangoDB、OrientDB、JanusGraph、HugeGraph
- vue异步问题解决方法