<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xdedzl的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xdedzl</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xdedzl]]></copyright><item><title><![CDATA[Visual Studio/ VSCode/Pycharm 快捷键整理]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/119360109</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/119360109</guid><author>xdedzl</author><pubDate>Sat, 20 Aug 2022 10:35:45 +0800</pubDate><description><![CDATA[项目
VS
VSCode
PyCaharm




xx
x
x
x



]]></description><category></category></item><item><title><![CDATA[python接收不到udp消息的解决方案]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/119465717</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/119465717</guid><author>xdedzl</author><pubDate>Sat, 07 Aug 2021 00:24:06 +0800</pubDate><description><![CDATA[  之前做了个开发游戏时看log和发命令的控制台工具，本地测试时没有问题，游戏打包到安卓后，pc上的控制台出现了能发命令但接收不到log的情况。控制台是用python写的，通讯协议用的udp。
  先说结论，是因为windows的防火墙

  没啥好说的，直接上解决方案
1.直接关闭windows防火墙
  打开控制面板，找到Windows Defender，直接关掉。这虽然能解决问题，但显然不是一个好的方式


2.单独设置某个应用示是否可以通过防火墙进行通信
  按照下图找到python，专用和公用都.]]></description><category></category></item><item><title><![CDATA[unity控制台 -- 动态编译c#]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/119189617</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/119189617</guid><author>xdedzl</author><pubDate>Wed, 28 Jul 2021 22:21:37 +0800</pubDate><description><![CDATA[  在游戏开发过程中，调试是一件很让人头痛的事情，使用unity和c#开发的时候，总是会打开游戏-----&gt;发现有问题-----&gt;关游戏-----&gt;加log-----&gt;加测试代码-----&gt;开游戏-----&gt;测试，看log。或者打断点，在IDE里调试代码。又或者是有一个GM系统可以执行各种已经写好的指令，总之，很麻烦就是了，且没有时效性。
  使用脚本语言开发的时候，可以直接在控制台中输入一行代码，就可以查看数据，或者执行一个命令，于是就想，能不能用c#实现类似的功能呢.]]></description><category></category></item><item><title><![CDATA[Lightmap压缩和重排]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/116891634</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/116891634</guid><author>xdedzl</author><pubDate>Sun, 16 May 2021 15:06:20 +0800</pubDate><description><![CDATA[前段时间项目做缩减包体大小的工作，自己在大佬的指导下做了个缩减lightmap的工具，抽时间整理一下思路。下面涉及到的代码是用python写的

1.获取模型的lightmap数据
  一张lightmap包含了一个或多个模型的光照数据，所以首先需要将每个模型自己的那一部分数据从一个完整的lightmap中提取出来。
2.计算lightmap可以压缩的等级
  拿到数据后可以通过比较压缩前和压缩后的图片相似度来计算是否可以压缩以及压缩等级。我使用的是图像的PSNR来判断的。实际测试中将psnr值大于30判.]]></description><category></category></item><item><title><![CDATA[六边形地图生成(1)——基础地形]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/115802099</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/115802099</guid><author>xdedzl</author><pubDate>Sat, 17 Apr 2021 21:49:26 +0800</pubDate><description><![CDATA[看了大佬的六边形地图教程，跟着原教程敲了一遍代码，使用的引擎是unity，想把六边形地形的生成思路记录下来。

1.基础六边形网格
  基础网格很容易绘制，六个边缘点，一个中心点，如何在引擎中绘制动态网格网上一搜一大把，这里就不介绍了。

2.边缘扰动
  方方正正的网格看起来太拘束，利用一张噪声图或者其他方式给六边形的边缘点加一些微扰。

2.网格与网格的连接
  我们需要给每个六边形网格赋以不同的高度，如果直接对上面的六边形加上高度的会得到下图的结果。

  是不是很丑，所以，我们需要在不同的网格之间.]]></description><category></category></item><item><title><![CDATA[unity在后处理中实现投影效果]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/115016815</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/115016815</guid><author>xdedzl</author><pubDate>Fri, 19 Mar 2021 22:44:24 +0800</pubDate><description><![CDATA[其实这个效果是偶然中发现的，可能也没有什么可以实际运用的地方，只是个人觉得比较好玩，记录一下。

1.先看效果
  除了投影以外，也可以做成一个范围外不可见的效果，但和投影一样，都有其他更方便的解决方案，所以也就是图个乐了。
  大体思路就是在shader中还原世界空间，再利用sdf函数将空间分为多个部分，最后对不同部分进行不同的处理就可以得到下面的效果了。下图是使用的是球的sdf，球型范围内的区域也就是投影区域了。sdf可以参考3D SDF



2.在shader中还原世界空间
  要还原世界空间需要.]]></description><category></category></item><item><title><![CDATA[unity在URP中实现自定义Volume]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/114746972</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/114746972</guid><author>xdedzl</author><pubDate>Sat, 13 Mar 2021 18:20:52 +0800</pubDate><description><![CDATA[  在unity默认bulit-in管线中，后处理效果一般可以在在相机上挂一个脚本加上OnRenderImage函数，并使用Graphics.Blit用某个材质对最后相机展现的画面进行处理。
  在URP中OnRenderImage不生效了，并且有了一个专门做后处理的Volume。但由于相关代码都写在了一个叫PostProcessPass的脚本中，除非修改源码，否则无法仅通过扩展一个VolumeComponent来实现一个自定义后处理。好在URP提供了一个RendererFeature的功能，我们可以通过.]]></description><category></category></item><item><title><![CDATA[python使用有道智云翻译API]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/112385492</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/112385492</guid><author>xdedzl</author><pubDate>Sat, 09 Jan 2021 00:06:45 +0800</pubDate><description><![CDATA[  又是一篇起源于奇怪需求的文章。在公司使用的某个开发工具不知何缘故和有道词典客户端有冲突（好像是端口冲突），使用不了多久就会卡死，只能卸载有道词典。一时没找到其他感觉不错的翻译软件。网页版的有道翻译和其他翻译又觉得打开网页的过程麻烦，找页签也烦，于是想着弄一个控制台的翻译工具。
  附上有道智云API文档地址 翻译文档，有道智云平台注册送50元，可查100万字符，自己使用了3天上后台看了一下扣了一分钱。
  后面准备也搞一下百度翻译，每月有200万字符的免费额度。

1.使用有道智云平台
  首先要注册.]]></description><category></category></item><item><title><![CDATA[解决用 c# System.Diagnostics.Process 启动python脚本控制台会自动关闭的问题]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/110668502</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/110668502</guid><author>xdedzl</author><pubDate>Fri, 04 Dec 2020 19:41:06 +0800</pubDate><description><![CDATA[static void Main(string[] args)
        {
            var p = new System.Diagnostics.Process();
            p.StartInfo.FileName = "cmd.exe";
            p.StartInfo.Arguments = "/k" + @"python E:\Projects\XDEDZL\ExcelExport\export.py --Model 1dasdas";
   ]]></description><category></category></item><item><title><![CDATA[C# 反射性能优化]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/109476593</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/109476593</guid><author>xdedzl</author><pubDate>Tue, 03 Nov 2020 20:27:10 +0800</pubDate><description><![CDATA[之前在做消息的自动注册机时，发现用反射获到的MethodInfo也是可以转成委托的，于是抽空整理了一下，写了一些用于优化反射的工具类和方法。


]]></description><category></category></item><item><title><![CDATA[根据抛物线起点终点及初速度大小推算初速度方向]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/105912891</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/105912891</guid><author>xdedzl</author><pubDate>Sun, 25 Oct 2020 20:30:22 +0800</pubDate><description><![CDATA[List item

List item

]]></description><category></category></item><item><title><![CDATA[C#工程批量添加dll和脚本]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/108781807</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/108781807</guid><author>xdedzl</author><pubDate>Thu, 24 Sep 2020 19:53:47 +0800</pubDate><description><![CDATA[出于想在没有unity的环境下用unity的dll来写代码的目的（嗯，很sb的需求），自己建了个空的c#工程，再把动态库和代码放到工程目录下，用python脚本给工程文件批量添加dll和cs文件。

1.分析
  首先得知道在用Visual Studio给解决方案添加引用的dll和代码文件时都发生了什么。打开解决方案文件（.csproj）基本结构如下，可以看到其实就是个xml文件。看到最后会发现有两个ItemGroup节点，一个描述了项目所引用的dll，一个描述了项目所有的代码文件。所以，只需要写个工具修.]]></description><category></category></item><item><title><![CDATA[Unity Surface Shaders 表面着色器备忘]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/105009242</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/105009242</guid><author>xdedzl</author><pubDate>Sun, 20 Sep 2020 09:42:04 +0800</pubDate><description><![CDATA[输出结构
1.Standard
struct SurfaceOutput
{
    fixed3 Albedo;  // diffuse color
    fixed3 Normal;  // tangent space normal, if written
    fixed3 Emission;
    half Specular;  // specular power in 0..1 r...]]></description><category></category></item><item><title><![CDATA[【c#消息机制】自动注册和反注册]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/108651849</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/108651849</guid><author>xdedzl</author><pubDate>Sat, 19 Sep 2020 19:54:20 +0800</pubDate><description><![CDATA[随着项目代码量的增长，


]]></description><category></category></item><item><title><![CDATA[Unity  游戏红点系统(Reddot System)]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/107745355</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/107745355</guid><author>xdedzl</author><pubDate>Sun, 02 Aug 2020 15:58:32 +0800</pubDate><description><![CDATA[  游戏中按钮上经常会有一些用于提示玩家点击的小红点，显示方式可能不同，统称为红点系统。这里结合unity的GraphView做了一个通用的红点系统。
  源码在这里红点系统，里面实现了一个简单demo

一.红点树编辑器
  进入菜单 XFramework—&gt;UI—&gt;ReddotEditor  编辑红点树

二.ReddotManager
1.红点显示规则
  需要显示红点的UI会注册一个节点的Key，可以是叶子结点也可以是非叶子结点。
  在合适的时候会标记结点的状态（只能编辑叶子结点，非.]]></description><category></category></item><item><title><![CDATA[由UnityEngine.Object该怎么判空引发的一些思考]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/107523168</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/107523168</guid><author>xdedzl</author><pubDate>Sat, 25 Jul 2020 12:46:43 +0800</pubDate><description><![CDATA[  先给出一组测试数据，分别用三种比较方式进行100万次比较。





GameObject
Component（组件）




obj == null
43



obj is null
4



System.Object.ReferenceEquals(obj, obj2)
4




]]></description><category></category></item><item><title><![CDATA[unity剧情系统开发]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/106649198</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/106649198</guid><author>xdedzl</author><pubDate>Sun, 21 Jun 2020 23:09:04 +0800</pubDate><description><![CDATA[从去年三月份到现在，《匣》断断续续的也经历一年多的开发


]]></description><category></category></item><item><title><![CDATA[虚幻5 技术文章整理]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/106576831</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/106576831</guid><author>xdedzl</author><pubDate>Fri, 05 Jun 2020 19:22:41 +0800</pubDate><description><![CDATA[这些东西虽然都还看不懂，但还是存起来吧，万一以后看懂了呢

虚幻5 Lumen，Nanite
https://www.bilibili.com/video/BV1Tz411B7S7?zw
https://www.bilibili.com/video/BV1Tz411B7S7?zw
https://zhuanlan.zhihu.com/p/140943267
https://zhuanlan.zhihu.com/p/142239218
https://zhuanlan.zhihu.com/p/1425104.]]></description><category></category></item><item><title><![CDATA[unity 模拟三体运动]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/106086335</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/106086335</guid><author>xdedzl</author><pubDate>Tue, 12 May 2020 22:51:10 +0800</pubDate><description><![CDATA[以一个三体迷和码农的身份确定一下三体问题的无解ThreeBody Demo

Demo
1.轨迹预测
  首先在运行之前得预测一下运行轨迹，修改参数得到不同的轨迹
2.三体问题的特殊解
  通过维基百科链接到一篇相关论文A remarkable periodic solution of the three-body problem in the case of equal masses。里面给出了在特殊解情况下的初始值。图中的速度以及位置使用复数形式表示，映射到unity中，实数部分为x轴，虚数部分为z轴.]]></description><category></category></item><item><title><![CDATA[【Shader特效】—— UI 溶解]]></title><link>https://blog.youkuaiyun.com/xdedzl/article/details/105621070</link><guid>https://blog.youkuaiyun.com/xdedzl/article/details/105621070</guid><author>xdedzl</author><pubDate>Sun, 19 Apr 2020 20:22:04 +0800</pubDate><description><![CDATA[前两天在shadertoy上看到了一个图片溶解的效果，移植到unity中并做了一些改动。

1.效果

2.shader
Shader "Custom/UI/Dissolve"
{
    Properties
    {
        _Color ("Color", Color) = (1,1,1,1)
        _MainTex ("MainTex", 2D) = "white" ...]]></description><category></category></item></channel></rss>