自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

你好,旅行者

行至水穷路自横,坐看云起天亦高

  • 博客(44)
  • 资源 (3)
  • 收藏
  • 关注

原创 UE 项目导航数据生成配置

如果有必要把不影响导航的组件及Actor中Collision的CanEverAffectNavigation取消勾选,可以影响Nav Tree Memory占用。该值在开启修改导航模式的情况下开启,把模型数据导出放到异步线程里去做,目前不知道对构建导航Task造不造成影响。为了优化内存占用,该值微调可以降低整个内存占用,但是过大会造成孤立的导航数据区域丢弃,所以不宜过大。相对应的是该值越低最终生成的导航数据与物体碰撞误差越小,越大误差越大。该值可以影响AI的导航攀爬,数值调整的越大,内存占用会约低。

2023-02-24 18:26:23 1066

原创 UE NavigationSystem的相关实现

ARecastNavMesh memory : DetourNavMesh中的所有瓦片结构内存总和 + 激活路径分配的内存(ActivePaths)+ 支持的区域结构分配的内存(SupportedAreas)+ 查询过滤器分配的内存(QueryFilters)+ 区域映射Map分配的内存(AreaClassToIdMap)+ 导航生成器内存占用(待处理任务数据结构大小 + 生成器结构本身大小 + 运行时任务结构大小 + 瓦片构建器分配的内存总和)当区域重叠时,这是相关的,我们也希望区域成本表达区域相关性。

2023-02-24 18:15:19 1550

原创 UE AI Perception的Sense解析

