C++
文章平均质量分 66
foenix66
专注VR/AR/MR虚拟现实技术开发
展开
-
Unreal定制IAudioCaptureStream接口获取Microphone实时PCM数据输入
Unreal的UAudioCaptureComponent组件只能在录制一段时间以后一次性获取PCM数据,不能实时获取WAVE音频流。借助IAudioCaptureStream接口可以获得实时PCM音频流输入。原创 2024-07-20 03:03:58 · 564 阅读 · 0 评论 -
Unreal项目修改名字
Unreal项目修改名字还是比较麻烦的,针对纯蓝图工程和C++工程有一些区别。原创 2024-06-05 14:54:30 · 631 阅读 · 0 评论 -
UE C++ Windows平台调用讯飞语音合成接口
每次合成语音时,调用QTTSTextPut,然后循环调用QTTSAudioGet持续获取合成音频数据,直到数据全部接收完成,调用QTTSSessionEnd结束本次语音合成任务。原创 2023-05-21 02:01:51 · 1894 阅读 · 6 评论 -
UE ReplayKit for iOS插件使用
连续调用了两次startWriting说明在状态改变之前又有新的回调函数调用了,猜想视频数据包和音频数据包处理是在不同线程进行的,几乎同时调用了回调函数,而回调函数并没有采用任何的线程锁机制,导致startWriting被调用了两次,从而引起AVAssetWriterStatusFailed错误,而偶尔成功的几次,应该是多线程没有同时回调,侥幸成功。在测试几次,结果发现问题了,除了一开始成功的一次,后面基本上都是失败的,并没有任何文件存储到相册。原创 2023-04-04 00:34:02 · 604 阅读 · 0 评论 -
UE4 StreamVR连接不同一体机VR Link模拟器
手柄就有比较多的讲究了。尽量用按键映射消息事件,将尽量多的按键映射到按钮事件上,以保证各种手柄都可以兼容。原创 2022-08-31 18:20:08 · 604 阅读 · 0 评论 -
UE4 C++ Android读写配置文件
第一次运行,这个配置文件肯定是不存在,但这段代码并不会返回false,实际上会得到一个空的xmldocument。原创 2022-06-23 00:00:27 · 1085 阅读 · 0 评论 -
UE4 C++ Base64编解码
UE4 C++ Base64编解码原创 2022-06-22 03:47:07 · 1041 阅读 · 0 评论 -
DMX Shield forAndroid卡龙头接线
DMX-Shield电路图The DMX-shield is an add-on (or “shield”) for the Arduino. It is an easy way to use the Arduino as a DMX-Master device (transmitter), just by adding the DMX-shield on the top of the Arduino. This shield is a simple circuit based around a dri原创 2021-09-28 06:18:40 · 479 阅读 · 0 评论 -
UE4 SteamVRBindings配置文件版本问题导致的非法退出问题
一个VR项目升级到4.26后,按下VR扳机按钮编辑器就非法退出了,报错点停留在Assertion failed: key isValid()。把程序中所有MotionController Input的代码都断开,错误依旧。最后对比了其他VR项目,发现升级工程的Config/SteamVRBindings的VR配置文件不一样,用正常VR工程的SteamVRBindings目录替换后,程序正常。...原创 2021-08-25 22:53:35 · 393 阅读 · 0 评论 -
Arduino直接控制遥控汽车
上一篇文章《遥控汽车项目中通过Arduino控制双舵机》中分享了如何用Arduino控制遥控器间接遥控赛车:Arduino控制舵机→舵机带动电位器→电位器替代遥控器旋钮→遥控控制赛车,这种方法虽然开发比较快速,但技术不直接,中间增加了控制环节,特别是增加了新的机械装置,不是好的解决方案。再次拆解和分析遥控赛车遥控和接收机遥控器和接收器之间是一个6通道通用遥控和接收机。查阅资料,了解到一般流程:遥控器将电位器信号值编码为PWM信号,再将多个PWM值编码为多路复合PMW信号,通过2.4GHz无线通原创 2021-05-26 03:11:05 · 3067 阅读 · 1 评论 -
UE4问题记录
1、插值平滑旋转, 上面的旋转是一步到位的,想要平滑旋转,可以在tick中使用插值函数RInterpTo()2、开启物理系统以后,超出坐标范围(>1050000)的Actor会立即被销毁physical actor destroyed immediately when out of coordinateI'm creating an air combat game, when flight out of the range(maybe >1050000), fire, the原创 2021-05-22 02:43:14 · 388 阅读 · 2 评论 -
UE4.24版本升级
#include “AllowWindowsPlatformTypes.h”2>e:\unreal\mr_takephotos424\source\mr_takephotos424\fp_firstperson\tinyxml.h(35): fatal error C1083: Cannot open include file: ‘AllowWindowsPlatformTypes.h’: No such file or directory#include “Windows/AllowWindow原创 2021-05-22 02:37:43 · 696 阅读 · 1 评论 -
ASM顶点渲染指令
abs dest, src 对src向量求绝对值并存入dest中add dest, src0, src1 将src0向量+src1向量并存入dest中call label 调用label标识的子程序callnz label, booleanRegister 即if( booleanRegister ) { 调用label标识的子程序 }crs dest, src0, src1 将向量src0与向量src1进行叉积并存入dest中,dest.x = src0,ysrc1.z - src0.zsrc原创 2021-05-22 02:36:14 · 85 阅读 · 0 评论 -
遥控汽车项目中通过Arduino控制双舵机
遥控汽车项目:通过罗技G29方向盘远程控制模型汽车运动,通过模型车上的摄像机返回赛道的路况。项目比较急,最简单的方法肯定从遥控器入手。通过拆解,发现遥控器是通过两个电位器旋钮分别控制方向和油门幅度。很简单,从电位器入手。方法一:通过数字电位器代替机械电位器,通过某宝查询,发现两种通过串口控制的数字电位器。一种是x9c104芯片控制的纯数字电位器该电位器有100阶可调电阻值,通过查询手册,有10K和100K两种规格,满足遥控器修改要求。经过一番测试,发现该芯片只能通过UP和DOWN触发原创 2021-05-15 02:18:57 · 2675 阅读 · 2 评论 -
VC6移植VS2017记录
VC6移植VS2017记录1typedef void * POINTER_64 PVOID64;windows kits\10\include\10.0.16299.0\um\winnt.h(390): error C2146:语法错误: 缺少“;”(在标识符“PVOID64”的前面)原因winnt.h包含了#include <basetsd.h>添加directx 9.0c的头文件以后,directx9的头文件也包含了<basetsd.h>,造成引用冲突,调整in原创 2021-04-05 02:18:24 · 923 阅读 · 0 评论 -
Unity3D直接渲染代码
Unity3D直接渲染代码通常Unity3D这种开发引擎是可视化编程,通过树形结构管理三维世界的节点,将实体模型绑定在节点,通过节点坐标组织三维模型的空间关系,通过摄像机节点进行透视投影计算,渲染可视化内容到2D屏幕空间。同时,摄像机也提供RenderToTexture的方法,让一部分三维世界渲染到贴图,再利用这个中间贴图渲染到目标空间,如实现汽车后视镜。由于工作需要,要把以前的一个VC6工程移植到新版本*(VC6不支持64位编程,导致程序内存不足,目前应急处理办法是通过editbin /LARGEAD原创 2021-01-13 22:51:43 · 657 阅读 · 0 评论 -
Unity3D C#创建COM接口
从CLSID创建COM接口需要从GUID获得类型Type,然后通过Activator.CreateInstance创建接口对象。代码如下: Guid guid = new Guid("{3D2F839E-1186-4FCE-B772-B61FAE1ACED7}"); try { filter = (IBaseFilter)Activator.CreateInstance(Type.GetTypeFromCLSID(guid)); } catch(Exception E) {原创 2020-09-25 22:26:22 · 788 阅读 · 0 评论