自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

革命队伍的螺丝钉

除了代码,没什么特别的

  • 博客(374)
  • 收藏
  • 关注

转载 c++编码规范

1.所有头文件都应该使用#define 防止头文件被多重包含, 命名格式当是:___H_#ifndef FOO_BAR_BAZ_H_#define FOO_BAR_BAZ_H_…#endif // FOO_BAR_BAZ_H_2.能用前置声明的地方尽量不使用#include.    当一个头文件被包含的同时也引入了新的依赖, 一旦该头文件被修改, 代码就会被重新编

2018-02-04 19:11:27 502

原创 (1)字符串置换

给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。置换的意思是,通过改变顺序可以使得两个字符串相等。样例"abc" 为 "cba" 的置换。"aabc" 不是 "abcc" 的置换。思路:先把字符串排序,然后进行比较bool Permutation(string &A, string &B) { // write

2017-11-15 14:09:06 569

原创 (32)快速排序

基本思想:首先将待排序记录序列中的所有记录作为当前待排序区域,从中任选一个记录(通常可选取第一个记录),以它的关键字作为枢轴,凡其关键字小于枢轴的记录均移至该记录之前,反之,凡关键字大于枢轴的记录均移动至该记录之后,这样一趟排序之后,记录将无序序列分割成两部分,再在这两部分中分别重复上述操作。代码:#includeusing namespace std;void quickSort(i

2017-06-02 10:20:02 538

转载 (54)const与define的特点和区别

(1)#define只是用来做文本替换的,#define 常量是一个Compile-Time概念,它的生命周期止于编译器,它存在于程序的代码段,在实际程序中它只是一个常数、一个命令中的参数,并没有实际存在。(2) const常量存在于程序的数据段,并在堆栈分配了控件。const常量是一个Run-Time的概念,它在程序中确确实实存在着并可以被调用、传递。const常量有数据类型,而宏常

2017-05-31 17:54:22 415

原创 (53)用在宏上的#符号

(1)  #           把宏参数变为一个字符串(2)  ##         把宏参数贴合在一起#includeusing namespace std;#define str(s) #s#define cons(a,b) (int)(a##e##b)void main() { cout << str(vck) << endl; cout << cons(2, 3)

2017-05-31 16:47:58 312

原创 (1)入门-简单例子

#include#include#includevoid init() { glClearColor(1.0, 1.0, 1.0, 0.0); //设置白色为窗口背景色 glMatrixMode(GL_PROJECTION); //设置为正投影模式 gluOrtho2D(0.0, 200.0, 0.0, 150.0); //设置投影区域}void lineSeg

2017-05-31 09:42:36 298

转载 (199)材质编辑器 - 如何创建和使用材质实例。

在 UE4 中,必须创建、设置和调整标准材质,这是非常耗时的过程。 为了帮助加快并简化此过程,虚幻引擎 4 提供了一种特殊材质类型,即 材质实例。 在以下操作指南中,您将学习如何在项目中设置和使用材质实例。材质实例化材质实例化是这样的一种方法:创建单个材质(称为“父材质”),然后将其作为基础来创建外观不同的各种材质。 为了实现这种灵活性,“材质实例化”使用“继承”概念。 继承无非意

2017-05-31 09:41:21 1771

转载 (198)材质编辑器 - 如何预览和应用材质

预览和应用材质是您经常要执行的操作,这可确保您获得所需的准确结果。 在虚幻引擎 4 (UE4) 中,预览和应用材质是一个直截了当的过程。 在以下操作指南中,我们将阐述在 UE4 中预览和应用材质所需了解的所有内容。预览和应用材质预览和应用材质是材质创建过程中的关键步骤,因为只有通过这些步骤,您才能查看并应用材质图中的工作成果。 预览材质时,您将看到更改后的效果。 如果要将预览的更改

2017-05-30 14:24:23 1404

转载 (197)材质编辑器 - 如何使用主材质节点

材质图的主材质节点是所有添加到材质图中的材质表达式节点最终连接的位置。 主材质节点的输入所产生的结果将在材质编译后应用于游戏中的对象时展现。 在以下操作指南中,我们将阐述您使用主材质节点时需要了解的所有内容。主材质节点材质 是使用一种称为 高级着色语言 (简称 HLSL)的专用编码语言来创建的。 HLSL 使材质能够直接与图形硬件交互,让美工和程序员可以更好地控制屏幕上显示的内容。

2017-05-30 13:58:52 1593

转载 (196)材质操作指南

下列操作教程将演示如何充分利用虚幻引擎 4 (UE4) 中材质编辑器的潜能。 从有关如何正确设置人体皮肤的提示,到分层材质使用技巧,操作教程对于想要进一步了解 UE4 材质编辑器的每个人都不可错过。创建新项目如果您尚未创建新项目,请通过下列步骤创建新的 Third Person 项目。 以下所有操作教程都假设您已按下列指导创建新项目。 您也可以遵循本教程但使用另一个项目,不过,请确

2017-05-30 13:56:56 465

转载 (195)基本材质概念

材质是让您的对象和关卡具有您想要的外观的关键因素之一。本文档介绍一种快速且高级别的方法来创建您自己的材质。如果您已经从前面的虚幻引擎使用过程中熟悉材质创建,那么您可能会对《快速入门指南》感兴趣,该指南会指出为了充分利用我们基于物理的材质系统而需了解的关键属性。材质表达式节点与网络关于材质,您需要知道的第一件也是最重要的事情就是,它们并非通过代码,而是通过材质编辑器中的可视脚

2017-05-30 12:01:09 1400

转载 (194)全局位置偏移

“全局位置偏移”类别包含通过全局位置偏移来进行网格顶点操作的特殊函数。这些函数可以链接到一起,以产生递增效应。全局位置偏移函数以下是“全局位置偏移”类别下所有函数的列表。SimpleGrassWind(简单草地风)SimpleGrassWind(简单草地风)函数对植物叶子应用基本的风运算,并允许您指定权重贴图和风力。这是无方向的风,它只是使植物叶子产生非常普通的移动

2017-05-30 11:07:49 2034

转载 (193)矢量操作

“矢量操作”类别包含用于应用各种基于矢量的数学方程式的特殊函数。矢量操作函数以下是“矢量操作”类别下所有函数的列表。Fresnel(菲涅尔)与普通的 Fresnel(菲涅尔)表达式节点不同,Fresnel(菲涅尔)函数允许您指定自己的一组用于计算方程式的矢量以及对混合进行其他调整。项目说明输入

2017-05-30 11:05:41 974

转载 (192)纹理处理

纹理处理函数用于对基于纹理的操作进行特殊处理,例如调整纹理的 UV 以及裁切纹理等等。纹理处理函数以下是“纹理处理”类别下所有函数的列表。CylindricalUVs(圆柱形 UV)此函数使用以对象中心居中的圆柱形投射 UV 来围绕对象平铺纹理。项目说明输入纹理对象(

2017-05-30 11:00:55 1894

转载 (191)明暗处理

明暗处理函数支持特殊的明暗处理操作,例如模糊明暗处理以及调整反射高光形状。明暗处理函数以下是“明暗处理”类别下所有函数的列表。FuzzyShading(模糊明暗处理)此函数模仿类似于天鹅绒或苔藓的表面,并与菲涅耳计算类似。另外,此函数也适合于着色器效果,例如扫描电子显微镜。项目说明输入

2017-05-30 10:58:32 906

转载 (190)反射

反射函数提供了各种加快处理材质中的反射计算的方法。反射函数以下是“反射”类别下所有函数的列表。ReflectionVectorSoft(柔化反射矢量)此函数根据传入的法线贴图来柔化反射矢量。结果是表面上显示的反射更加平滑。这是通过将法线贴图与平面 (0,0,1) 法线贴图混合(借助插值来完成),然后获取反射矢量来实现的。项目说明

2017-05-30 10:57:20 481

转载 (189)程序性

程序性 函数提供一种快捷的方法来建立以程序方式产生的简单纹理和蒙版。与使用导入的纹理相比,这可以节省内存。程序性函数以下是“程序性”类别下所有函数的列表。GeneratedBand(生成的色带)GeneratedBand(生成的色带)函数根据默认的纹理坐标生成水平或垂直的色带。项目说明输入

2017-05-30 10:55:31 456

转载 (188)支点描画器

支点描画器 材质函数使您能够接入支点描画器 MAXScript ,后者将旋转信息存储在网格的顶点中。这种方法非常适合于处理静态网格上的动态运动。虽然没有这些函数也可以利用支点描画器所提供的数据,但这些函数确实让使用过程更为简单。支点描画器函数以下是“支点描画器”类别下所有函数的列表。PivotPainter_HierarchyData(支点描画器_层次结构数据)

2017-05-30 10:53:17 608

转载 (187)粒子

粒子函数用来帮助完成粒子系统的复杂材质生成。粒子函数以下是“粒子”类别下所有函数的列表。3dParticleOpacity(3D 粒子不透明度)此函数的用途是帮助设置粒子,以使其在远离摄像机时逐渐消失。项目说明输入深度纹理(标量)(Depth Texture (Sca

2017-05-30 10:34:17 302

转载 (186)不透明度

不透明度函数用于加速处理复杂的不透明度计算。不透明度函数以下是“不透明度”类别下所有函数的列表。SoftOpacity(软不透明度)SoftOpacity(软不透明度)函数接收一个不透明度值,然后对其运行各种计算,从而产生一种柔和的感觉。它应用菲涅耳效果、基于深度的阿尔法以及像素深度。最终的结果会导致对象随着摄像机接近而逐渐消失。项目

2017-05-30 10:32:54 454

转载 (185)杂项

杂项函数包括各种不容易归入任何其他现有类别的一次性函数。将这些函数放在这里是为了避免产生太多只有一个函数的类别。杂项函数以下是“杂项”类别下所有函数的列表。TimeWithSpeedVariable(具有速度变量的时间)TimeWithSpeedVariable(具有速度变量的时间)函数与 Time(时间)节点相似,但具有可选的乘数输入。这个函数可以输出相乘结果,或

2017-05-30 10:30:54 335

转载 (184)数学

数学函数对纹理中像素的值执行基本数学方程式。数学函数以下是“数学”类别下所有函数的列表。分量相加AddComponents(分量相加)函数接收一个“矢量 2”、“矢量 3”或“矢量 4”,将其分量合并到一起,然后输出结果。您必须使用适合于相应输入的输出。例如,如果将图像输入到 f3(矢量 3)(f3 (Vector3)),那么必须使用 f3 输出。

2017-05-30 10:22:16 485

转载 (183)图像调整

图像调整函数用于对纹理执行基本的颜色校正操作。这些函数非常有用,它们允许您对纹理执行校正操作或改变,而不必担心因为要将单独的版本装入内存而产生开销。图像调整函数以下是“图像调整”类别下的函数列表。3ColorBlend(三色混合)3ColorBlend(三色混合)函数根据灰阶阿尔法,以如下方式对 3 种输入颜色进行混合:阿尔法色调

2017-05-30 10:21:18 701

转载 (182)渐变

渐变函数以程序方式生成根据纹理坐标表达式产生的渐变。与创建基于纹理的渐变相比,这些函数可节省内存。渐变函数以下是渐变函数的列表。指数径向渐变RadialGradientExponential(指数径向渐变)函数使用 UV 通道 0 来产生径向渐变,同时允许用户调整半径和中心点偏移。项目说明输入

2017-05-30 10:18:31 485

转载 (181)混合

混合 是一种函数类型,这类函数在纹理的颜色信息中执行数学运算,以使一个纹理可以特定方式混合到另一个纹理中。混合始终具有“底色”(Base)和“混合”(Blend)输入,这两个输入都是“矢量 3”(Vector3)。这两个输入都接收纹理,并以某种方式混合到一起。混合方式取决于您所使用的混合函数类型。混合函数以下是所有混合材质函数的列表。Blend_ColorBurn(

2017-05-30 10:16:30 368

转载 (181)混合

混合 是一种函数类型,这类函数在纹理的颜色信息中执行数学运算,以使一个纹理可以特定方式混合到另一个纹理中。混合始终具有“底色”(Base)和“混合”(Blend)输入,这两个输入都是“矢量 3”(Vector3)。这两个输入都接收纹理,并以某种方式混合到一起。混合方式取决于您所使用的混合函数类型。混合函数以下是所有混合材质函数的列表。Blend_ColorBurn(

2017-05-30 09:55:29 214

转载 (180)实用材质函数

创建并编辑材质函数之后,您可通过直接从 材质编辑器选用板 中拖动该函数,或者将该函数从内容浏览器拖到材质编辑器,将该函数添加到现有的材质中。它将包含各种由函数内的输入及输出节点定义的输出及输出。或者,您可在 内容浏览器 中选中该函数,然后按下 F 键并在材质编辑器中单击。如果在 内容浏览器 中未选择任何函数,那么这将创建空白的 MaterialFunctionCall(材质

2017-05-30 09:53:45 360

转载 (179)编辑材质函数

有时,您可能需要更改某个材质函数的功能。这可以直接从 内容浏览器 中完成,或者从利用给定函数的材质中完成。在 内容浏览器 或 材质编辑器 的“图形”(Graph)选项卡中,您可 双击 材质函数以便在单独的材质编辑器选项卡中将其打开,并查看构成该函数的材质表达式网络。以此方式,您可以在任何时间编辑和更新材质函数的内部网络。但是,对材质函数进行并保存的任何更改都将存在于该材

2017-05-29 20:11:41 265

转载 (178)创建材质函数

创建材质函数您可以通过 右键点击 并选择 新建 > 材质&贴图 > 材质函数 来在 内容浏览器 中创建新函数。 这样将会在材质编辑器中打开新建材质函数。默认情况下,您的新建函数将只有一个标记为 Result 的单个输出节点。 您现在可以创建任意节点网络并将它们连接到此运算结果上。如果您需要一个连接到您函数的输入,您将需要创建一个 FunctionInput 

2017-05-29 19:58:53 447

转载 (177)材质函数概述

材质函数 是材质图的一些小片段,它们可以保存在包中,并在多个材质之间重复使用。它们的用途是使您能够即时访问常用的材质节点网络,从而简化创建材质的过程。例如,如果您发现自己经常要创建一个网络以处理混沌纹理平移,那么将该部分网络保存为材质函数并在需要这种行为时使用该函数可以大大提高处理速度。您可在材质编辑器中像是编辑普通材质一样编辑函数,但在可以使用哪些节点方面存在一些限制。正确使用函数可降低

2017-05-29 19:42:13 956

转载 (176)矢量操作表达式

AppendVector(追加矢量)AppendVector(追加矢量)表达式允许您将通道组合在一起,以创建通道数比原始矢量更多的矢量。例如,您可以使用两个 常量 值并进行追加,以建立双通道 Constant2Vector(常量 2 矢量) 值。这有助于将单个纹理中的通道重新排序,或者将多个灰阶纹理组合成一个 RGB 彩色纹理。项目说明

2017-05-29 19:35:50 2032

转载 (175)矢量表达式

ActorPositionWS(Actor 全局空间位置)ActorPositionWS(Actor 全局空间位置)输出 Vector3 (RGB) 数据,该数据代表使用此材质的对象在全局空间中的位置。 在此示例中,您可以看到 ActorPositionWS(Actor 全局空间位置)直接输送到材质的“底色”(Base Color)。因此,此材质所应用于的每个球体在 3D

2017-05-29 19:33:17 3557

转载 (174)实用程序表达式

BlackBody(黑体)BlackBody(黑体)表达式用来在材质中模拟 黑体辐射 效果。用户输入开氏温度,产生的颜色和强度可用来驱动“底色”(Base Color)和“自发光”(Emissive)值,以获得在物理上准确的结果。BumpOffset(凹凸贴图偏移)BumpOffset(凹凸贴图偏移)是虚幻引擎 4 术语,就是通常所谓的“视差贴图”。Bump

2017-05-29 18:10:20 3676

转载 (173)纹理表达式

FontSample(字体取样)FontSample(字体取样)表达式允许您以常规 2D 纹理形式,从字体资源中取得纹理页面样本。字体的阿尔法通道将包含字体轮廓值。您只能指定有效的字体页面。项目说明属性字体(Font)包含要在表达式内保留的默认字体资产(来自 内容浏览器)。

2017-05-29 18:00:02 763

转载 (172)粒子表达式

DynamicParameter(动态参数)DynamicParameter(动态参数)表达式为粒子发射器提供管道,以便将最多四个要以任意方式处理的值传递给材质。这些值是通过放置在发射器上的 ParameterDynamic 模块在 Cascade 中设置的。项目说明属性参数名称(Param

2017-05-29 17:57:55 1490

转载 (171)参数表达式

CollectionParameter(集合参数)CollectionParameter(集合参数)表达式用来引用“参数集合”资产。这些是可以由许多不同资产(例如材质和蓝图等等)轻松重复使用的参数组。有关参数集合的更多信息,请务必参阅 参数集合文档 。同一材质可以引用最多2种不同的MaterialParameterCollections(材质参数集合)。 一种主要用来作为游戏范围内

2017-05-29 17:50:43 1234

转载 (170)数学表达式

Abs(绝对值)Abs(绝对值)是数学术语“绝对值(absolute value)”的缩写。Abs(绝对值)表达式输出其接收到的输入的绝对值(无符号值)。基本上,这意味着它通过删除减号将负数转换为正数,而正数和零将保持不变。示例:-0.7 的 Abs(绝对值)为 0.7;-1.0 的 Abs(绝对值)为 1.0;1.0 的 Abs(绝对值)也是 1.0用法示例:Abs(绝对

2017-05-29 12:14:41 1846

转载 (169)材质属性表达式

BreakMaterialAttributes(中断材质属性)在使用 分层材质 (“材质功能”系统的一项特性)时,BreakMaterialAttributes(中断材质属性)表达式十分理想。在材质中使用 材质层功能 时,您可能想只使用材质层的某一个方面。例如,您可能有一个定义漂亮的一般材质(如钢铁)的材质层。您可能希望在最终材质中仅使用该材质层的“粗糙度”和“底色”属性,而不是使用整个材

2017-05-29 12:12:52 1112

转载 (168)景观表达式

LandscapeLayerBlend(景观层混合)LandscapeLayerBlend 节点可将多个纹理和材质网络混合在一起,以便作为地形图层使用。LandscapeLayerBlend 使用阵列存储地形图层的相关信息。点击“0 elements”旁的加号图标即可为此阵列添加图层。为 LandscapeLayerBlend 节点添加多个图层后,得到的效果如下图所示。

2017-05-29 12:03:42 1647

转载 (167)材质函数表达式

FunctionInput(函数输入)FunctionInput(函数输入)表达式只能放在材质函数中,用于在该函数中定义该函数的某个输入。项目说明属性输入名称(Input Name)输入的名称,此名称将显示在使用了包含该输入的材质函数的 MaterialFunctionCall(

2017-05-29 12:00:56 441

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除