岁月是把杀猪刀,可是他拿丑的人,一点办法都没有。

文章列表

1-20条,共27条数据.

[UE4]如何读取和修改配置文件

Written by 追梦 on 2022年8月12日 上午2:05:20. Posted in 编程技术

## 起 最近在做一个功能,需要用UE4烘培navmesh,但是遇到一个问题。我们一共两套navmesh。一套给服务器用的。高精度不用在意navmesh烘培后的大小。一套是客户端用的需要打到客户端包里,所以需要特别留意大小。于是客户端和服务器针对navmesh需要两套不同的配置文件。 ## 承 由于刚开始接触UE4,直接用两套配置ini文件,然后在烘培的时候进行切换文件即可,但是很麻烦。因为两个文件除了recaster的配置不一样外,其他配置完全一样。如果是独立的配置文件就需要定期维护两个文件...



[c++]float浮点数精度问题

Written by 追梦 on 2022年7月29日 上午4:53:02. Posted in 编程技术

遇到一个问题,AI无论如何都走不到距离自己0.0315cm处的一个点。最后跟踪下来是浮点数精度的问题。因为此时AI的坐标是(123548.758,-214606.125,3982.34863),进行垂直射线往下打的时候,获取的位置是(123548.758,-214606.094, 3982.34863),按理说垂直射线不会产生水平面偏移,最后发现是精度问题。 因为IEEE 754单精度标准,符号位一位,指数位8位,尾数位23位。尾数位表示的最大精度为2^-23^次方,既 1.19X10^(-7)^...



[UE4]追查了两天内存疯狂泄露的原因,竟然是Log没关???——UE4如何查内存泄露

Written by 追梦 on 2022年7月25日 上午3:20:29. Posted in 编程技术

各种怀疑,各种debug,最后发现是log窗口没关,因为cache机制所以内存越来越多。然后内存耗尽。。。 好吧,我比较菜。 一天后。。。[更新] 内存耗尽和log窗口的log关系不大,主要是ue4下使用std标准库,因为不同的内存管理机制,会造成内存被cache住无法释放。 在UE4引擎端,会hook所有的内存分配。 `Engine\Source\Runtime\Core\Public\HAL\FMemory.inl` ```c++ FMEMORY_INLINE_FUNCTION_D...



UE4中的SubSystem的使用

Written by Quinn Pan on 2022年6月12日 下午1:24:19. Posted in 编程技术

## 引言 Subsystems 是一套可以定义、自动实例化和释放的类的框架。可以将其理解为 GamePlay 级别的 Component. UE在4.22版本的时候开始引入Subsystems,并在4.24完善.SubSystem其实可以算是GamePlay框架基础上的一个增强功能,属于GamePlay架构的范围. Subsystem的好处是利用它的特性可以很好的安排好对象的生命周期,也会使程序的架构更加的清晰. ## SubSystem分类及其生命周期 ...



Navmesh bounds are too large 报错修复方法

Written by 追梦 on 2022年6月1日 下午2:40:33. Posted in 编程技术

当地图相当大,在生成导航时会有以下提示: ![enter image description here](/public/images/2022_06/IAjIg77X.png) ```LogNavigation: Error: Navmesh bounds are too large! Limiting requested tiles count (5472000) to: (1048576) for RecastNavMesh /Game/Level/Map.Map:Persistent...



ubuntu安装mysql

Written by 追梦 on 2022年5月24日 下午3:01:02. Posted in 编程技术

**ubuntu中使用apt-get进行软件包管理:** > 安装:apt-get install name > 更新:apt-get update name > 卸载:apt-get remove name > 查找:apt-cache search name 通过apt 安装MySQL会安装最新版 ##第一步:更新源 命令: sudo apt-get update ##第二步:安装mysql服务 命令: sudo apt-get install mysql-...



汇编学习好工具推荐Compiler Explorer

Written by Quinn Pan on 2021年12月29日 下午7:12:17. Posted in 编程技术

有时候为了学习汇编,不知道如何下手,从何处下手?特推荐一种高级语言到汇编的学习方式。 首先先用高级语言写一个简单的代码逻辑,然后在看汇编生成的结果。这样就可以不但能够熟悉汇编,也能够对高级语言的本质有更深入的了解。 基于此,推荐一个在线的学习工具 Compiler Explorer。https://godbolt.org/ 优点: 1.实时编译 2.鼠标高亮提醒。鼠标处于高级语言处时,自动高亮该出的汇编生成。 3.可以指定编译项,了解编译参数变化影响的生成的汇编变化。   ...



vscode如何调试bash脚本

Written by Quinn Pan on 2020年9月10日 下午7:09:34. Posted in 编程技术

以前写linux bash脚本,常常都是瞎蒙的状态。开发流程都是:先去google搜,然后去抄一段代码,然后肉眼review,然后运行观察效果。根据运行结果来看脚本是否正确。如果再高级一点就是辅助详细的echo 进行log输出。 于是不禁反问?可有调试bash脚本的工具和方法,这样用调试的方式去运行脚本,逐步的看每一个语句的运行结果,岂不是很爽? 结果还真找到了。在vscode中搜索插件bash debug。即可。 PS: win10下面需要安装wsl,然后在vscode里面安装一个wsl...



Unity生命周期

Written by Quinn Pan on 2020年5月26日 上午10:05:32. Posted in 编程技术

...



ACM部分语言快速IO

Written by Quinn Pan on 2020年4月22日 下午6:04:41. Posted in 编程技术

