MapMagic学习记录
MapMagic学习记录
- 写在前面
- Map
- Blend
- Blur
- Cavity
- Constant
- Curve
- Erosion
- Intensity/Bias
- Invert
- Noise
- Normalize
- RAW_input
- Shore
- Simple_form
- Slope
- Terrace
- Voronoi
写在前面
这篇博客主要是学习MapMagic的蓝图里的功能块的记录。
Map
Blend
使用指定的算法将多个不同的Map输入进行混合,这些混合算法都是以Base层的输入为左操作数的,即在Base的基础上进行混合修改。
Base层无法被上下挪动,但是其他层可以(其他层之间修改上下顺序对结果似乎并没有什么影响)。
除了Base层之外的每一层都有两个属性:使用的混合算法;影响因子(为0时则不会发生任何事情)。
以下是提供使用的混合算法,设Base层(左操作数)的值为a
,其他层(右操作数)的值为b
:
- Mix:简单地使用影响因子来进行混合,
return b;
- Add:相加,
return a+b;
- Subtract:相减,
return a-b;
- Multiply:相乘,在大多数情况下输入的值都小于1,因此结果必定小于两个操作数中的任意一个,
return a*b;
- Divide:相除,相乘的对立运算,大多数情况下结果都大于两个操作数中的任意一个,
return a/b;
- Difference:层差,
return Mathf.Abs(a-b);
- Min:较小值,
return Mathf.Min(a,b);
- Max:较大值,
return Mathf.Max(a,b);
- Overlay:覆盖(一个奇怪的算法…),使用如下公式:
if(a > 0.5f) return 1 - 2 * (1 - a) * (1 - b);
else return 2 * a * b;
Base层的影响因子恒为1
,且使用的混合算法恒为Add(其实就是0 + a
的意思)
影响因子的作用大概是,比如说使用Add算法,其他层的值为b
,影响因子为e
,则 return a + b * e;
Blur
模糊效果(或者说是平滑效果?),具有四个属性:
- Intensity:每次迭代过程里模糊的强度
- Iterations:迭代次数,增加此项会减少模糊的性能
- Loss:强制生成器跳过一些输入像素,这将导致更像素化的外观,但是更加平滑,为1时此项无效
- Safe Borders:安全距离,不同地形块之间的过渡距离,在此距离内不会应用模糊效果
Cavity
计算输入的Map的凹凸映射,分别是concavity(凹)和convexity(凸),这两个方式生成的结果是互补且不相交的(毕竟一个是凹一个是凸)。
所有的膨胀,肿大和拱起的曲面都是凸的,而空洞都是凹的。
- Intensity:强度,在这里类似于影响因子,为0时Cavity没有作用
- Spread:因为并不总是会出现绝对凹凸,这个值的作用可以理解为近似考虑的程度
- Normalize Convex+Concave:确保所有的凹凸加起来为1,关闭此项以获得更好的性能
- Safe Borders:安全距离
Constant
提供一个常数值的Map的输出。
Curve
使用用户定义的曲线调整地图值。
工作原理类似于Photoshop中的曲线。
曲线图的横轴为输入值,纵轴为输出值。
这个生成器为Map的编辑提供了大量的可能:它可以用来反转Map,调整最小值或最大值,上下限死(夹住)Map的值,甚至用于制作梯形坡。
例如,为了给Map更多的对比度,只需要在靠近中线的水平方向上移动左右键。要反转地图,将左键移到顶部,右键移到底部,这样对角线就被反转了。
取反
对比
选择范围
湍流脊?(Turbulence Ridge)
梯田化/梯形坡
Erosion
重现水在地形表面的流动作用:水流侵蚀形成悬崖,将被侵蚀的地层带到另一个位置,并将其作为沉积物沉淀下来。
所有的流、侵蚀和沉积物计算都是迭代的,并且非常需要资源,这使得Erosion Generator成为所有MapMagic生成器中最慢的一个生成器。在现代计算机上,使用默认参数生成侵蚀通常需要大约3秒的时间——与任何其他生成器的计算几乎都是实时的相比而言,但结果通常是值得的。
输入:
- Heights:需要处理的高度Map。
输出:
- Heights:处理完成后的高度Map。
- Cliff:这张Map表示输入的Map里被侵蚀的分布,即那些被侵蚀的狠的地方,Cliff对应的位置的值就越大。
- Sediment:类似于Cliff,这张Map表示输入的Map里被沉积的分布,即那些沉积的狠的地方,Sediment对应的位置的值就越大。
属性:
- Iterations:生成器迭代的次数。该参数直接决定性能。在大多数情况下,没有必要将其设置地超过5-7,因为之后的侵蚀会变得不是那么的明显。
- Durability:决定了输入地形的耐操性(?)——它受水流侵蚀的影响有多大。较低的值会使得造成更大的侵蚀,但总体结果不是那么地准确和可预测,因此建议将此值设置为0.8或更高。如果设置为1,那么将不会被侵蚀。因为这个参数的行为类似于侵蚀值,它可能会在未来的版本中被删除。
- Erosion:关系到地层的数量,间接决定了被沉积的量。
- Sediment:关系到沉积量。0意味着所有被侵蚀的土地都将被带走,因此没有任何沉积物留下。2则反而会让被侵蚀的地方多了一倍的沉积(2333)。一个实际的值应该略低于1,但是在0-2的值范围内可以获得良好的结果。
- Fluidity iterations:用于计算流量的迭代。较高的值意味着沉积物将从地层最初被侵蚀的地方移动得更远。它与Iterations一起极大地影响性能。
- Ruffle:随机地增加一些被侵蚀的底层,会使得结果看起来更褶皱。
- Safe Border:安全距离。
Intensity/Bias
在懒得使用曲线的时候的一个求对比度的生成器。
属性:
- Intensity:强度,用此值(0~1)和输入进行相乘,即为【对比】。
- Bias:通过增加指定值来调整输出结果。
Invert
在懒得使用曲线的时候的一个求反相的方法。
具有一个属性Level,决定了反相Map的高度。
此生成器的输出就是Level减去输入。
Noise
噪声生成器是Map Magic中最基本的生成器之一。它生成一个分形柏林噪声地图,广泛用作于各种地图创建算法的基础。
输入:
- Input:如果没有输入,则输出结果就是个纯噪声Map,否则结果是输入与噪声的相加。
- Mask:用于控制强度,将噪声与掩码值相乘。
属性:
- Seed:柏林噪音的随机种子。
- High:最大高度。
- Low:最小高度。
- Size:最大分形大小,较小时会产生均匀可预测的噪音,较大时则更类似于一个高度图。
- Detail:决定大小分形的偏差。当高于0.5时,小的分形有更大的影响,这导致一个更“噪声“的Map。当小于0.5时,小分形的显著性小于大分形的显著性,这导致噪声更平滑。
- Turbulence:起伏度,产生“拱起”(大于0时)或“脊”(小于0时)。
- Offset:噪声的偏移。
Normalize
归一化多个输入,使得其总和为1。
提供两个可选算法:Sum和Layers:
- Sum:类似于加权平均,先求出所有Map的值的和,然后再除各自的值,这样最后的结果里每个Map的贡献都是公平的,与层的顺序无关。
- Layers:类似于PS里的图层混合,在上层的层会更有优势。
RAW_input
用不到,太长不看。
Shore
创造一个海滨效果,即海岸线。
这玩意看起来就像是让Map的低洼处变得更加明显。
Simple_form
创造一个简单的高度Map。
属性:
- Type:可以在梯度、金字塔,圆锥体中选择。
- Intensity:强度。
- Scale:大小。
- Offset:偏移量。
- Wrap Mode:分布模式,可以在仅一次,平铺,pingpong中选择。
使用示例:
Slope
计算Map的高度差,即区分水平法向与垂直法向的点。
属性:
- Steepness:定义参与区分的度数(角度制)范围,即坡度:哪个坡度内的被视作一类法向的点(此坡度的补集内的点即被视作另一类法向的点)
- Range:不同坡度之间的渐变范围。
Terrace
用来生成梯田图的,太长不看。
Voronoi
使用Voronoi模式创建Map。将Map分割成单元格,为每个单元格生成一个随机点,并使用到最近点和第二最近点的距离填充地图。Voronoi地图看起来像是由不规则凸多边形组成的马赛克。
属性:
- Type:可以在平坦,最近,次近,细胞状,有机状之间选择。
设自己的随机点的位置为a
,最近点的位置为b
,次近点的位置为c
,则以上分别对应a
,b
,c
,c-b
,c+b
- Intensity:强度。
- Cell count:细胞的数量,为了更好地衔接,建议使用2的幂次。
- Uniformity:规则度,为1时所有的单元格都一样,越小则越有个性。
- Seed:伪随机数生成器。
MapMagic学习记录相关推荐
- Pytorch学习记录-torchtext和Pytorch的实例( 使用神经网络训练Seq2Seq代码)
Pytorch学习记录-torchtext和Pytorch的实例1 0. PyTorch Seq2Seq项目介绍 1. 使用神经网络训练Seq2Seq 1.1 简介,对论文中公式的解读 1.2 数据预 ...
- HTML5与CSS3权威指南之CSS3学习记录
title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...
- springboot @cacheable不起作用_Springboot学习记录13 使用缓存:整合redis
本学习记录的代码,部分参考自gitee码云的如下工程.这个工程有详尽的Spingboot1.x教程.鸣谢! https://gitee.com/didispace/SpringBoot-Learnin ...
- 【Cmake】Cmake学习记录
Cmake学习记录 1.1 常例 add_library(gen_reference_infogen_reference_info/gen_reference_info.hgen_reference_ ...
- ASP.NETCore学习记录(一)
ASP.NETCore学习记录(一) asp.net core介绍 Startup.cs ConfigureServices Configure 0. ASP.NETCore 介绍 ASP.N ...
- Android开发技术周报176学习记录
Android开发技术周报176学习记录 教程 当 OkHttp 遇上 Http 2.0 http://fucknmb.com/2018/04/16/%E5%BD%93OkHttp%E9%81%87% ...
- add函数 pytorch_Pytorch学习记录-Pytorch可视化使用tensorboardX
Pytorch学习记录-Pytorch可视化使用tensorboardX 在很早很早以前(至少一个半月),我做过几节关于tensorboard的学习记录. https://www.jianshu.co ...
- java之字符串学习记录
java之字符串学习记录 public class StringDemo { public static void main(String[] args) { //静态初始化字符串 String s1 ...
- Redis的学习记录
Redis的学习记录 1.先导了解 1.1 NOSQL概述 1.1.1 为什么要用NoSql? 1.1.2 NoSql了解 1.1.3 NoSql特点 1.1.4 NoSQL的四大分类 2. Redi ...
最新文章
- C#中Base64之编码,解码方法
- Keil中找不到芯片,往Keil中添加不存在的芯片,Keil安装pack文件
- Apache Samza流处理框架介绍——kafka+LevelDB的Key/Value数据库来存储历史消息+?
- [EntLib]微软企业库5.0 学习之路——第七步、Cryptographer加密模块简单分析、自定义加密接口及使用—上篇...
- WPF WindowStyle为None
- jquery清空div内容_jQuery常用功能
- SAP Spartacus的Lock Focus Directive单元测试实现
- 企业靠一套数据平台实现“低成本运营战略”,降低成本600万
- matlab程序 直线插补,用Matlab实现直线插补计算程序讲解学习
- sqldr load 以及extract data 的中文问题--
- 网吧 电影服务器系统,XBS网吧电影系统10-26修改版(附教程)
- 发生异常: ModuleNotFoundError No module named ‘XXXX‘可优先尝试的解决方式
- 百度脑图制作的简单的个人介绍
- 大话设计模式之爱你一万年:大话设计模式之爱你一万年由来
- 【JavaWeb】在office word中使用merge field出现空行问题
- FREQCON OVERSPEED 1.2 368U4 204S
- 电脑会不定时的突然黑屏加显卡风扇狂转,记录一次排查过程
- 镁光256Gb NAND Flash芯片介绍
- 综合应用 -- 购物车
- 计算机学什专业,计算机专业到底学什么?
热门文章
- 面向对象求圆的面积和圆柱体积
- 晨跑锻炼C语言程序设计,大学晨跑心得(16页)-原创力文档
- 使用javaassist动态修改字节码文件
- 再论信息化的隐性成本
- 来算google的可视化编程工具——Blockly,不仅仅是玩具
- 恰当应用计算机提高课堂教学效率,教学多媒体论文,关于计算机辅助英语教学需要增强实效性相关参考文献资料-免费论文范文...
- 初学c语言的方法和操作
- 安卓报错Error:Failed to find target with hash string ‘android-26‘以及模拟器找不到错误
- Simotion应用与组网之七 PG/PC
- picACG本地缓存目录_2020最新泛目录站群程序【新手实战效果案例】