游戏开发
魁梧的抠脚大汉
游戏开发小青年
展开
-
UnrealEngine Character Jump Twice
Unreal的角色类已经封装好Jump函数了,只需要调用一下即可如果想要Jump两次,制作二连跳也非常简单,只需要在角色类里吧JumpMaxCount设置为2即可Enjoy it原创 2021-10-29 09:35:15 · 301 阅读 · 0 评论 -
Compile the UE4 engine every time you start the project每次启动项目都要编译UE4引擎源码的解决方案
以前我也没遇到过这种问题,也挺郁闷的,我做了如下操作解决了这个问题。(1)更新引擎,把项目Cleanup干净,可以手动删除掉Binary下的文件然后再重新把引擎的原生文件revert回来。(2)调用Setup.bat一定把依赖项更新到最新。(3)gen一下项目重编译引擎即可。...原创 2021-01-05 19:36:38 · 1593 阅读 · 0 评论 -
虚幻4文件读写
头文件// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "Kismet/BlueprintFunctionLibrary.h"#include "MyFileHelper.generated.h"/** * */UCLASS()class NEWVERSION_API UMyFile原创 2020-12-11 21:45:24 · 656 阅读 · 1 评论 -
VC++编程Lib和Dll文件的生成和使用
Lib文件的生成和使用lib是静态链接库,生成和使用方法都比较简单。首先建一个空工程然后打开项目属性,把它设置为StaticLibary然后就可以向里面加入代码了,我创建一个LIBTest类.h文件.cpp文件然后右键Build它就可以了,在输出路径下会生成对应的lib文件这个路径当然也是可以修改的。不过对于静态库来说关系不是很大。现在有了这个lib以后就可以使用它了。新建一个c++空项目,把刚才生成的Lib复制到新工程下,同时也要把.h文件一原创 2020-11-07 16:28:37 · 805 阅读 · 0 评论 -
打光小笔记
游戏里一般用3 point light来打光,分为三部分 full light,key light ,back light主光背光主反光副反光也可以把光源信息烘焙到SH里。补光的能量叠加总和不要超过主光最高亮部的能量的二分之一,上面就有个错误的效果主反光比较难调,下面是正确的主反光效果(请忽略粗糙度的不同):...原创 2018-08-28 20:27:35 · 633 阅读 · 0 评论 -
虚幻4 DynamicTexture Write Array data to Texture2D
在游戏运行时将数组数据写入Texture中。我的环境是4.19使用下面的代码就可以直接把数组写入Texture2D然后显示出来了效果如下:Runtime的时候就动态写数据到Texture2D里了,需要注意的是,执行只后,对应的Texture资源是无法还原的了,永久被修改掉了Enjoy It对于渲染线程,使用Lock和Unlock也能轻松读写Texture的数据...原创 2018-09-22 16:17:43 · 1265 阅读 · 0 评论 -
像素读写进一个uint32中
这是computeshader中的写入下面是c++的读写第一张截图是写入,第二张是读取。Enjoy it原创 2018-09-22 17:44:41 · 373 阅读 · 0 评论 -
基于GPU的图像处理输出bmp格式的图再转换为tga精度损失问题。
我最近在搞图像处理,我的步骤是(1)先把要处理的图片读进GPU然后用CS处理(2)把CS的输出存到磁盘,此时数据是未压缩的BMP格式(3)美术同事可能想要其他格式的图片如tga,所以用ps的批处理把图片转为tga或者其他格式。下面就来看看这个过程的精度损失原始输出值是0.54输出之后到bmp中可以看到值是对的然后再转成tga可以看到值是在0.54之间浮动...原创 2018-09-28 01:26:26 · 782 阅读 · 0 评论 -
Maya python scripting(1)
我最近在重新学习Maya动画,在学习的时候我发现绑定需要脚本,所以我又重新开始复习maya脚本。总得来说maya的脚本完全没有难度,就是那些接口要记忆一下。我非常讨厌记代码,所以我把学习到的代码样本记在博客里,以后要用的时候直接copy【1】Create window in mayaimport maya.cmds as cmdsdef create_window(): ...原创 2019-08-07 09:47:38 · 753 阅读 · 0 评论 -
c++控制台生成一张图片
直接上代码:#include <fstream>#include <iostream>using namespace std;int main(){ int ScreenSizeX = 200; int ScreenSizeY = 100; ofstream fout("OutputImage.ppm"); fout << "P3\n" &l...原创 2018-06-19 09:46:56 · 7896 阅读 · 1 评论 -
我要搬家啦!!!
感觉这里写专栏看的人比较少,所以我的专栏文章会在知乎上写,平时在这里会写一些随笔我的知乎传送门:虚幻4渲染编程知乎专栏我的知乎专栏目录:https://zhuanlan.zhihu.com/p/36675543我的UnrealShaderToy专栏:https://zhuanlan.zhihu.com/c_188321773...原创 2018-05-12 19:14:00 · 3321 阅读 · 0 评论 -
虚幻4 渲染探索【2】通过CableComponent了解虚幻渲染管线在图源汇编阶段的全部细节
这是这个系列的第二卷也是最后一卷。第一卷的传送门在这里:虚幻4 渲染探索【1】引擎渲染组件初探 点击打开链接如果您对虚幻的渲染图元汇编阶段了解不多,那么可以先看看上面那篇文章。那么下面进入正题,我们以虚幻的CableComponent为例,来深入研究一下虚幻的渲染管线的图源汇编阶段。下面分几个小节(1)CableComponent的原理(2)CableComponent在虚幻里的实现步骤代码实现(...原创 2018-03-29 12:57:52 · 3083 阅读 · 1 评论 -
虚幻4多材质混合制作破损墙面
先上一个GIF吧:砖墙由两个材质层,用一个alpha控制,这个alpha是用顶点色和一张Mask贴图混合制作而成,顶点色作为墙面mask贴图的位置,mask贴图作为限制顶点色衰减的控制器。如果不做限定的话,定点色如下:如果不做限定根本无法做出自然稍微锐利的边缘mask。做好alpha之后剩下一步就是计算两个材质边缘的重叠厚度:把上一步计算得到的mask当成高原创 2017-11-02 18:54:18 · 4858 阅读 · 0 评论 -
虚幻4及国内部分引擎的shader架构梳理,虚幻4材质研究。
以下纯属个人经验总结,如有错误,还请斧正。现在的引擎对材质的概念越来越重视。那么材质在传统的shader管线中到底扮演怎样的一个角色呢。下面是我的一个简单梳理:总的来说,材质就是shader管线参数的辅管理者,它管理了shader管线的各个资源——贴图采样器,常量缓冲区数据等等。它会为shader各个管线提供资源支持。当你完成一个材质之后编译。最后出来的其实还是shader代码原创 2017-12-28 11:02:43 · 6212 阅读 · 1 评论 -
从仿函数到std::function再到虚幻4 Delegate
这几天研究了一下虚幻4的delegate,但是想要理解这个,还得从仿函数说起。仿函数的定义是:A Functor is a object which acts like a function. Basically, a class which definesoperator().下面是一段代码例子:class MyFunctor{ public: int operator原创 2018-01-23 09:29:06 · 1797 阅读 · 1 评论 -
3S材质
一下观点是我个人的经验总结,如有不正确的地方,希望各位大神斧正。现在是2018年2月3日,现在的业界正在流行PBR标准。但是标准PBR渲染方案并不能覆盖所有的材质类型,所以你才会在很多次世代引擎里面看到多种材质模型,他们都是基于PBR的改造。如Hair ,Skin,Eye,车漆等。所以如果想在游戏里对角色的皮肤进行正确的着色,就不能将迪士尼那套公式直接盖过去了,我们需要做一些修改。在管原创 2018-02-03 11:16:23 · 6945 阅读 · 0 评论 -
虚幻4修改引擎渲染管线解析【第一卷】通过添加自定义ShadingModle实现卡通着色来熟悉渲染管线
读过我前面一些博客的朋友对虚幻4的渲染流程有了一些大致的了解之后,那么我们现在可以开始着手开始修改虚幻4引擎了·。我们有些时候需要实现某些效果,就需要动手自己改引擎了。这是customnode或者是纯material无法做到的。有些人可能就要反驳了,“我纯用材质编辑器也能实现卡通材质啊”。但是无法忽略的一点是:在材质编辑器里制作的卡通材质无法接受光影。这时候有些人就想出了骚操作,用蓝图自己实现一个...原创 2018-02-14 12:53:01 · 11454 阅读 · 10 评论 -
【材质编辑器全解第一卷】Unity,UnrealEngine4等各大引擎材质编辑器原理详解
现在是2018年,材质编辑器现在在各大引擎,3D软件都非常普遍。那么它们是如何工作的呢。 其本质是,一个可视化节点就包含一段HLSL或者cg或者OpenGL代码,通过我们的“连线”将HLSL代码拼接出来。最后会出一张shader文件。对于早期的Unity和大部分3D软件的节点化材质编辑器来说,它们的shader代码比较简单,总共shader代码加起来可能也不会超过2千行,对于这一类的...原创 2018-03-14 22:20:03 · 2760 阅读 · 0 评论 -
技术美术图形交流群
如果你对虚幻4底层图形感兴趣,欢迎加入技术美术图形交流群大家一起交流技术。加入前我希望你是:【1】对渲染管线图形学有一定了解。【2】对虚幻4或者unity有一定了解。至少两年经验。如果您是初学者,可能这里不太适合您。群号是:192946459...原创 2018-03-15 10:06:10 · 3965 阅读 · 0 评论 -
【材质编辑器全解第二卷】UnrealEngine4的材质编辑器中实现函数调用
虚幻4的CustomNode允许我们再材质编辑器里直接进行shader代码的编写(它的原理可以看我之前的文章)但是它有一个缺陷,那就是无法进行函数调用。下面我们就来实现一个可以进行函数调用的CustomNode。先看一下我的实现效果吧:第一个为主函数,后面的为我们自己定义的可调用函数。那么现在就来一步一步修改引擎,来做出我们这个自定义的Cutom节点吧。首先建两个文件Engine/Classes/...原创 2018-03-15 14:40:12 · 2948 阅读 · 0 评论 -
鬼火引擎1.8.4版本在win10和VS2017环境下的HellowWord配置
首先要做以下几个准备:【1】下载鬼火引擎1.8.4版本 【2】下载DirectX SDK做好这几个准备后,先安装DirectX SDK。在win10安装这个时最后的安装提示永远不会提示成功(可以不必在意)。如果有TxView.dll安装不成功,请关闭掉EveryThing之类的软件。因为vs2017是自选的安装组原创 2017-09-19 10:54:45 · 1890 阅读 · 0 评论