
C++
文章平均质量分 64
cartzhang
这个作者很懒,什么都没留下…
展开
-
Unreal shareDDC设置
怎么设置DDC,简单记录下。1、添加环境变量使用一个BAT文件来实现。setx /M UE-SharedDataCachePath \\10.0.200.5\TestServer\ProjectX\ShareDDCpause2、在defaultEngine.ini 配置[DerivedDataBackendGraph]Shared=(Type=FileSystem, ReadOnly=false, Clean=false, Flush=false, DeleteUnused=true, Un原创 2021-10-09 13:06:09 · 1216 阅读 · 0 评论 -
Unreal UMG按钮的按住,长时间会自动调用Release释放按钮。
UE 鼠标模拟按住按钮会自动释放的bug遇到的问题在UE4.26.2 版本上使用UMG作为按钮的时候,当在ProjetSettings的input中设置bUseMouseForTouch=True时候,奇怪的事情发生了,鼠标模拟按住按钮触发事件,会在一段时间后自动调用了释放release按钮。同事找我来看看下,我就找找看。查找在网上溜达一圈,发现有类似问题:https://answers.unrealengine.com/questions/278238/long-press-button原创 2021-09-26 22:13:14 · 944 阅读 · 2 评论 -
UE4 GameplayTag 初始化造成崩溃错误
这个应该不算是崩溃,因为游戏打包后根本没有起来。在编辑器模式下,都很正常,包括单单独的DS模式。崩溃log 如下``LogPlayLevel: ********** DEPLOY COMMAND STARTED **********LogPlayLevel: Warning: WARNING: Win64 does not implement Deploy…LogPlayLevel: ********** DEPLOY COMMAND COMPLETED **********LogPlayLe原创 2021-09-07 16:20:24 · 812 阅读 · 0 评论 -
UE4中类自动生成代码解析
本文章由cartzhang编写,转载请注明出处。 所有权利保留。 文章链接: 作者:cartzhangC++ 代码自动生成流程界面点击生成C++类图1先调用 SMenuEntryBlock::OnClicked ,然后调用UI_COMMAND(AddCodeToProject) —-> FMainFrameActionCallbacks::AddCodeToProject(),—-> Op原创 2017-06-13 18:42:49 · 2663 阅读 · 0 评论 -
UE4 Sequencer的事件调用
怎么在Sequencer中调用事件,这里做一个镜头抖动的效果来说明。首先,以CameraShake作为基类,创建一个蓝图MyShake调整其中参数:创建一个Sequencer。这里第一人称场景随意创建了一个。 添加event Track ,这合适的时间创建一个key,添加事件函数名称。播放sequencer.抖动事件在场景中选中创建的Sequencer,然后在Level bluepri原创 2017-06-21 18:29:24 · 15115 阅读 · 2 评论 -
全局对象和全局静态、局部静态析构顺序
多久不用C++ ,好多東西都模糊了,最近跟人討論全局和靜態的析構順序,之前總覺得這個根據編譯器來決定的,其實還是有一定的說法的。 記錄一下:1. 全局与静态对象析构的顺序class A destructor delete a; class B destructor 局部变量 class D destructor // 局部静态变量 class C destructor // 全局原创 2017-06-07 21:49:00 · 11573 阅读 · 2 评论 -
深入理解UE4宏定义—— GENERATED_BODY
本文章由cartzhang编写,转载请注明出处。 所有权利保留。 文章链接: 作者:cartzhang一、GENERATED_BODY 都实现了什么? 在前几年的写引擎的时候,也类似使用过这些宏定义的方法,用法也是比较复杂的。现在就借UE4来回顾和分析一下。 测试版本:4.15 看例子:// Fill out your copyright notice in the Descript原创 2017-06-01 18:37:40 · 16119 阅读 · 2 评论 -
怎么给Unity写一个原生的插件
本文章由cartzhang编写,转载请注明出处。 所有权利保留。 文章链接:http://blog.youkuaiyun.com/cartzhang/article/details/49884507作者:cartzhang-------------怎么给Unity写一个原生的插件Untiy可以导入其他语言编写(和编译)的代码;翻译 2015-12-11 17:54:57 · 11878 阅读 · 0 评论 -
给虚幻4添加内存跟踪功能
本文章由cartzhang编写,转载请注明出处。 所有权利保留。 文章链接: 作者:cartzhang本篇译文同发与蛮牛译馆, 地址:http://www.manew.com/thread-46327-1-1.html?_dsign=ae91354a给虚幻4添加内存跟踪功能从我上次谈论内存申请和跟踪已经有一段时间了。我得抽出时间来在虚幻4上实现跟踪,并且已经完成了。我假设你已经阅读过来之前的翻译 2016-01-15 16:02:15 · 4708 阅读 · 0 评论 -
Kinect小小玩偶游戏----小小潜水员
本文章由cartzhang编写,转载请注明出处。 所有权利保留。 文章链接: 作者:cartzhangKinect小小玩偶游戏----小小潜水员一、游戏说明通过Kinect控制小玩偶来玩Unreal游戏,左右手抬起可左右移动;右手举过头顶,可跳起;还可以发射蜗牛子弹来攻击小鱼。使用UE4的2D效果来实现。先睹为快,萌萌哒的小小主角:二原创 2015-04-08 14:11:55 · 1944 阅读 · 0 评论 -
UE4--Log写入到单独文件中
本文章由cartzhang编写,转载请注明出处。 所有权利保留。 作者:cartzhang把LOG写入到单个文件中。把所有的Log都写入到本地save文件夹下,这个是默认路径, 所有都在一起,看起来很不方便。自己写了一个,可以在UE中直接使用。代码很简单。#define CZ_LOG_S(FileName,Value) \{ \ static bool IsNewLog = tru原创 2017-09-27 20:02:36 · 3680 阅读 · 2 评论 -
UE 通用小功能代码集合《一》
本文章由cartzhang编写,转载请注明出处。 所有权利保留。 文章链接: 作者:cartzhang记录一些,几乎没人都会用到一些小的功能。 以后还会有一些吧,所以先写个《一》,也有很长时间没有管理和更新了。打印到屏幕FString DebugString; DebugString += "sockte name is ......";原创 2017-12-21 20:32:10 · 1381 阅读 · 0 评论 -
蓝图对象放到场景中ChildComponent 总在零零点问题
记录问题: 蓝图对象的其Box组件会生成在关卡的零点。 手动移动有问题的蓝图,有时候会使Box组件位置回到蓝图上,但是Box的旋转扔是固定的,没有跟随窗户蓝图本身的旋转。解决办法:原来代码:SKeletalMeshMeshCom = CreateDefaultSubobject<USkeletalMeshComponent>(TEXT("SkeletonMeshCom...原创 2018-03-09 20:11:04 · 706 阅读 · 0 评论 -
UE4 文件加密
记录:文件的加密和解密代码:FString aa = "This is a test"; uint8* Blob1; //we declere uint8 pointer uint32 Size1; //for size calculation Size1 = aa.Len(); Size1 = Size1 + (FAES::AESBlockSize -...原创 2018-03-10 10:36:38 · 4395 阅读 · 0 评论 -
UE编程一些提示
1.尽可能多用const,能用的地方都用.2.编译时间断言使用Static_assert.3.override 强烈推荐使用,由于之前没有C11才有,所有引擎本身很多有没有写,他们说都在改。4.nullptr 使用这个,之前都习惯了使用NULL。5.支持auto关键字,这个与C# 很类似,用了觉得方便,迭代器使用也没有之前麻烦。6.lamba表达式和匿名函数,lamba表达C#...原创 2018-09-17 17:51:51 · 1065 阅读 · 0 评论 -
UE singleton 单例实现方法总结
本文章由cartzhang编写,转载请注明出处。 所有权利保留。作者:cartzhang单例使用目的:一个类有且仅有一个实例。防止有多个实例。防止被变量在任意代码中被修改。1. 函数内部静态变量.h/** Singleton access, platform specific, also calls PreInit() **/ static IFileManager& G...原创 2018-09-18 21:25:06 · 2293 阅读 · 0 评论 -
UE 场景针对PS 性能测试
一、 PS 性能测试过程分别测试了slim 版本和Pro版本,添加动态材质2K 200张,4K材质100张。UE4的场景,添加了大量的顶点模型,天空盒和三层地形材质。步骤三四分别添加2K 材质200张,4K材质100张操作,添加过程都是动态完成的。二 、测试结果综合考虑了,目前用户当前情况,针对PS4的性能指标,通过测试结果(暂定):同屏面数 500万单个模型大小: 参考汽车展...原创 2018-12-25 10:45:50 · 872 阅读 · 0 评论 -
读《虚幻引擎程序设计浅析》笔记
本文章由cartzhang编写,转载请注明出处。 所有权利保留。文章链接:作者:cartzhang有两年没有怎么写东西了,希望今年有时间和精力,多读书,多写些文字。一、 c++编程1.运行时类型识别UE4不能直接使用dynamic_cast,因为虚幻引擎开启了/GR-编译器参数。具体参考:https://msdn.microsoft.com/zh-cn/library/we6hfd...原创 2019-03-12 19:59:49 · 1807 阅读 · 0 评论 -
UE4 我的bug——模板函数
一、模板函数造成的Bug之前,自己写了一个很深的bug,与编译器有关。写了一个模板函数在某个CPP文件中,然后就出现玩家不能正常落地,落地后总有一段距离。Templatebool InvalideateOrUpdateCapsuleBodySetup(…)在VS2015下可以出现这个问题,在Vs2017下则没有。在编辑器模式下没有问题,在打包后会出现此bug.最后发现了是在项目CPP...原创 2019-05-21 21:17:18 · 938 阅读 · 0 评论 -
写在开始
写在开始做这个公众号,想自己做游戏也有一些时间了。使用用虚幻引擎也有一些年头了,遇到很多东西,在慢慢日常的游戏开发中的各种坑,写个小本本上,但总是觉得不太牢靠。在这里分享、分析一些自己的想法和感悟,一是希望自己可以时不时回头看看,看看我们走过了那些,不枉费我们日夜煎熬和渐生的华发,也算给自己的岁月有点交代。二是分享给大家,也希望给在游戏开发中的队友能有微薄的帮助,那就更是不胜荣幸的事。游戏开...原创 2019-06-26 21:14:45 · 392 阅读 · 0 评论 -
UE4.5.0的Kinect插件(Plugin)<一>
声明:所有权利保留。转载必须说明出处:UE4 Plugin,在UE4的官网,放出了有个BlankPlugin和一个UObject两个Plugin,提供给大家学习和使用。但是呢,还是不好弄啊。我也研究了很久,下来各种Plugin来研究和学习,最终才搞成这样子的。Kinect,这个微软的之前游戏里的黑科技的玩意,现在一代居然不买了。估计他们有原创 2015-01-27 12:53:24 · 8094 阅读 · 17 评论 -
C++省略号类型和参数个数不确定函数参数范例
今天想写个宏定义,发现宏定义里也可以写不定参数,但是我的宏最终没有用。因为我觉得写完,这个不定参数给我带来的麻烦,比好处好想多。因此我就定义了两个宏,用一个宏定义另一个。把今天这个c++的类型不确定和参数个数不确定的用法先记下来。以备后用啊。直接代码:#include // 必备头文件#includeusing namespace std;typed原创 2015-03-11 20:08:28 · 6050 阅读 · 1 评论 -
cmake配置c++可调用的文件路径参数
一、目的在程序中使用一个路径配置,因为在svn服务器的测试数据,测试数据成为了本地路径,在程序中使用了绝对路径来处理文件的输入,这个令人头疼啊。每次下完代码,我得挨个地方去找,谁在用本地路径,有点绝对路径为:e:\data\test\1.img. 我只好一个个改动代码,因为我没有E盘啊。故此,由cmake来实现自动配置一个相对路径,在代码中使用一个宏定义来作为大家的基础路径,这样代码原创 2014-05-15 16:27:53 · 4396 阅读 · 2 评论 -
C++ tab键实现自动补全输入功能
一、简介由于项目中写了个测试的控制台程序,是每次读取一行,即通过getline()来实现的,所以每次必须输入全路径名称,才能实现运行。大家都觉得麻烦,就写了个tab键自动选择补全的。目前基本可实现功能,但是没有回退的功能和跳出循环,有需用的就自己改吧。此程序基于windows的控制台实现的。二、实现过程1. 代码自我感觉还算清楚。里面有部分注释。#include原创 2014-03-26 12:51:14 · 7649 阅读 · 0 评论 -
宏定义#define整理
一、宏定义#define 优点:一方面可以节省程序的空间上的篇幅,另外,恰当地使用宏定义可提高程序的时间效率。代码可以写的通俗易懂。可以提高程序的清晰性、可读性,使于修改移植等。 缺点:宏定义的使用实际上也存在副作用,大量的使用会破坏程序的可读性,并给程序的调试带来麻烦,是优点也是缺点。过多的宏定义,代码不容易调试,代码进不去宏定义当前所运行的内容。 一般来说,如果一个函原创 2014-04-01 12:58:50 · 3896 阅读 · 0 评论 -
c++智能指针使用笔记
1. c++智能指针中,c++的memory文件中,有auto_ptr,shared_ptr等各种关于智能指针的东西。 也看了ogs的智能指针,每次引用起来比较麻烦,规则也多。方便的是自动的引用计数。 写了个公用类,如下:#ifndef _test_share_ptr_h__#define _test_share_ptr_h__#define null 0c原创 2014-03-07 10:51:16 · 1143 阅读 · 0 评论 -
用static 创建类的单例
1.0通过函数调用new的static 类对象,由于static 对象只能初始化一次,由此构成单例运行。2.0 直接代码代码为windows,win32工程,因为只有一个文件,不上传工程了。直接贴。// **.cpp : 定义控制台应用程序的入口点。///********************************************************原创 2014-02-20 11:30:57 · 1312 阅读 · 0 评论 -
pragma pack,字节对齐
关于字节对齐pragma pack一、测试代码:// packTest.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include using namespace std;/*********************************原创 2013-12-27 10:07:26 · 2154 阅读 · 2 评论 -
SFML学习纪要
工作需要,近段粗浅看了一下SFML,记录一下!一、浅见概述SFML,simple Fast and mulitmedia Library官方网站:http://www.sfml-dev.org/index.php编译也相对简单,按照自己需要下载源码,32bit 或64bit,Cmake可以轻松编译成功。SFML是夸平台库。看了看代码,就simple来说名副其实啊。其他没有进行具体测原创 2013-11-04 15:24:01 · 7816 阅读 · 0 评论 -
C#调用C++类的导出函数
C# 需要调用C++东西,但是有不想做成COM,就只好先导出类中的函数处理。抛砖了!测试IDE版本为 visual studio 2008C++部分:1. 首先建一个C++WIN32 工程,配置属性里面--> 常规里的配置类型,改为动态库(.dll)建立个SimpleClass类头文件和CPP文件如下:SimpleCClass.h#ifndef _SIMP原创 2013-06-14 18:29:14 · 4450 阅读 · 1 评论 -
cmake的使用笔记
1. cmake使用网上还蛮多的。可是当你自己去用的时候,才觉得,都不是你想要的。自己做个记录,用法全是基本用法。2. 我在里面直接写注释说明了,直接贴了。#cmake#1.#cmake_minimum_required(VERSION 2.8.2 FATAL_ERROR)# 解决方案名称project(real_ex)#设置宏定义,在VS的属性页--》原创 2014-03-19 11:04:07 · 10951 阅读 · 0 评论 -
lua不同模块调用
一、起因由于准备ba原创 2014-05-15 17:35:06 · 2146 阅读 · 0 评论 -
openGL线型和线宽以及线的抗锯齿
openGL线型和线宽以及线抗锯齿 一、 线宽Opengl的线宽设置:glLineWidth(width); width为float类型值,在0~10.0,大于10以上按10来处理。若开启线的反走样glEnable(GL_LINE_SMOOTH);,设置小数值才起作用,否则就四舍五入的处理整数了。二、 线型函数为glLineStipple(factor, Pattern[原创 2014-07-17 15:22:16 · 23672 阅读 · 3 评论 -
C++生成GIF小结
声明:所有权利保留。转载必须说明出处:近来需要把BMP或Kinect的内存图片多张合成为小GIF图片。找了找,东西不少,做个小结,以备以后用到。一、GIF.h此方法很简单,就是一个头文件。但是我没有尝试成功。可能的原因是我的BMP图片的生成自己顺序与GIF.H头文件所要求的不一致。Gif.h头文件代码如下: 使用方法如下://GifWrite原创 2015-03-02 16:53:23 · 10246 阅读 · 2 评论 -
UE4的JSON读写方式<二>
声明:所有权利保留。转载必须说明出处:Json的Writer博客地址:http://blog.youkuaiyun.com/cartzhang/article/details/41009343 UE4的Json读写方式UE4 的json读写方式一、UE4的Json解析代码有网友说UE4的解析有问题,解析出处。个人觉得应该是Json格式有问题。或解析的对原创 2015-02-13 15:10:04 · 11514 阅读 · 3 评论 -
UE4的JSON读写方式<一>
UE4 的json读写方式JSON 的解析有很多开源库。UE4的JSON使用在代码的Public->Serialization中。头文件包含:Json.hJson的读写创建是static形成的单例模式,有JsonWrite或JsonReader的Factory来创建(Create)出来。以读方式为例子:读的代码: float _score = MyPla原创 2014-11-11 11:49:56 · 9167 阅读 · 1 评论 -
Unreal Enginer4特性介绍-牛B闪闪的UE4
声明:转载说明出处!unreal4特性介绍网址:https://www.unrealengine.com/products/unreal-engine-4 unreal enginer介绍我的UE4学习(一)你曾想过用连线的形式来编写程序么;你曾想过通过编辑工具就可以来创建类,并在vs中自动生成类和函数,头文件和cpp文件么;你曾想过粒子效果翻译 2014-09-19 19:43:04 · 6141 阅读 · 0 评论 -
5DXTPlayer串口调试小结
小结过程总是艰难。首先是没有准备好。没有安装vs2012,安装的时候,出现各种状况,因为先安装的2013高版本,造成12安装不正确,程序编译出问题。没有办法,只好卸载vs2012,2013及其各项内容啊,卸载完了发现连vs2010也不能工作了。修复一下,仍旧不行,都乱套完了。我做出了一个及其重要的决定:重装系统。新作系统,然后vs2010,vs2012,vs2013挨个原创 2014-09-14 10:55:31 · 1319 阅读 · 0 评论 -
UE4编码规范
翻译原文为Unreal 的官方!自己看着总结了一下,不一定每条都能对上。不足之处,请多多指教!原文地址: unreal CodingStandardUE4编码规范在Epic,有简单几条代码编写标准:l 代码生命的80%时间在于维修l 没有一个软件在整个过程中只有原作者在维护l 编码规范可以提供软件可读性,新手可迅速透彻理解代码。新的工程师来会建立新翻译 2014-09-17 18:38:49 · 3679 阅读 · 0 评论 -
openCV 和GDI画线效率对比
一、由于项目需要,原来用GDI做的画线的功能,新的项目中考虑到垮平台的问题,打算用openCV来实现,故此做个效率对比。二、2点做一条线,来测试效率。用了同样的画板大小---256*256的大小,函数通过参数输入,用GetTickCount来实现计时功能。三、GDI的主要循代码如下:void show_line(int line_num,int point_num)原创 2014-07-23 13:49:19 · 4576 阅读 · 0 评论