- 博客(16)
- 资源 (41)
- 收藏
- 关注
原创 使用蓝图(Blueprint)绑定多播委托(Multicast Delegate)【UE4】【C++】
本例将讲解 如何在 C++ 中创建一个多播委托,然后在运行时通知一组的 Actors(即广播事件给监听事件的对象们)首先创建一个 继承自StaticMeshActor 的类,命名为 KingKing.h// the type name of new delegate signature being created// the type of the signature's parameter
2017-03-20 21:09:15 8543 5
原创 事件处理(Handling Events)和委托(Delegate)代码示例(三)【UE4】【C++】
6. 自定义事件(Custom Event)首先添加事件声明宏到 MyTriggerVolume 类中(不是 GameMode)自定义事件声明如下:DECLARE_EVENT(AMyTriggerVolume, FPlayerEntered)第一个参数是具体实现事件的类,也是唯一能调用Broadcast 的类第二个参数是我们事件函数的签名并添加刚刚声明的事件签名的实例FPlayerEntered
2017-03-20 15:06:41 4169
原创 事件处理(Handling Events)和委托(Delegate)代码示例(二)【UE4】【C++】
3. 创建带参数的委托我们可以通过修改委托的签名来使其接受参数比如我们需要接受一个参数的话,可以在 GameMode 中这样声明:DECLARE_DELEGATE_OneParam(FParamDelegateSignature, FLinearColor)注意:这个宏与之前稍有不同,后缀多出了一个 _OneParam ,而且我们还需要指定接受参数的类型——本例为 FLinearColor接着再添
2017-03-20 13:44:52 3947
原创 事件处理(Handling Events)和委托(Delegate)代码示例(一)【UE4】【C++】
1. 通过重写虚函数来处理事件MyTriggerVolume.h自定义一个Actor类,添加一个 Box 组件作为触发区域,然后通过重写虚函数——NotifyActorBeginOverlap, NotifyActorEndOverlap来响应事件#pragma once#include "GameFramework/Actor.h"#include "MyTriggerVolume.gen
2017-03-20 01:44:00 3412 1
原创 后期材质(PostProcess Material)+ Custom Node 实现"描边"和"马赛克"效果【UE4】
参考自:描边马赛克描边效果静态:动态:马赛克效果静态:动态材质编辑器分别如下:描边马赛克HLSL代码分别如下:描边//input SceneTexSize//input UV//input NotUse//input OutLineSize//input MaxZ//input OutLineColorfloat3 w=float3(0.2125,0.7154,0.0721);fl
2017-03-18 16:33:08 4646
转载 有关UnrealEngine材质编辑器中的Custom节点的一些小贴士
转自:湛蓝玫瑰 PS:本文写于2017.2.1日,使用版本为4.13。第二次更新时间为2017.3.15增加了四、一些材质编辑器中的奇怪的技巧:一、前言在Unreal中材质编辑器提供了Custom节点,作为HLSL代码编写接口。以此可以实现更多的效果。虽然使用Custom节点会有若干限制,但是相对的比较方便,适合快速开发。如果遇到限制而导致无法使用Custom解决,此时就需要使用虚幻的RHI(硬件
2017-03-18 15:24:28 4012 2
原创 后期处理材质(Post Process Material)【UE4】
效果图:静态:动态:主要的步骤可以参看 官方的的 Example,我就不再赘述,但有几处需要注意的地方:1.因为 Material Domain 选择了 PostProcess,所以 SceneTexture 应改为 PostProcessInput,而不是SceneColor;2.我没有用GlobalPostProcessVolume,而是新建的 PostProcess,而且指向它自身区域内才有
2017-03-18 01:10:38 15275
原创 利用第三方后期处理材质(PostProcess Material)对物体进行描边【UE4】【C++】
效果图:第一步,创建C++ Basic Code第二步,定义键盘和鼠标输入的映射第三步,修改 Rendering 中的 Custom Depth - Stencil Pass第四步,找到GlobalPostProcessVolume [如果没有的话自行拖放一个PostProcessVolume组件]将 unbound 勾选上再修改 Blendables 为 PPI_OutlineColored完
2017-03-16 21:43:55 10215
原创 动态材质实例(Dynamic Material Instance)【UE4】
本例将通过 “靠近影响椅子的颜色” 来展示什么是 动态材质实例(Dynamic Material Instance)如图,它通常是用一个参数化的材质实例 + 蓝图 来实现的首先,我们搜索椅子模型——SM_Chair,双击打开它的材质——M_Chair可以看到 ColorSeats 参数影响着椅子的颜色,记住它的名字。接着,我们创建一个继承自 Actor 的蓝图类,将椅子的模型拖入新建的蓝图类然后,
2017-03-14 14:45:19 25655
原创 材质实例化(Material Instancing)【UE4】
普通的材质通常使用常量来定义某些属性,这样有个缺点:当材质被编译完后,该属性是不能修改的,即游戏运行中无法动态变化;但材质被实例化之后,我们只需编译父材质,那么它的子材质们就无需再次编译,这样如果有较多子材质的话,就可以大大提高游戏的性能;例如,上图父材质为“金属”特效,我们可以再创建两个子材质,让它们“继承”父材质的金属特性,然后通过调整这些特性(参数),我们可以得到自己想要的其他效果,比如“铜
2017-03-14 13:34:41 10075
原创 Epic 官方视频教程《 Battery Collector》源码+超详细注释【C++】【UE4】
首先来看效果图:1. 电池随机从天空掉落,玩家按C键收集电池的能量(闪电粒子效果)来补充血条(每秒都会自动衰减)2.玩家的颜色随着血条的减少,逐渐变黑3.当血条为空时,玩家(黑色的那一坨)死亡,游戏结束;如果玩家提前集满血条则获胜。以下是完整的源代码,并配套详细解释:Pickup.h// Fill out your copyright notice in the Description page
2017-03-13 15:59:56 6442 2
原创 分层材质(Layered Materials)的应用【UE4】
分层材质的应用十分广泛,经典的就是风景的制作:一个材质包括了泥土、草地、积雪。下面的例子是 分层材质用于某个物体,使得其表层是油漆,内层是金属:用一张纹理当做遮罩,来插值其他两张纹理的材质也是能得到相同的效果,但是功能模块高度耦合没法复用;所以 UE4 提供了另外一种方法——Material Function,它的创建方法:在 Content / Materials 目录下,右键点击 Materi
2017-03-09 21:02:00 12282 1
转载 MaterialInstance 的作用 【UE4】
转载自:http://blog.csdn.net/pizi0475/article/details/50948904原文格式有些问题,遂整理如下:我们经常会在游戏中看到Materials,但是还有一种数据结构名字叫做MaterialInstance。其实不少游戏的Mesh指认的都是 MaterialInstance 而不是 Materials,为什么呢?1.Materials和MaterialIn
2017-03-09 17:19:09 3064
原创 材质 “Glow 效果” 的实现【UE4】
效果如下:(由于对上传图片大小有限制,所以GIF截图质量下降严重)算法较简单,首先来看 Emissive color 部分:就是将对实现准备好的三张纹理进行线性插值,其中 Mask 为遮罩纹理接着再来看 Emissive Color 部分:算法也很简单,即随着时间的变化,经过变化的常量颜色和遮罩纹理进行线性插值,然后结果传入 Emissive Color总览图最后,附上 UE4 自动生成 HLSL
2017-03-09 15:29:41 11664
原创 关卡中如何使用 Geometry(BSP) 创建障碍物 【UE4】
如图,BSP 选项(新版本为Geometry)在左侧的 Mode 面板下,提供了若干基础的 BSP 供我们选择。我们虽然可以通过 Detail 面板下的 Transorm 下的 Scale 来改变它的大小,但是它有个很大的问题——当我们最后将它转换为 “Block Volume”的时候,它的 Scale 会被重置为 1,这显然不是我们想看到的结果。建议的方法是,通过修改 Brush Setting
2017-03-07 15:11:29 8843
原创 OnComponentBeginOverlap.AddDynamic 的编译错误【UE4】
以 Character 类为例,假设有 PacManCharacter 派生自 Character类首先在 PacManCharacter.h 头文件中添加碰撞函数的声明:OnCollision 为自定义的碰撞函数,名称可以任意,但参数形式必须满足以下条件UFUNCTION()void OnCollision(class AActor* OtherActor, class UPrimitiveC
2017-03-06 18:18:42 4650
手把手带你用 Unity 开发游戏(2021)第二版
2022-02-18
网络前端的 shader 视频教程 (3)
2022-02-16
网络前端的 shader 视频教程 (7)
2022-02-16
网络前端的 shader 视频教程 (6)
2022-02-16
网络前端的 shader 视频教程 (5)
2022-02-16
网络前端的 shader 视频教程 (4)
2022-02-16
网络前端的 shader 视频教程 (2)
2022-02-16
网络前端的 shader 视频教程 (1)
2022-02-16
《终极的 Git 课程 —— 与虚幻引擎相结合 》(2)
2022-02-15
《终极的 Git 课程 —— 与虚幻引擎相结合 》(4)
2022-02-15
《终极的 Git 课程 —— 与虚幻引擎相结合 》(3)
2022-02-15
《终极的 Git 课程 —— 与虚幻引擎相结合 》(1)
2022-02-15
Instagram 滤镜 Spark AR视频教程 (3)
2022-02-15
Instagram 滤镜 Spark AR视频教程 (2)
2022-02-15
Instagram 滤镜 Spark AR视频教程 (1)
2022-02-15
上千种实用视频蒙太奇特效制作效果 Montage Library v5.0.rar
2021-09-30
1000 种出入场文字动画效果 Text Library v3.1.rar
2021-09-30
纹理合成 C++ 代码
2020-12-10
matplotlib-cpp 源码.zip
2020-02-06
2D 折线顶点平滑算法
2020-01-14
OpenCV310 Cmake
2016-10-17
编译过的Cartoonifier_Android工程
2013-08-21
精通Android增强现实源码
2013-01-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人