c#

2023年5月8日

Spine3.8.75 unity运行库破解

Spine3.8.x的unity运行库在使用时会报错无法生成创建对象用的资源对象。通过跟踪找到了报错的根源,就是这个版本运行库的这个位置: Assets\Spine\Runtime\spine-csharp\SkeletonJson.cs 102行和103...

Read More
2021年11月4日

2021-11-3开发日志

今天搞定了unity桌宠的透明和使用像素做鼠标穿透的问题,主要参考这个油管视频: unity中有些涉及windows的操作 .net必须选择.net framework4.x,同时引用来的.net dll也必须是.net 4.x的一套 点击数:274

Read More
2021年5月19日

Unity调用Windows API备忘

最近接了个麻将游戏项目,需要用到一些透明的异形窗体。然后就需要用Interop库提供的功能引入一些windows api来调用。首先要把unity的窗口做成有透明部分需要至少调用2个主要API,一个是SetWindowLong,一个是DwmExtendFrameIntoClientArea。前者是设置窗口显示模式,需要加上WS_EX_LAYERED风格。后者是设置可绘制客户区,把标题栏也归入可绘制控制区域。类似这样的调用方式:var margins = new&nb

Read More
2021年1月28日

unity+Live2D采坑记录

拖放进去的live2d不显示:有时候拖放live2d模型动画文件进untiy之后会显示不出来,打开drawables子级可以看到里面的子物体都有一个MeshFilter组件,并且组件的mesh为空。但是看下面的CubismRenderer组件里有一个mesh属性里面是有数据的。这种情况只要点播放按钮进入一次游戏 在场景中展示一次 随后MeshFilter里就有内容了,模型也就可以看的见了。初步判断应该是live2d给unity的SDK里有些应该awake里写的初始化代码写到了Start里面,所以

Read More
2020年12月29日

Unity插件OdinInspector系列要点记录

对于Dictionary<T,T>之类的unity本身不支持序列化的字段,需要使用[OdinSerialize]标签来进行序列化存储。需要启用Odin Inspector增强的组件需要从SerializedMonoBehaviour类型继承。更换了组件的序列化方式之后,可能需要删除掉组件再添加组件,然后重启Unity编辑器。否则会出现一些莫名其妙的BUG。

Read More
2020年4月23日

Shader编程备忘

目前效果B站:https://www.bilibili.com/video/bv1Wa4y147Nrcg的乘法运算符是数值对乘 对向量和矩阵要求尺寸一致,cg的向量点积和向量矩阵 矩阵矩阵乘法用mul函数只有4维的向量vector可以作为向量参数 设置Blend 并且才能启用半透明混合效果透明相关tag参看这里:https://www.cnblogs.com/0kk470/p/8250704.htmlBlend参数看这里:https://blog.csdn.net/LeeXxs/art

Read More
2020年2月21日

.net core webapi跨域问题

跨域问题是通过ajax在一个域A访问域B上的资源的时候 需要在B域的跨域列表里加上A。另外一个重点是判断2个域是否跨域需要3个要素 协议(http或者https,ftp) 地址(包含域名) 端口号 三者有一个不同就是跨域的比如 http://abc.com:8888 和 https://abc.com:8888是2个域  http://localhost:12345 和 http://127.0.0.1:12345 也是2个域.net core 的跨域设置看这里:h

Read More
2019年12月22日

平衡大师

说明:进入游戏后以手机平放 沿中心上下方向的轴旋转手机控制杆子旋转保持球不会掉下去或者碰到管子刀子等如果手机没有重力加速计支持,可以用手指在杆子下方左右滑动,控制杆子倾斜每坚持一秒获得一金币管子落到下面没有碰到 每个管子一金币吃到金币增加6金币被刀刺中游戏立即结束 刀碰到金币会改变方向目前还是测试版有些功能还在开发中一点感想:这小破东西玩了一会儿不禁让我自己都感慨起人生了,手忙脚乱控制着平衡,躲过数不尽的障碍,为财富的诱惑铤而走险,好不容易极限求生最后又不知哪来的飞刀突然干掉。这破游戏一如笔者的

Read More
2019年11月25日

Unity高速物体穿透问题

因为物体速度过快,在一帧之内就把障碍物的碰撞体穿透了这种时候就应该把刚体的Collsion Detection选项调成Continues Dynamic物体逻辑要比节约性能更加重要,如果这样还不行,那么将ProjectSetting -> Time-> FixedTimestep的检测间隔进一步缩小,例如0.003下次再把以前学过的物理引擎相关算法原理整理一下发出来这里安利一个物理引擎相关的帖子:https://www.zhihu.com/question/277300055?sor

Read More
2019年11月19日

C# Winform 跨线程更新UI控件常用方法汇总

概述C#Winform编程中,跨线程直接更新UI控件的做法是不正确的,会时常出现“线程间操作无效: 从不是创建控件的线程访问它”的异常。处理跨线程更新Winform UI控件常用的方法有4种:1. 通过UI线程的SynchronizationContext的Post/Send方法更新;2. 通过UI控件的Invoke/BeginInvoke方法更新;3. 通过BackgroundWorker取代Thread执行异步操作;4. 通过设置窗体属性,取消线程安全检查来避免"跨线程操作异常&q

Read More
2019年9月20日

c# .net使用的字符编码验证

所有源码见这里:https://github.com/fancybit/c_sharp_default_encodingusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EncodingTest
{
 &nbs

Read More