自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 java list 查找元素

从list中查找符合条件的元素是一个很常见的需求,有很多办法可以做到,详见参考链接。本文讨论的点是如何把这个过程封装成一个方法,这样做的好处如下: 1.简化调用 2.容易替换成不同的实现 3.可以做一些统一的处理 这就是抽象的好处吧 假设List中保存的元素是Item,定义如下: p...

2020-06-22 11:21:03 37 0

原创 java random by weight

使用反射实现了一个通用的random by weight,只要被随机的结构中带有getWeight函数即可 public static <T extends Object> T getRandomObjByWeight(List<T> objs, Class<?&...

2020-06-19 18:03:31 31 0

原创 golang gin第一个例子

gin框架的github地址 https://github.com/gin-gonic/gin 按照github上的文档,执行 go get -u github.com/gin-gonic/gin 不能成功。 还好有镜像可用,执行以下命令 go env -w GO111MODULE...

2020-04-08 19:10:06 99 0

翻译 实时渲染第四版前言

前言 “在过去八年里东西没有改变太多”,是过去我们进入第四版的想法。“出一个新版本能有多难?”一年半以后,并且还有另外三个专家的加入,我们的任务完成了。我们或许还得花费一年编辑和细化,到那时会很轻易的有超过一百篇的文章和演讲稿再加入进来。就像数据指出的,我们用Google Doc做的参考文献超...

2019-12-13 17:47:42 170 0

原创 curl命令

1.curl发送带参数的get请求 curl"http://127.0.0.1:3000/field?page=0&pageSize=10" 2.curl发送带token的get请求 curl -H "Authorization: Bearer toke...

2019-12-09 19:59:42 89 0

原创 ue4 IK心得

ik一般涉及到位置和旋转 比如双手握枪的实现 枪是由手柄驱动的,因此可以在游戏中得到枪的位置及朝向,有了枪的位置及朝向,通过枪上的socket就可以算出左右手所在的位置及其朝向。 在ue4中,twoboneik通常只管ik的位置,但如果只管位置,手就不能很好的握在枪上。因此,枪上的socket应该...

2019-10-18 18:54:27 544 0

原创 ue4随笔

1.好用的ue4命令 log logonlineall 打开所有log类型为logonline的log的输出 log logtexture off 关闭log类型为logtexture的log输出 ToggleDebugCamera 可以让相机和玩家脱离 Slomo0.001 可实现慢放,...

2019-10-18 18:36:55 110 0

原创 ue4 DerivedDataCache报错

启动ue4时报错,报错堆栈如下: 从堆栈可以看出是DerivedDataCache报错,从堆栈的CachedDataProbablyExists函数更可以看出是在判断cache是否存在,故而想到删除项目目录下DerivedDataCache中的Boot.ddc文件,果然问题解决了 ...

2019-09-23 15:29:35 116 0

原创 ue4 Actor属性同步流程

Actor属性同步 明确几个概念 ActorChannel(用来实现Actor同步的通道) 其中有保存对应的Actor和Actor中需要同步的Component(Component是从UObject派生) 先来关注函数 为了方便理解,此处可以把Bunch理解为接收到的数据包,...

2019-09-20 19:34:41 385 0

原创 fatal: did not receive expected object

使用git clone命令复制项目,报错,如下图 要了解这个报错先得了解git clone的过程。git clone命令手下会下载整个仓库到本地,目录是./git/objects/pack,里面有个.pack文件(也可能有多个)。这个报错猜测应该是由于下载了这个文件后,检测到此文件有问题,然...

2019-09-20 11:42:37 253 2

原创 ue4 UParticleSystemComponent 详解

UParticleSystemComponent是ue4中用来管理粒子系统的component,用起来也很简单,一般常用的方法有 virtual void Activate(bool bReset=false) override; virtual void Deactivate() overr...

2019-06-29 14:45:54 989 0

原创 ue4 BlueprintNativeEvent用法

BlueprintNativeEvent在ue4中是用来修饰UFUNCTION的,和BlueprintImplementableEvent有点类似, BlueprintImplementableEvent用于实现C++调蓝图(声明在C++,实现在蓝图) BlueprintNativeEvent...

2019-04-28 12:15:20 558 0

原创 ue4 Encountered %d object(s) breaking Disregard for GC assumptions

今天遇到一个奇怪的崩溃Bug,具体的崩溃log如下: [2019.04.19-02.36.16:128][618]LogGarbage: Warning: Disregard for GC object Monatge_ON_AnimNotify /Game/_AI/BT/Task/AI_Ran...

2019-04-19 15:44:18 670 0

原创 ue4 AimOffset和Montage

ue4如何实现不同瞄准方向的开火动画呢? 不同方向的瞄准可以使用AimOffset实现,可参考官方文档。 https://docs.unrealengine.com/en-us/Engine/Animation/AnimHowTo/AimOffset 开火动画一般可采用Montage实现,一...

2019-04-11 11:34:03 270 0

原创 Was only expecting C++ files to have CachedCPPEnvironments!

今天把ue4引擎从4.21.0升级到了4.21的最新版本,发现之前可以正常编译的代码编译不过了, 输出错误为:Was only expecting C++ files to have CachedCPPEnvironments! 找到报错的代码,如下: if (!IsCPPFile(Pre...

2019-02-28 15:59:31 352 0

原创 git submodule

在管理多个项目同用代码的时候,submodule比较有用 假设有三个项目仓库,MyProjectA,MyProjectB,MyPlugin MyPlugin由MyProjectA和MyProjectB共用,当然也可以把MyPlugin项目在两个项目中都放一遍,但这样修改MyPlugin后两边就...

2019-01-03 16:14:42 986 0

原创 ue4 Could not find definition for module 'CryptoPP'

今天遇到一个问题,自己写的插件使用引擎源码编译正常,但用编译过的引擎编译插件,提示Could not find definition for module 'CryptoPP',这个插件确实依赖了CryptoPP,这是ue4依赖的一个第三方模块,具体路径是D:\work\UE_...

2018-12-20 11:22:44 1267 0

原创 ue4 Animation Notify不触发

今天遇到一个奇怪的问题,当AI不在视野内,animation notify不触发 当AI进入玩家视野,animation notify触发正常 后来发现是SkeletalMeshComponent的VisibilityBasedAnimTickOption属性设置问题。 当Visibilit...

2018-12-13 19:50:49 419 0

原创 c#访问c++dll不能调试

vs2017中用C#程序访问c++dll的时候不能调试c++,只需要修改项目设置即可,如下图 启用本地代码调试选项默认是没有勾选的,勾选以后应该就可以正常调试c++了 如果还是不行,在vs 工具-&gt;选项-&gt;调试-&gt;常规 把逐过程执行属性和运算...

2018-11-30 17:34:37 217 0

原创 mysqld启动失败

昨天阿里云服务器到期了,今天续费后,发现mysqld启动不了了 启动记录如下: 根据提示,先输入systemctl status mysqld.service 并没有看到十分明显的信息 再输入journalctl -xe 还是没有发现十分明显的提示 这时候想到查看mys...

2018-11-12 16:05:09 536 0

原创 算法图解 第4章第一节习题解答

最近看算法图解,对个别章节习题尝试作答,如果错误,欢迎指出 4.1 请编写前述sum函数的代码 def sum(a): if len(a) == 0: return 0 elif len(a) == 1: return a[0] else: return a[0] + su...

2018-07-31 11:11:12 1287 5

原创 ue4 FUdpSocketReceiver接收不到消息

ue4中udp接收消息端代码如下:bool FShooterUDPReceiver::Start(const int32 ThePort) { //Create Socket FIPv4Endpoint Endpoint(FIPv4Address(0,0,0,0), ThePort); /...

2018-06-25 15:25:50 688 1

原创 vs文件编码批量转换工具

https://blog.csdn.net/xiaozhi0999/article/details/52469979 上文提到了ue4中出现中文乱码问题,可通过修改文件编码格式解决,但当文件很多的时候,一个个修改文件编码比较费事,所以本人用python写了一个批量转换编码工具(gb2312转ut...

2018-06-23 17:59:46 3442 0

原创 ue4同c#通信时的中文乱码问题

本文讨论C#同ue4进行通信,出现的中文乱码情况,其他语言类似。本文分两种情况讨论,1.C#向ue4发送string在C#发送string时,要先区分发送的字符串中是否包含中文,判断方法很简单,如下: private bool IsPureAnsi(string str) ...

2018-06-23 17:53:03 564 1

原创 ue4源码本地git管理

本文主要记录一下使用gitlab在局域网管理ue4源码的流程 大体思路是在局域网创建gitlab仓库来管理ue4的源码,当引擎源码需要更新时,先把本地代码同步到github上最新的,然后在push到局域网的gitlab仓库,其他人通过gitlab来更新源码即可 具体操作流程如下, git r...

2018-06-20 13:49:04 1217 0

原创 ue4获取所有mac地址

ue4 4.16版本中获取MAC地址的接口为FGenericPlatformMisc::GetMacAddressString此接口在windows平台的实现是调用Win32接口GetAdaptersInfo,然后返回第一个mac地址,但如果需要获取所有mac地址,此接口就不满足了,但很容易根据此...

2018-06-19 19:14:30 1057 1

原创 ue4基于ShooterGame实现弩

需求,实现武器弩1.实现可发射projectile的武器,类似shooterweapon_projectile2.弩击中地面(场景上的静态物体)上则箭插在地面上,如果击中可移动的刚体则箭跟着刚体一起运动,如果打到怪身上,则会跟着怪的bone一起变换(也就是说在怪的bone空间相对变换固定不变)第一...

2018-06-08 14:32:56 403 0

原创 ue4 PlayerState跨地图传递变量

切换地图时,PlayerController默认是不会被销毁的 而PlayerState默认会被销毁 如果PlayerState中有变量需要跨地图传递,可以有如下两种实现方法: 1.可以在PlayerController中增加相应的变量,然后在PlayerController派生类中的Ini...

2018-04-23 18:22:20 1530 0

原创 float精度问题

看上面截图,float有效数字到达8位时,运算就已经出问题了

2018-04-17 18:00:06 328 0

原创 ue4 Authority和server的区别

authority是权威的意思,server是服务器的意思在ue4中,有个判断switch has authority,如下图有两个选项,authority和remote此处一定要区分authority和server的区别比如,当actor设置为可复制时,一般来说authority和server都...

2018-03-23 12:11:15 1284 0

原创 ue4 ApplyRadialDamage

ApplyRadialDamage函数用来处理球形范围伤害,此函数大概是选取球形范围内可被伤害的物体,进行伤害处理 另外,此函数还处理了遮挡伤害的问题,比如,伤害范围内包含一根柱子,假设人正好在柱子后,如果想让柱子后的人不承受伤害改怎么处理呢,先来看此函数的声明 UFUNCTION(Bluepr...

2017-10-26 18:09:24 1433 0

原创 ue4碰撞检测及射线查询

ue4射线查询主要使用LineTraceSingleByChannel和LineTraceSingleByObjectType函数进行 LineTraceSingleByChannel是通过Channel进行查询 LineTraceSingleByObjectType通过ObjectType进行查...

2017-10-26 16:38:19 10808 0

原创 linux LVM扩容

公司git服务器所在的磁盘空间满了(git所在的物理分区是LVM),需要扩容,之前的磁盘是1T的,现在准备换个3T的盘,我们采取的做法是把1T的盘内容都拷贝到3T的盘中,这样需要为新盘未使用的空间创建一个LVM,创建完后如下如: 创建之前只有sda1到sda3,sda4是新创建的 具体...

2017-10-13 12:17:54 215 0

原创 git代码审核流程

大体管理流程是,每个开发人员都有自己的仓库,并且开发功能时要在自己的仓库建立分支,功能开发完成,向主仓库的working 发起Pull Request,然后由相关人员审核代码,以下为具体审核流程 审核操作需要在origin指向主仓库时进行 git fetch && git chec...

2017-04-07 11:31:19 6426 0

原创 java程序linux发布流程

java linux 发布流程

2017-03-27 18:12:09 658 0

原创 java显示中文

java使用网络接收到unicde编码的中英文混合字符串,但怎么也显示不出来,后来在网上找了教程才搞出来,故记录一下 unicode每个字符占两个字节(汉子和英文都一样),比如如下代码: String ascii="\u6d4b\u8bd5\u0074\u0065\...

2017-03-25 16:30:35 1048 0

原创 Eclipse 没有Data Source Explorer

Eclipse点击Show View没有Data Source Explorer 这是因为没有装插件Eclipse DataTools Platform 打开Eclipse Marketplace,搜索并安装Eclipse DataTools Platform就好了

2017-03-10 16:39:24 5259 0

原创 ue4烘焙失败

ue4中经常会遇到烘焙失败的问题,有的显而易见,有的则不那么容易被发现。这里记录一下工作中遇到的烘焙失败问题,希望在以后遇到类似的问题能作为参考。 首先看下ue4官方文档对烘焙的解释 内容烘焙 虚幻引擎将内容资源存储为在其内部应用的特殊格式,比如贴图数据存储为PNG格式, 或者音频存储为WA...

2016-11-29 10:13:44 4864 0

原创 git常用命令

git add filename 把文件添加到 暂存区 git commit -m "日志" 将 暂存区 的文件提交到本地 版本库 中 git push 将本地 版本库 的代码 同步到远程 版本库 中 git pull 同步远程版本库中当前分支的最新代码 git...

2016-11-26 17:11:59 571 0

原创 git 重新定位服务器地址

git服务器地址变了,客户端需要两个步骤来切换到新地址 1.首先重新生成ssh 使用如下命令 ssh-keygen -t rsa -C "*******@qq.com" 这条命令会生成秘钥文件,默认文件路径是 %userprofile%\.ssh\id_rsa...

2016-11-22 12:08:01 5581 0

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