UAISenseEvent`本身更多的是充当类似于接口的功能,最关键的函数定义是`GetSenseID`,这个函数交由继承的子类负责实现,而子类会通过`UAISense::GetSenseID(UAISense_XXX)`获取全局唯一的实例SenseID,`GetSenseID`函数最终会调用`GetDefaultObject`里的SenseID,`GetSenseID`获取到的ID可以作为获取实例的索引,在感知系统中,通过传入的`UAISenseEvent`获取ID,再遍历Sense调用指定Sense的事

2022-07-08 22:08:54 757

原创 UE AIModule 源码解读之写法借鉴(一)

Unreal Engine AIModule 源码写法借鉴篇

2022-07-06 00:52:54 422

原创 UE AI里的感知实现流程解析

UAIPerceptionComponent,UAIPerceptionSystem, UAIPerceptionStimuliSourceComponent交互逻辑

2022-07-04 14:04:53 1144

原创 ActionRoguelike源码中相对于个人的新用法探索

项目示例学习内容

2022-06-13 18:45:08 197

原创 C++新特性在UE5中的使用

C++ 11以上

2022-06-13 18:39:37 1117

原创 UE4 4.18关于视频播放中音频播放的变动

这个问题是我请教一个UE4开发好友解决的(当然是他告诉我的,插件结构发生了变动)他的联系方式,QQ:10235336 , email: [email protected]具体视频播放的变动日期不知道,但很可能在4.18.3。该变动中是视频播放的Media Sound已经不是可随同Media Player 勾选生成了,如果你想在播放视频的同时播放出声音,那么你可以新建一个Acto

2018-01-24 19:23:13 3446 2

原创 C++ 原型模式(Prototype Pattern)

看原理远没有实际应用中的模式令人恍然大悟。//PrototypePattern.h#pragma once#include using namespace std;class Root{public: virtual Root* Clone() = 0; virtual void Print() = 0;};class Tree :public Root{public

2018-01-23 10:56:09 454

原创 C++ 工厂模式(Factory Pattern)

//FactoryPattern.h#pragma once#include //base one factory pattern.enum PRODUCT { ONE, TWO, THREE, FOUR };class SimpleAbstractProduct{public: virtual void Print() = 0;};class SimpleOneAbstr

2018-01-22 16:10:08 378

原创 C++ 单例模式(Singleton Pattern)

参考文章:并发指南单例的七种写法//SingletonPattern.h#pragma once#include #include #include class FSingleton {private: static FSingleton* Instance; FSingleton() {}public: static FSingleton* GetIn

2018-01-16 16:40:21 352

原创 C++ 代理模式(Proxy Pattern)

随意写的,主要用作代码练习,防止代码生疏,敬请见谅!本意是能够写成一个多用途的代理模式,结果还是写废了,其他方面来说,没有时间重整它,有的写法是没有太大意义的。期望有点价值吧首先放一个代理模式的讲解,个人觉得写得不错,如果你是寻求代理模式的用法用途的话,值得一看:代理模式原理及实例讲解//ProxyPattern.h#pragma once#include #inc

2018-01-11 11:35:39 1093

原创 UE4 读取Non-asset型的资源

一,非资源型文件的打包拷贝:     非常重要的一环是非资源型的文件默认是不被打包拷贝的,如果你需要把这些文件随同包体一同打包,就需要额外的配置,关于这种配置的博客也有前人说过了,这里在赘述一下:     你可以通过Project Settings->Packaging找到相关配置选项。     Additional Asset Directories to Cook :这类适用于资源

2017-12-27 15:48:53 2262

原创 UE4 用FFastXml解析Xml

​解析文件的引用:FFastXml存在于Runtime/XmlParser/Public/FastXml.h头文件中API Document中关于FFastXml的用法说的还是很清楚的,因此,本篇之简要说明一下基本使用规则:首先,你必须实现IFastXmlCallback接口,事实上,你的主要操作就在这个接口提供的5个接口函数中。基于此,继承IFastXmlCallback接口

2017-12-21 11:13:02 1050 2

原创 UE4 C++编程常用知识点总结

1,给角色添加组件:      UCameraComponent* Camera = CreateDefaultSubobjectUCameraComponent>(TEXT("Camera0"));2,字符串组合(蓝图中组合字符串):   BuildString, string +int/float/Object/vector2/boolean……+ string3.将属性公开到

2017-12-07 10:46:27 6237 1

原创 UE4 Pak加载

Overview:   本篇主要说明两点内容:一,Pak正确加载的源码内容及遇到的bug所在;二,Pak的生成问题。如果你看到此篇,说明你有可能需要这些文档:风蚀之月的UnrealPak使用笔记:http://blog.ch-wind.com/unrealpak-note/UE4 PAK加载资源:http://blog.csdn.net/u014532636/article/detail

2017-11-15 13:52:46 7781 6

原创 UE4 补丁更新(基于Http)

写在前面:本篇博客,算是我个人整理并亲自实现整个流程的吧,也就厚着脸说是原创了(尽管东拼西凑,实现了具体功能),具体本篇具体引用了谁的源码,亦有说明,关于文件服务器的配置也是烂大街的,就不再赘述了。1,  文件服务器的搭建:网上有各种各样的文件服务器,不可能罗列出所有(个人偏重于IIS和Tomcat),这里使用Apache Tomcat(版本7.0.82):首先下载tomcat,链接地

2017-11-03 20:23:17 5562 2

原创 UE4 IOS打包详解

写在前面:因为是详解,所以可能写的有可能啰嗦,也有可能有些步骤是你经历过的,那么请忽略它,向下寻找可能的答案,如果没能解决你的问题,那么对此感到很抱歉,没能帮到你,欢迎你给我邮件: [email protected],希望此文章能让你一站到底的打出包!(本例以IPA包为说明对象,支持IPad和iPhone),并且你是单纯的Blueprint项目,那么你是不需要看太多IOS端编译的内容,只...

2017-10-20 22:22:34 15325 5

原创 Paint in 3D 基本使用方法(Unity 3D)

不涉及Paint in 3D使用说明书中的内容,比如:给预要绘制图形的物体添加碰撞体,添加可绘制脚本,添加画笔管理器。本文内容包括: Paint in 3D的目标物体的绘画内容更新,清除参数Texture模板参数等首先的需求:你想要清除画笔内容,清除Paint in 3D 默认生成的Texture内容,更新Texture步骤处理:首先获取挂载P3D_Paintable脚本的组件,并

2017-09-25 11:09:08 4364 1

原创 Unity3D 打包后UI失效(FindGameObjectsWithTag)

新做一个项目,由于脚本中声明了太多的公开变量,觉得看上去不舒服,于是通过GameObject.FindGameObjectsWithTag("")的方式获取实例资源,玩玩没想到竟然引火烧身。起初在PC端,代码运行是正常的,但是经过打包后,在Android移动平台下却无法正常运行,做了许多猜测,最终才定位到万恶的GameObject.FindGameObjectsWithTag("")身上。

2017-09-11 22:24:48 7247 1

原创 C++ 观察者模式 (Oberver Pattern)

由于是个人练习用的,而且时间仓促,没有想好后再来写,尽请见谅!//UtilTool.h#pragma once#include #include #include using namespace std;//Event.h#pragma once#include "UtilTool.h"enum EVENT_STATE{    EAWAKE =

2017-09-01 02:08:45 368

原创 C++ 享元模式 (FlyWeight Pattern)

//UtilTool.h//工具头文件#pragma once#include #include #include using namespace std;//UObject.h//根基类,本想多写一些东西的,奈何时间不允许#include "UtilTool.h"class UObject{public :    UObject(string na

2017-08-30 00:11:52 399

原创 C++ 命令行模式(Command Pattern)

头文件相关:// AActor.h//TODO 事实上,可以把AActor做成抽象类的,把具体的实现下发到子类中去,把AActor作为一个接口,个人只是为了练习,也就随便写写了class AActor{public:    AActor();    ~AActor();    virtual bool Jump();    virtual bool Run();

2017-08-28 19:53:18 959

原创 Vuforia PlayBack视频自动播放(声音播放中,但显示等待,没有渲染视频)

在做一个Vuforia的Demo,其中关于视频播放一直出问题,因为需要自动播放,然而当前状态下视频处于Playing状态,但没有画面,只有一个Loading加载界面,且声音在播放当中。 而且我在代码中平凡用到了SetActive这个函数,结果一直不工作。 处理办法: 把关于视频播放的Video中的VideoPlaybackBehaviour中的自动播放勾选上, 然后剔除掉所有关于Video的

2017-08-28 14:17:57 937

原创 用C++写Leap Motion程序相关配置注意问题(VS2017)

写在前面:用该贴实例的请先配置Leap Motion SDK的系统环境变量($LEAP_SDK,你的Leap Motion SDK 所在目录,该步骤不是必须的,Leap Motion 官方也是这样的说法,不过确实能够 简便你以后的项目配置)。 1,首先检查你的项目配置,确保和以后的链接文件路径匹配(黄色部分): 因为我个人只使用了Debug x64 进行测试,所以只按该平台进行了配置,

2017-07-03 11:45:06 1865

翻译 创建一个项目

这篇文章讨论了怎样通过命令行或者一些流行的集成开发工具创建并且编译C++项目编译器和开发库 在windows系统下,你可以使用VS2008,2010,或者 2012中的Visual C++编译器来编译代码,在 OS X和Linux 系统下,你可以使用gcc 或者 clang编译器编译代码 在windows系统下,Leap Motion通过动态链接库Leap.dll提供C++ API。并且分为32

2017-06-30 16:09:56 471

原创 UE4 蓝图获取LeapMotion Grab Strength 判断是否握拳(Grab Strength)抓取

在Leap Motion的Leap Event Interface 事件中有一个 Leap HandReleased 事件通过该事件是无法精确的判定握拳释放的,因为会造成误差, 比如说:通过握拳晃动时,它的Strength值大多数情况下在0.8-0.9范围内。通过该事件响应操作便会不精确。通常情况下,我们只需要两种状态: 握拳事件Strength值为:1;非握拳状态的值为:0。 所以,我们需要

2017-06-30 13:51:56 2834

原创 Leap Left Grab和 Event hand Grabbed

当前用UE4在做一个LeapMotion的交互功能,使用了插件包中的LeapMotionFloatingCharacter这个Character,在github中的插件使用文档中是这样的: 1,在这个项目中首先要实现LeapEventInterface接口; 2,添加LeapMotion的LeapController or (创建一个LeapController 类型的引用变量,然后在Begin

2017-06-28 17:44:59 793 1

原创 Leap Motion(JS)控制(提高事件判定精准度)

1,Bone下left()函数可以用来判定当前是哪一个手掌在进行控制,通过left来过滤左手和右手的消息 2,Pointable: touchZone:返回字符串(String)“touching”“hovering”用来判定触碰点击事件可以混用缩小事件范围 tipVelocity : 顶端位置变化的速率mm/s 通过该属性来分离快慢动作,是一个不错的选择 3,Hand:

2017-05-16 17:41:07 1955

原创 UE4 打包常规步骤

1,打包的常规配置项: 1,依次打开“文件-》打包项目-》打包设置”; 2,取消勾选“项目-》打包”中Packaging 中的Include Prerequisites选项 3,添加勾选“项目-》打包”中的Packaging中的Cook only maps选项 4,添加烘焙map,"项目-》打包"中的Packing中的List of maps to include in a packaged

2017-05-05 11:29:54 31289 1

原创 **UE4 插件编译及使用的问题**

这些天遇到个项目打包问题,怎么也编译不过,最终把问题发给前辈才得以解决(姜还是老的辣,散花……) 当前项目中因为要打包development版本,所以插件使用中出现了些问题: 1,不到静态链接库(link时没有找到插件的静态链接库) 因为在项目中Editor模式下(默认,可以在Editor中依次打开“文件->打包项目->编译设置->发行or开发or调试”来选择编译类型)编译使用

2017-05-05 11:24:59 7926

原创 0x00D83DDA 处有未经处理的异常(在 DXFont.exe 中): 0xC000041D: 用户回调期间遇到未经处理的异常

0x00D83DDA 处有未经处理的异常(在 DXFont.exe 中): 0xC000041D: 用户回调期间遇到未经处理的异常

2016-05-16 20:55:56 14849

原创 D3D中SetTransform(D3DTS_VIEW)出现 0xC0000005: 读取位置 0x00000000 时发生访问冲突

D3D中SetTransform(D3DTS_VIEW)出现 0xC0000005: 读取位置 0x00000000 时发生访问冲突

2016-05-13 12:43:14 1172

原创 DX开发框架封装及Win32框架封装(个人练习版)

关于DX的简单封装

2016-04-18 19:41:46 543

原创 OpenGL框架封装--基于NeHe框架

本框架是基于Nehe的OpenGL框架封装而来的,伴随的有win32的类封装

2016-04-18 19:34:34 589

原创 string及vector核心相关知识

String定义及初始化:      string a="hello world!";//拷贝初始化      string b("hello world!");//直接初始化      string c(10,'c');//直接初始化,c的内容是ccccccccccstring 操作:     getline(is,s);//从is中读取一行赋给s,返回is     s.

2016-03-25 11:51:06 369

原创 类型别名定义及auto类型说明符

两种别名定义方式:    typedef 定义方式:typedef double money;    using   定义方式:using money=double;(C++ 11特性)auto 类型说明符(C++ 11特性):     auto让编译器通过初始值来推算变量的类型,auto 定义的变量必须有初始值:     auto item=val1+val2;//item

2016-03-25 10:39:30 380

原创 const关键字核心相关知识及decltype类型指示符

1,如果利用一个变量去初始化另一个变量,它们是不是const都无关紧要2,默认状态下,const对象仅在文件内有效,如果想在多个文件之间共享const对象必须在变量的定义之前添加extern关键字,例如:       // file.cpp          extern const int  ibufSize = 3;//定义并初始化了一个常量,该常量能被其他文件访问

2016-03-25 10:10:11 649

原创 VS连接MySQL·:Unable to connect to any of the specified MySQL hosts(VS连接MySQL出错)

数据库连接是一个容易出错的问题,至少对于类似于我这个新手而言

2015-11-29 19:52:30 45222 7

原创 error C2677: binary '-' : no global operator defined which takes type 'class CString' (or there is n

下面为MFC中加入的OnPaint()的代码:CPaintDC dc(this);CRect rectWnd;CString cstrText;UINT uFormat;GetWindowText(cstrText);dc.SelectObject(GetFont());CSize size=dc.GetTextExtent(cstrText);DWORD dwSt

2014-12-01 15:48:35 5230

FastStone Capture7.7

一个关于取色,测量,截图的好用工具,最常用于web前端开发,也是一个最简易的小工具

2014-11-29

unity3d Texiao Xffect Editor Pro(插件)

非常好用的特效插件!懂得Uinty插件的人都知道,这里不赘述

2014-07-23

空空如也

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

TA关注的人

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