自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (1)
  • 收藏
  • 关注

原创 Addressables(2) ResourceLocation和AssetReference

它在编辑器能定位资源,在运行时可当静态配置数据加载资源,像一些不重要但是需要静态序列化的图片,就可以用这份信息,在显示的时候才加载,不显示的时候又不会加载到其他AB占用内存。把加载的Key塞进去,不难看出,IResourceLocation可以用来获得资源的详细信息。换成AssetReference却要先加载,说明场景加载时,资源并没有一起加载。验证的方法也简单,PrefabSpawne脚本序列化的资源换成一个不在场景中的。GameObject就不一定,它指向的是游戏对象,只是恰好是预制。

2024-01-20 02:19:48 520

原创 Addressables(1) 从安装到加载单个/多个资源

不想再配改那些狗屎路径,准备研究一下Adressable,据说可以用key加载指定的资源刚安装下来,随便搞了个资源勾选了一下addressable的框框,多了好多东西啊概念铺天盖地而来,ok 没事的 慢慢来!

2024-01-20 01:01:09 1118

原创 UIElement编辑器扩展 组件 Inspector

因为这个List内的数据用的还是上个例子的TestItem, 就继续用TestItem.uxml了。(ListView非常方便,reorderable之类的样式,直接在UIBuilder就能用了)声明完,直接在脚本的Inspector面板,把你这个界面的UXML拖进去就可以了,非常方便。基础的属性,在UIBuilder里拖好需要的组件,bingdingPath填好属性名即可。在TestCompEditor.cs,增加TestItem.uxml这个文件的声明。声明序列化VisualTreeAsset。

2024-01-19 20:56:12 674

原创 前端代码解决webview在android,ios表现不一致

安卓的问题移动端修改一下代码就可以了,但是因为版本已经发布了,这种方式就不太合适了。能在html内容解决是最好的,毕竟这部分是请求数据,直接替换就可以应用。竖屏游戏,公告在ios和安卓表现上各有各的问题。对前端应该是挺简单的,但我就苦手了。在安卓,没有横向滑动条,但是字体特别大。安卓显示的问题,在html添加调整代码。目前只在游戏公告使用了webview。在ios上,内容缩小,还需要横向滑动。html顶部添加meta标签的方式。ios横向滑动条显示问题。

2023-11-15 11:42:05 320

转载 模拟器闪退libhoudini.so

libhoudini负责在x86设备上运行Arm代码。有时它有导致应用程序崩溃的错误。最好的解决方案是也包含 x86 库,这样本机代码将在不使用 libhoudini 的情况下本机运行,从而防止此类崩溃的任何机会。

2023-05-31 11:20:29 606

原创 游戏复用列表实现思路

游戏复用列表,循环列表的实现思路

2022-12-05 21:21:48 514

原创 Unity 自定义Mesh绘制圆形遮罩

注释部分帮助理解AddVert和AddTriangle的作用。设置好网格顶点,再顺时针添加三角形顶点索引。

2022-10-26 21:45:43 776

原创 C# WebSocket 客户端

【代码】C# WebSocket 客户端。

2022-09-02 22:30:45 3671

原创 游戏网络 UDP+FEC+KCP

游戏网络,fec,kcp,udp

2022-07-24 22:08:22 1950

原创 C# unsafe 非托管对象指针转换

如何获取指针所指的非托管对象(这里是结构体)AsRef以及反过来,用非托管对象获取对应的指针 AsPointer

2022-07-20 22:09:05 672

原创 C# 多线程锁整理记录

多线程,C#,锁,读写锁,互斥锁,自旋锁

2022-07-18 09:13:54 1208

原创 本机异步网络通信执行快于同步指令

本机异步网络通信执行快于同步指令

2022-07-13 17:43:14 86

原创 Python动态网页数据收集

