- 博客(29)
- 收藏
- 关注
原创 P/Invoke 在默认封送(marshalling)规则下,常见托管 ⇄ 非托管类型的对应关系
本文总结了P/Invoke在默认封送规则下常见托管与非托管类型映射关系。基础数值类型中,HANDLE对应IntPtr,BOOL建议用bool,指针相关类型统一使用IntPtr保证跨平台兼容。字符串方面,LPSTR对应string或StringBuilder,需注意CharSet设置,输出缓冲区建议使用StringBuilder或手动分配字节数组。结构体需标记[StructLayout],数组需配合[In]/[Out]属性。文档推荐参考微软官方指南和pinvoke.net社区资源,并指出.NET 9优化了字符
2025-07-04 12:30:44
674
原创 C# .NET 项目中控制 NuGet 包输出行为的正确姿势(为什么我的nuget dll没有复制到输出目录)
本文介绍了在.NET项目中控制NuGet包输出行为的正确方法。当需要将NuGet包中的DLL复制到输出目录但未直接引用时,推荐使用GeneratePathProperty属性配合<None Include=...>标签显式指定DLL路径和复制策略。文章解释了默认行为与强制输出的区别,提供了查找DLL路径的建议,比较了不同实现方式的优劣,并总结了不同场景下的最佳实践。这种方法特别适用于插件系统、动态加载等需要运行时访问DLL的场景。
2025-06-30 20:11:54
472
原创 unity: 批量调整 Sprite 设置脚本
这是一个Unity编辑器扩展脚本,用于批量调整Sprite导入设置。脚本创建了一个名为"Sprite批量设置"的窗口,允许用户选择一个目标文件夹并自定义多项Sprite参数,包括Sprite模式、每单位像素、网格类型、轴心位置等。点击"应用设置"按钮后,脚本会递归处理选定文件夹及其子文件夹中的所有贴图文件,应用用户定义的各项设置,并显示进度条。完成后会提示处理的贴图数量。该工具可显著提高批量配置Sprite参数的工作效率。
2025-06-22 00:06:11
97
原创 unity: 批量添加 Animator 过渡脚本
摘要 该代码实现了一个Unity编辑器工具"AnimatorTransitionBatcher",用于批量添加Animator状态过渡。主要功能包括: 选择目标文件夹中的AnimatorController 2.配置源/目标状态名称和过渡参数(ExitTime、Duration等) 3.设置过渡条件(参数判断) 4.批量执行:遍历文件夹为所有符合条件的Controller添加指定过渡 5.处理异常情况(缺少层/状态/参数时跳过并报错) 工具通过AnimatorStateTransitio
2025-06-22 00:05:20
250
原创 unity: 批量设置 Animator 默认状态脚本
摘要: Unity编辑器工具"AnimatorDefaultStateSetter"用于批量设置AnimatorController的默认状态。该工具通过指定目标文件夹、层名称和默认状态名称(如"BaseLayer"和"Idle"),自动遍历文件夹内所有AnimatorController,将选定层的默认状态修改为指定状态。处理完成后显示操作结果,包括成功数量和警告信息(如缺失指定层或状态)。工具简化了动画状态机的批量配置流程,适合需要统一管理大量
2025-06-22 00:04:23
357
原创 unity: 批量添加Animator参数脚本
摘要:本文介绍了一个名为"Animator参数批量添加"的Unity编辑器工具脚本。该工具允许开发者批量给指定文件夹中的Animator Controller添加参数,支持Bool、Int、Float和Trigger四种类型参数。用户可选择目标文件夹、设置参数名称、类型和默认值,工具会自动检查重名参数并显示处理结果。脚本还提供了层名称验证功能,但不会因层不存在而中断操作。处理完成后会显示统计信息并保存修改。
2025-06-22 00:03:37
111
原创 unity: URP 2D项目添加3D物体时,光照和阴影未显示问题
URP 2D项目3D物体光照问题解决方案在Unity URP 2D项目中添加3D物体时,可能出现光照和阴影缺失的问题。主要原因在于URP默认使用2D渲染器,无法正确处理3D物体的光照效果。解决方法:打开Universal Render Pipeline Asset设置删除原有的2D渲染器新建URP Universal Renderer(3D渲染器)将新渲染器加入管线设置完成上述步骤后,3D物体即可正常显示光照和阴影效果。该问题源于2D渲染器不支持3D光照,更换渲染器类型即可解决。
2025-06-12 12:12:34
364
原创 C++/CLI:处理常量引用(const T&)
在 C++/CLI 中处理常量引用(const T&)时,主要的挑战是如何正确地将原生 C++ 引用类型传递给托管代码。由于托管环境不支持直接的常量引用,解决方案通常是通过将引用对象转换为托管指针,并确保适当管理原生对象的生命周期。将托管对象传递给 C++/CLI 类构造函数,并在构造时解引用对象以转换为原生引用。使用托管类中的析构函数显式地销毁原生对象,避免内存泄漏。将原生 C++ 对象通过IntPtr或其他方式传递给 C++/CLI 类,确保正确访问原生对象。
2025-02-24 23:17:53
618
原创 C++/CLI:处理const char*/String^和const void*/IntPtr
对于类型,使用进行转换,或使用将托管字符串转换为。对于类型,使用来封装原生指针,然后通过ToPointer获取原生指针。这些方法允许你在 C++/CLI 中适当地封装和传递原生 C++ 类型,同时确保托管代码与原生代码的互操作性。
2025-02-24 22:27:29
344
原创 Rider 不显示提交树 (bad object origin/master)解决方案
清理远程引用:通过清理损坏的引用。删除损坏的引用文件:手动删除。重新添加远程仓库:如果必要,删除并重新添加远程仓库。强制重置仓库:使用恢复到远程仓库的状态。重新克隆仓库:如果以上都无效,重新克隆仓库是最后的解决方案。通过这些步骤,可以有效解决 Rider 不显示提交树的问题,并修复远程引用损坏的错误。
2025-02-19 12:42:43
377
原创 unity:项目导入团结引擎后 包管理器报错的解决方案
将 Unity 项目导入团结引擎时,因包链接地址和版本号不匹配导致报错。通过修改 packages-lock.json 和 manifest.json 文件,将包链接改为 https://packages.tuanjie.cn,并调整包版本号为团结引擎要求,成功解决问题并完成小游戏构建。
2024-11-25 12:53:05
1984
原创 无法安装Microsoft.VisualStudio.WorkflowManagerTools.Msi解决方案
在今天修改并安装 Visual Studio 的过程中,我遇到了一个报错提示,指出无法安装(如图所示)。经过多次尝试和探索,我最终找到了问题的解决方法。
2024-11-10 20:47:38
914
原创 unity:实现播放指定频率的声音
核心部分是其中的for循环,利用sin曲线根据频率创建音频数据。3.再在脚本里加入一个PlaySound方法。1.给物体添加AudioSource组件。4.调用PlaySound方法,即可播放。2.新建脚本,并且在脚本里先声明属性。
2024-10-29 19:31:55
450
1
原创 算法“取巧”寄巧1:十进制转二进制
简化了二进制转换:通过,不需要手动做十进制到二进制的转换,也不需要写循环来除 2 取余。自动去零:使用substr和find('1'),直接去掉了前导零,保证统计的是实际的有效位数,而不是固定的32位表示。
2024-10-23 23:52:29
490
原创 【个人记录】接口与继承的一个雷点(调用子类方法结果调用到父类的去了)
时,xxx.Foo()调用的是A之中的方法,而不是B之中的方法!将类B接上IFooable接口即可解决。存在一个接口:IFooable。
2024-07-16 20:18:56
168
1
原创 【Blender】如何制作可动的扇形
4.物体模式下,给平面加“曲线修改器”,曲线属性选择刚刚创建的贝塞尔圆。3.编辑模式下,将平面细分(10~20次)5.调整缩放、位置,可调节扇形圆心角及旋转。你会发现由于曲线的扭曲,平面变成扇形了。2.创建一个平面作为扇形。1.创建一个圆环曲线。
2024-05-10 17:53:34
736
2
原创 VSTO: 如何在已安装vs2022和office2021的电脑上开发低版本插件
最近遇到个问题,自己在vs2022上开发的vsto插件放office2013环境下安装会报错:值不在预期范围内第一个问题好解决,只要在目标电脑上安装对应的.net framework运行时(office2013一般为4.0版本框架,office2016一般为4.5)第二个问题则要从开发的源头解决了。下面以在office2021以及vs2022环境下开发office2013插件为示例:我们都知道,vs2022不再支持.net framework4.0~4.5.1,所有明着来是不行的。
2023-07-21 21:51:22
950
1
原创 winform 图像(Bitmap)变换(平移、旋转、缩放)的一些方法
【代码】winform 图像(Bitmap)变换(平移、旋转、缩放)的一些方法。
2022-12-28 15:35:26
2118
原创 Winform 编写一个读取并解析csv的程序
众所周知,CSV是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。我们要将这些数据解析成表格(DataTable),以便更好去呈现或者调用。这里提供了解析方法。
2022-11-14 22:35:23
3101
1
编译完成的assimp库,可用于模型格式转换
2022-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人