原理类似置换贴图,只不过还想借助生成的高度区分出海面山体以及山顶的树木
效果不理想。没有办法像Blender那样在材质层次混合,要实现PBR效果只能靠引入大量的材质贴图。下面简述一下制作的思路

效果图

1. 在Godot中新建一个PlaneMeshInstance


增加细分

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中生成一座山相关推荐

  1. 【2016年第6期】情境大数据建模及其在用户行为预测中的应用

    吴书,刘强,王亮 中国科学院自动化研究所智能感知与计算研究中心,北京 100190 摘要:随着大数据时代的到来,信息系统收集了海量情境信息,如舆情信息.环境信息.经济信息等.这些情景大数据提供丰富的细 ...

  2. php多图片上传封装类,php----图片上传封装类:单张,多张图片上传,生成缩略图...

    <?php /** * 功能: 单张,多张图片上传,生成缩略图 * Class ImgUpload */ class ImgUpload { private $file; //文件信息 priv ...

  3. 【无标题】【3D建模制作技巧分享】zbrush中如何卡硬边?

    在zbrush制作的过程中,经常会遇到关于硬边的问题.也许是因为你对模型细分了之后,模型本来的硬边就变软了.也许是因为你没有在其他三维软件中把模型的硬边保护线做好.也许是你突然改变想法,想把某个地方雕 ...

  4. 建模语言UML在软件开发中的应用

      建模语言 UML 在软件开发中的应用 摘要:UML( Unified Modeling Language)是建立系统模型和分析业务处理流程强有力的工具,它能够帮助软件开发人员从不同角度描述系统,使 ...

  5. 【3D建模制作技巧分享】zbrush中如何卡硬边?

    在zbrush制作的过程中,经常会遇到关于硬边的问题.也许是因为你对模型细分了之后,模型本来的硬边就变软了.也许是因为你没有在其他三维软件中把模型的硬边保护线做好.也许是你突然改变想法,想把某个地方雕 ...

  6. Revit建模软件:如何在Revit中准确放置族组件?

    Revit建模软件:如何在Revit中准确放置族组件? 如何在Revit中准确放置族组件?今天,我们以螺丝为例来解释这个问题. 设置工作面: 你需要的工作平面是一个垂直或有角度的平面. 如图所示,蓝色 ...

  7. 【Unity3D Shader编程】之十一 深入理解Unity5中的Standard Shader(三)屏幕像素化特效的实现

    本系列文章由@浅墨_毛星云 出品,转载请注明出处.    文章链接:  http://blog.csdn.net/poem_qianmo/article/details/50095705 作者:毛星云 ...

  8. IDEF1x语义建模方法及其在数据库设计中的应用

    IDEF1x语义建模方法及其在数据库设计中的应用 李俊平 (深圳职业技术学院计算机软件工程系 广东深圳 518055) 摘要:IDEF1x是在E-R方法中引入语义的一种数据库概念建模方法,对E-R方法 ...

  9. 三维建模:浩辰3D软件中实体建模与曲面建模有什么区别?

    实体建模和曲面建模是3D设计中较为常用的两种三维建模方式,那么这两者在实际的绘图操作中有什么区别呢?又该如何区分使用这两种三维建模方式呢?下面就让小编以浩辰3D软件为例给大家详细介绍一下实体建模与曲面 ...

最新文章

  1. 在B站如何不动一根手指,就可以养成6级大佬?
  2. Open Drug Discovery Toolkit
  3. 名词用作动词举例_哪些词后面加动名词,哪些词加不定式,两者都可以加的又有那些?...
  4. redis php数据插入失败,redis插入数据,恢复数据测试(禁止淘汰策略下恢复大于redis内存限制数据情况)...
  5. 【剑指offer-Java版】23从上往下打印二叉树
  6. 【转】C++/CLI入门系列 第二篇:封装C++ dll库,提供接口给C#调用
  7. Android官方开发文档Training系列课程中文版:创建自定义View之View的创建
  8. python程序打包时出现lib not found_pyinstaller打包py脚本Warning:lib not found等相关问题...
  9. r语言的MASS包干什么的_R语言综述的包
  10. 机器学习笔记(十)——Logistic Function AND Softmax Function
  11. ios客户端快速滚动和回弹效果的实现
  12. unity描边发光shader_Unity Shader 边缘高亮、描边
  13. arcengine中测量两个geometry的距离
  14. npcap lookback adapter回环网卡是什么 它的作用是什么
  15. 正则表达式的基本原理
  16. FREEIPA:ipa-server的部署使用
  17. 考研英语二2017阅读理解Text3
  18. 五天学redhat系列之---文件系统管理
  19. 主流图数据库对比,Neo4j、ArangoDB、OrientDB、JanusGraph、HugeGraph
  20. vue异步问题解决方法

热门文章

  1. BIOS硬盘模式更改为AHCI模式,及更改后win10蓝屏的解决办法
  2. 在微信小程序中怎么让一个页面的信息传递到另一个页面
  3. JVM类加载、验证、准备、解析、初始化、卸载过程详解
  4. java 数组的扩容,缩容,插入元素,查找元素 详解(通俗易懂)
  5. Java面试题大全带答案110道(持续更新)
  6. c语言迷宫问题程序流程图,c语言程序设计 迷宫问题
  7. 如何使postman变为汉化版
  8. 数学:确定性的丧失--第一章 数学真理的起源
  9. 海洋磁力数据处理步骤
  10. 计算机一级补考53分能过吗,我考了53分