部分语言的快速 IO 部分题目输入数据量过大,需要使用更高效读入方式才能通过。以下按照热身赛 B 题的需要列出部分语言的快速 IO。 其他语言的 IO 可以参考题目页提交框右上角的“帮助-各种语言程序样例”。 C++ C++ 中的流输入输出默认会与 C 风格的标准输入输出同步,导致性能不佳。同时  cin  和  cout  也存在同步, cin  读取数据前会先清空  co...



博客支持webgl 3D地球了

Written by Quinn Pan on 2020年4月12日 下午4:04:52. Posted in 编程技术

现在我们网站的主页支持在背景显示一个动态的地球了。而且上面还有实时的天气云图哦。 然后支持这个功能其实不需要做特别多的东西,主要是借鉴一个开源项目WebGlEarth2。开源地址:https://github.com/webglearth/webglearth2 这个是他们的API使用手册,和一些demo。https://sites.google.com/site/webglearth/ 不过官网开始推荐一个更新功能更强大的开源项目cesium了。htt...



php5.4.22 the page isn't working ERR_EMPTY_RESPONSE

Written by Quinn Pan on 2020年4月8日 上午12:04:31. Posted in 编程技术

今天做了一个Tag标签功能,本地开发环境运行正常,发布到线上的会后,出现了这种错误! 一脸懵逼,然后去看系统运行日志,发现没有错误.然后去看apache日志,发现也没有错误,最后在php的日志里发现了问题. Can't use function return value in write context ._不能把一个函数的返回值放到一个可写的上下文里面. 于是就打开了TagController.php定位到173行,...



prism 实现代码高亮测试

Written by Quinn Pan on 2020年3月27日 下午11:03:43. Posted in 编程技术

//使用prism实现代码高亮 const Prism = require('prismjs'); const loadLanguages = require('prismjs/components/'); loadLanguages(['haml']); // The code snippet you want to highlight, as a string const code = `= ['hi', 'there', 'reader!'].join...



如何修复:git bash WARNING: terminal is not fully functional

Written by Quinn Pan on 2020年3月27日 下午9:03:00. Posted in 编程技术

For Git Bash, this can be fixed by adding the following line to ~/.bashrc: export TERM=cygwin -or- export TERM=msys The first seems to be the original by git for wind...



windows下VC++编辑器推荐

Written by Quinn Pan on 2017年3月27日 下午6:03:07. Posted in 编程技术

针对并适合对象:C语言初学者或者不了解公司级开发软件的人。 推荐工具:VS2015/vs2013/vs2017/vs2010  推荐理由:功能全,支持语言多,还有代码补全提示。 缺点:包比较大。 补充:如果是学生只想学习C语言,可以使用Community版本VS系列工具。这个系列是免费的,而且比较小,更适合初学者使用。 不推荐工具:VC++ 6.0。理由是严重的版本不兼容,开发理念比较落后,已经不在是目前公司开发工具。 额...



log for linux bash command

Written by Quinn Pan on 2017年3月17日 下午3:03:12. Posted in 编程技术

Unless a command has output or logging already configured, rc.local commands will not log anywhere. If you want to see logs for specific commands, try redirecting the stdout and stderr for rc.localto somewhere you can check. Try adding this to...



android中共享全局数据的方法

Written by Quinn Pan on 2014年12月23日 下午3:12:41. Posted in 编程技术

在Android中,有一个名为Application的类,我们可以在Activity中使用getApplication(),方法来获得,它是代表我们的应用程序的类,使用它可以获得当前应用的主题,资源文件中的内容等,这个类更灵活的一个特性就是可以被我们继承,来添加我们自己的全局属性。例如我们在开发一个游戏应用,需要保存分数,那么我们就可以继承Application,代码如下: [java] view plaincopy ...



MFC 模态对话框显示图标

Written by Quinn Pan on 2014年10月31日 下午2:10:06. Posted in 编程技术

MFC调用模态对话框后,如果再隐藏之前的界面。此时任务栏图标胡消失。解决方式是: 增加虚函数: BOOL CDlgUpload::OnInitDialog() { CDialogEx::OnInitDialog(); // TODO: 在此添加额外的初始化 SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE, WS_EX_APPWINDOW); return TRUE; // return TRUE un...



php对中文文件名的读写操作

Written by Quinn Pan on 2014年9月23日 下午7:09:00. Posted in 编程技术

由于php无法对中文文件名进行读写,不然就会提示参数错误“failed to open stream: Invalid argument” 解决方法,写文件的时候,将中文进行url编码。读的时候进行反编码就行了。 <?php $filename='中文.txt'; $filename=urlencode($filename);//此时文件名为:%E4%B8%AD%E6%96%87.txt $fp=fopen($filename,"w+"); ...相关操作 ...



东华大学网络认证登录脚本Python

Written by Quinn Pan on 2014年8月25日 上午10:08:47. Posted in 编程技术

学校网络去年一次升级后,无论是有线连接还是无线连接都加了认证。每次登录都要输入账号和密码,特烦!尤其是自己搭建的服务器如果不拨号根本连接不上外网,那么外网也没法访问。于是花费一下午写了一个Python小脚本,实现了不用输入密码和账号的登录。也可以放在服务器让服务器一直连接外网。 关于拨号,据说是拨一次就可以一天都在线了,为了防止意外(PS:意外常常发生)掉线。所以脚本会根据时间然后调整提交数据的频率。频率现在的计算方法是距离午夜秒数的三分之一。比如到刚开始第一次刷新时间是24H/3...