对于静态网页,只需要把网页地址栏中的url传到get请求中就可以轻松地获取到网页的数据。但是,经常会遇到直接把网页地址栏中的url传到get请求中无法直接获取到网页的数据的情况,而且右键查看网页源代码也无法看到网页的数据,同时点击第二页、第三页等进行翻页的时候,网页地址栏中的url也没变,这些就是动态网页。动态网页数据收集有两种方式:第一种:先分析网页数据获取和跳转的逻辑,再去写代码。第二种:Selenium+WebDriver,驱动浏览器,模拟用户输入,获取目标网页源码。(第一种我不会,就直

2022-04-27 09:19:40 1710 4

原创 Python数据收集入门

工作需要,临时学习一下Python,记录一些学习资料和经验python3语言入门菜鸟教程python3环境Windows Python3 安装VSCode扩展爬虫快速入门第一步:Get获取网页html第二步:根据html界面规则,定位提取自己想要的数据入门实战:使用requests和beautifulsoup4从小说网站爬取并保存小说需要安装的库:python库作用cmd安装命令文档requests发送网络HTTP请求pip install requests

2022-04-27 09:17:10 1380

原创 Unity URP 简单的Renderer Feature

Unity 2019.4.30URP 7.7.1刚把测试项目升级到URP,本想看官方的Demo工程学习写一个简单后效,快速GettingStart结果官方示例已经是 Unity 2020 URP 10.8.1 内容变化很多最后还是结合Unity教程,终于把简单的后效跑起来了Forward Renderer Data创建Pipeline Asset之后,有一个同名的Forward Renderer Data创建Forward Render Data,我命名的是DistortForwardData

2022-04-08 11:14:40 5409

原创 Unity 代码修改ProjectSettings

最近在学习URP想在测试项目换一下管线,但是之前写了一些效果了,我也不想改。于是就想加个切换URP的功能,实际上就是ProjectSettings修改管线ProjectSettings其实有好几个文件,对应修改项对应处理即可。public class SwitchURP{ [MenuItem("Tools/切换URP")] public static void SwitchURPMethod() { const string GraphicsSet

2022-04-06 17:24:20 6655

原创 Unity Editor 组件预览窗口

今天突然注意到EventSystem 运行的时候有这么个预览窗口,平时这个位置基本就是看看图片、动画的预览。感觉有点用处,记录一下怎么写。using UnityEngine;using UnityEditor;[CustomEditor(typeof(PreviewTest))]public class PreviewTestEditor : Editor{ public override bool HasPreviewGUI() { return tru...

2022-04-06 13:42:17 3321

原创 CommandBuffer实现景深,移动物体闪烁的问题

Unity Shader-Command Buffer的使用(景深与描边效果重置版)_puppet_master的专栏-CSDN博客_commandbuffer 后处理Command Buffer是Unity5新增的一个灰常灰常强大的功能。先祭出官方介绍和文档。我们在渲染的时候,给OpenGL或者DX的就是一系列的指令,比如glDrawElement,glClear等等,这些东西目前是引擎去调用的,而Unity也为我们封装了更高一级的API,也就是CommandBuffer,可以让我们更加方便灵活地实现一些

2022-03-10 09:49:54 265

原创 卡通渲染-平均法线描边

【01】从零开始的卡通渲染-描边篇]最近在学习渲染,入门的时候也学了Back facing描边法,但是表现在正方体上割裂严重,就先略过了。看了这篇文章才了解到平均法线的做法,作者将平均法线存到模型的切线数据中,也提及了可以转换到切线空间再存到颜色或者uv上。因为他只做了存到切线数据的方案,我就想试试使用切线空间法线的方案,写出来才算融会贯通了。对作者的工具稍作修改,将网格保存到本地。《UnityShader入门精要》这本书的法线贴图相关章节,提到了TBN矩阵,在C#实现一下,并且类似法线贴图把数值范

2022-02-14 09:47:20 1309

原创 dnspy 反编译修改UnityEditor.dll

1 dnspy文件->全部关闭2 添加unity需要的一些依赖程序集3 以下目录的dll全部拖入dnspyUnity安装目录/Editor/Data/ManagedUnity安装目录/Editor/Data/Managed/UnityEngineUnity安装目录/Editor/Data/MonoBleedingEdge/lib/mono/4.0(4.0或者其他版本,根据情况选择)Unity安装目录/Editor/Data/MonoBleedingEdge/lib/mono/4

2021-12-06 11:13:59 3765

原创 C#小技巧 获取枚举所有枚举值

enum TestEnume { Enum1, Enum2 } static void Test() { Debug.Log("GetValues"); foreach(TestEnume e in Enum.GetValues(typeof(TestEnume))) { ...

2021-12-01 20:11:08 1428

原创 C# async await理解

C# async await 平时用的不多,每次用都要查一遍资料,看完就忘,特此记录一下。以下为用例 void ClickMethod() { Log($"开始测试 ThreadId:{System.Threading.Thread.CurrentThread.ManagedThreadId}"); TestAsync(); Log($"TestAsync 主线程完成 ThreadId:{System.Threading.Thread..

2021-11-09 00:42:54 5635

原创 Unity IL2CPP 打包输出的cpp文件和dll位置

Unity Assets同级目录下Temp/StagingArea/Il2Cpp底下il2cppOutput显然是C++代码了Managed则是C#代码编译出来的dll,裁剪过的注意:Temp文件夹关闭Unity后就自动删除。

2021-11-08 11:07:08 4902

原创 c#调用C++库

c#调用C++库 GCHandle IntPtr AddrOfPinnedObject UnmanagedFunctionPointer CallingConvention DllImport MonoPInvokeCallback

2021-11-05 14:17:03 3504

原创 C# MethodInfo.Invoke 对应方法内部异常输出

TargetInvocationException: Exception has been thrown by the target of an invocation.反射某个方法的时候,如果这个方法内部逻辑写出Bug了,try这个Invoke的时候只会抛出这个异常。具体的异常,需要把InnerException也输出出来才知道。try{ methodInfo.Invoke(instance, new object[] { });}catch(TargetInvoc...

2021-11-05 10:22:24 615

转载 VisualStudio不显示Unity Package中的代码

stackoverflow

2021-10-26 17:02:41 2656

原创 Mono.Cecil DefaultAssemblyResolver.Dispose

之前用Mono.Cecil写了一些代码检查。总是有dll被占用的问题。检查了所有AssemblyDefinition,都Dispose了,还是被占用。因为被占用的dll并不是我AssemblyDefinition.ReadAssembly加载出来的,于是猜测可能是Resolver内部加载出来的。查阅Mono.Cecil源码发现,类:ModuleReader方法:CreateModule其中对传入的DefaultAssemblyResolver是Disposable.Not..

2021-10-19 17:04:54 319 4

原创 C# 子进程占用父进程文件

最近想写一个简单的更新程序就是Parent.exe打开update.exe然后 update.exe下载文件,覆盖Parent.exe这么个工作。在覆盖的时候遇到一个问题,就是文件被占用。反复检查,父进程确实是退出了。查了半天,看到一个说法是子进程会继承父进程的文件句柄,于是我想到ProcessStartInfo有个参数是WorkingDirectory,我将这个参数设置为update.exe所在的目录,问题就解决了。。。平时都用不到这个参数,没想到问题在这,记录一下。...

2021-10-09 17:19:54 2304

原创 [C# 反射] Type 格式化FullName

由于工作原因,会写一些生成代码的工具,总是需要获取类型的FullName,在生成代码中声明类型。可是Type.FullName的格式总是很恶心。像是泛型总是会存在“`1`2”这类字符,甚至还有冗长的程序集信息,以及嵌套类”+“的符号。如List<int>,实际FullName是System.Collections.Generic.List`1[[System.Int32, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, Pu

2021-08-26 23:18:50 1287

原创 unity 打包坑点

iOS闪退特效中的mesh read/write没有开iOS域名解析失败NameResolutionFailure打包选项 PlayerSettingInternet Access Auto->Required

2021-02-08 10:18:28 181

原创 Mono.Cecil ReaderParameters

最近有需求 要写工具检查 代码方法中有没有存在一些类型或者委托 随便记录下因为需要检查Method Body 普通反射已经无法满足,使用了Mono.Cecil这个库,感觉非常强大Mono.Cecil通过设置 ReaderParametersReadSymbols可以读取pdb文件常见的应用有获取方法所在文件位置var readerParameters = new ReaderParameters { ReadSymbols = true };//ReadSymbol...

2021-01-08 23:44:30 376

原创 .net core 打包时复制文件夹所有文件

TestCopy为要复制的文件夹 其他不用改双击项目 添加<ItemGroup> <Content Include="TestCopy\**"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> </ItemGroup>...

2020-11-30 13:53:32 690

原创 C# 反射判断可空类型

var definition = type.GetGenericTypeDefinition();if ( definition!=null && definition == typeof(Nullable<>) ){//可空类型}

2020-11-05 17:24:46 1500

原创 C# 反射 判断类型是结构体

if (!type.IsPrimitive && !type.IsEnum && type.IsValueType)

2020-10-20 14:44:19 1534

原创 C# 反射 判断类型是委托

Type.IsSubclassOf(typeof(Delegate))

2020-10-09 14:01:07 521

原创 C# Tcp 客户端 异步连接、发送、接收

public class TCPClientTestClass{ Socket socket; NetworkStream tcpStream; private IAsyncResult asyncResultRead;//接收数据的异步对象 private IAsyncResult asyncResultWrite;//发送数据的异步对象 priv...

2019-12-18 20:28:34 2552

转载 聚合根、实体、值对象的区别和联系

2019-10-14 15:49:16 1038

原创 Unity脚本生命周期理解

Untiy 事件函数执行顺序Order of Execution for Event Functionshttps://docs.unity3d.com/Manual/ExecutionOrder.htmlReset 非PlayMode时,在Inspector面板上对脚本点击Reset时执行,往物体挂载脚本的时候也会执行一次,脚本挂载的物体在Inspector上如果是被隐藏的,则以下方法...

2019-04-10 22:42:21 550

转载 Unity 有限状态机

http://wiki.unity3d.com/index.php/Finite_State_Machine枚举:状态切换的条件public enum Transition{ NullTransition = 0, }枚举:状态public enum StateID{ NullStateID = 0, }状态类:所有的状态继承自这个类publi...

2018-12-11 21:30:20 444

原创 PhotonServer客户端,U3D

接上文,PhotonServer服务端lib文件夹下找到Photon3Unity3D.dll导入Unity的Plugins文件建一个类用来处理和服务端的交互,如PhotonEngine,建议搞成单例,继承IPhotonPeerListener接口,需要的话再继承MonoBehaviour实现抽象类//服务端事件通知void OnEvent(EventData eventDa...

2018-11-06 17:49:05 192

opengl游戏编程(代码)徐明亮

徐明亮 卢红星 王琬 版的 opengl开发库也有 从第2章到17章

2017-10-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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