<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[k253316的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/k253316</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; k253316]]></copyright><item><title><![CDATA[在Unity中使用Kinect移动、举手，固定区域识别]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/148771247</link><guid>https://blog.youkuaiyun.com/k253316/article/details/148771247</guid><author>k253316</author><pubDate>Thu, 19 Jun 2025 18:01:45 +0800</pubDate><description><![CDATA[首先就得排除KinectManager，得自己拿到用户的ID，先写区域识别用户，比如我们可以定制一块距离相机1米、最远距离2米、左右最远距离是0.3，那么站在相机前0.5米是不会识别的。传入的int handId 是手的枚举，不过单纯返回bool没用，因为当用户一直举手，那我们就会一直触发，非常麻烦，所以还得加入时间，把举手时长给出去，这样才是能用的，而且非常适合做填充小人。到这里就完成了区域识别用户、举手，我们还差一个位移，位移就相对简单了，获取用户的头或者脖子或者肩的中央位置，然后根据位置移动就行。]]></description><category></category></item><item><title><![CDATA[Unity用AvPro做视频播放器]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/148770839</link><guid>https://blog.youkuaiyun.com/k253316/article/details/148770839</guid><author>k253316</author><pubDate>Thu, 19 Jun 2025 17:14:57 +0800</pubDate><description><![CDATA[2、其实AVPro有先写好的视频播放器，功能更多，但是代码太多了，如果就只是需要暂停、播放、拖进度的话，案例不是好选择，更适合自己写（地址：Assets\AVProVideo\Demos\Scenes\Demo_MediaPlayer.unity）面板这样拖，一个AV的视频播放器、一个地址、两个拖动条、一个暂停|开始按钮、一个Text视频长度文本，下面两个icon是暂停播放icon，但是我没图片，所以没写。这块用的外部配置，如果需要测试可以自己改。新建VideoPlayers.cs。1、先导入AVPro。]]></description><category></category></item><item><title><![CDATA[Unity摇杆+键鼠控制位移、旋转]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/135569114</link><guid>https://blog.youkuaiyun.com/k253316/article/details/135569114</guid><author>k253316</author><pubDate>Sat, 13 Jan 2024 14:25:34 +0800</pubDate><description><![CDATA[这时候运行场景会发现摇杆没用，其实这不是摇杆没用，只是我们脚本写了限制条件，只有手指才能触发摇杆，如果有不需要这个判定的可以删除。运行场景，我们的摇杆也有用了，这两者的共存本文暂时不写，因为涉及UI交互的判定，需要根据实际情况去修改。设置完后我们运行场景，会发现摇杆已经做好了，同时，我们开始编写位移等脚本，位移脚本也很简单，只需要把。然后，新建一个场景，用胶囊去做玩家，摄像机在胶囊下，并且在场景中放两个cube作为参照物。脚本吗，里面我们写了两个交互，一个是摇杆，一个是键盘控制，当我们的视图选择了。]]></description><category></category></item><item><title><![CDATA[Unity对接后台和加载图片]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/134753300</link><guid>https://blog.youkuaiyun.com/k253316/article/details/134753300</guid><author>k253316</author><pubDate>Sat, 02 Dec 2023 18:06:05 +0800</pubDate><description><![CDATA[在unity中与后台对接，用await在web端暂时还不支持，所以，协程成为比较好的通用方式，以下适用除post访问外的所有对接在面对如下简单的json时，我们用JObject去拿数据在面对如下稍微复杂的json时，我们用JArray取数据"data": ["id": 1,"password": "爱上放大"},"id": 2,"password": "各色地方"},"id": 3,"password": "奥尔格和"]]></description><category></category></item><item><title><![CDATA[unity动画融合]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/132472215</link><guid>https://blog.youkuaiyun.com/k253316/article/details/132472215</guid><author>k253316</author><pubDate>Thu, 24 Aug 2023 14:02:28 +0800</pubDate><description><![CDATA[在大型复杂的场景中，一定遇到过手在鼓掌，头在摇头，腿又是其他动作的要求，但是这些东西又不能做一起，因为有时候要把某个动画单独使用，这时候就用到了动画融合，利用动画状态机分层机制，可以自己在分层的基础上再建动画树，进行更加复杂的操作，下面开始流程。还有就是要注意，有的可能会说要选Additive，但是我用的时候发现敬礼动画手指会变麻花，我在头的动画遮罩中除了头，其他的都禁用了，手的也只开放了手的遮罩。因为我这个动画是敬礼动画，所以我起名字叫敬礼，完成上述参数勾选后，拉到最底下，点击”]]></description><category></category></item><item><title><![CDATA[untiy代码打压缩包，可设置密码]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/132042940</link><guid>https://blog.youkuaiyun.com/k253316/article/details/132042940</guid><author>k253316</author><pubDate>Tue, 01 Aug 2023 15:37:56 +0800</pubDate><description><![CDATA[用的是一个插件SharpZipLib，在vs的Nuget下载，也可以去github下载用这个最主要的是因为，这个不用请求windows的文件读写权限，关于这个权限我搞了好久，到最后还不如这个好用。]]></description><category></category></item><item><title><![CDATA[C#栈、List结构的简单搭建]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/131827421</link><guid>https://blog.youkuaiyun.com/k253316/article/details/131827421</guid><author>k253316</author><pubDate>Thu, 20 Jul 2023 12:35:05 +0800</pubDate><description><![CDATA[list比栈多了个public T this[int item]，所以list可以通过下标访问元素，如果你想用下标访问栈的话，我不是很建议这样操作，因为栈用下标访问元素，那跟list没区别，为什么不直接用list，对吧。栈的实现并不难，调用push，就把数组往后加一位或者*4位，把数组扩展，然后再拷贝临时的数组，这个就是栈的工作原理。list和栈基本类似，这里只写Add和Remove，其他的也都简单。说明我们代码没问题，继续写弹出栈顶的操作。压出栈顶元素的操作，我们也完成了。我们先实现压入栈顶的操作。]]></description><category></category></item><item><title><![CDATA[C#的ref和out使用]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/131800602</link><guid>https://blog.youkuaiyun.com/k253316/article/details/131800602</guid><author>k253316</author><pubDate>Wed, 19 Jul 2023 09:11:38 +0800</pubDate><description><![CDATA[2、out关键字：使用out关键字声明的参数，在方法内部不需要被初始化，可视为未赋初始值。与ref关键字不同，out参数可以在方法内部确定其值，也就是说方法内部必须对局部变量赋值。1、ref关键字：使用ref关键字声明的参数，在方法调用前必须被初始化，并且可以被视为已经赋予了一个初始值。在方法内部对ref参数的修改会影响到方法外部传入的实参，也就是说，我在方法内部修改了局部的值，那么全员变量的值也会被修改。3、总结：ref传的值在方法内部可以不修改其值，out则必须修改。]]></description><category></category></item><item><title><![CDATA[Unity的小工具]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/131421511</link><guid>https://blog.youkuaiyun.com/k253316/article/details/131421511</guid><author>k253316</author><pubDate>Tue, 27 Jun 2023 17:16:47 +0800</pubDate><description><![CDATA[2、这个脚本会忽略已经转换过Sprite的图片。不过要注意：1、这个脚本只转换.png或者.jpg格式的图片（当然，你可以自己改）]]></description><category></category></item><item><title><![CDATA[unity中ScriptableObject的保存技巧]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/130217663</link><guid>https://blog.youkuaiyun.com/k253316/article/details/130217663</guid><author>k253316</author><pubDate>Tue, 18 Apr 2023 11:36:43 +0800</pubDate><description><![CDATA[so（ScriptableObject 这里是简称，后面都用so代替ScriptableObject）在处理大量数据，属实不怎么样，本人深有体会，在项目中一开始定的是用so存储数据，到后期数据量变大了，so的维护就变的特别麻烦，因为so用代码赋值后会暂时保存，在unity的属性面板上可以看到我们修改后的内容，但是当我们重启unity后会发现so中的数据又恢复到原来的数据了，也就是说没有保存在本地，面对这种办法，我们可以用json读取后存到so中，话不多说，开始贴代码。]]></description><category></category></item><item><title><![CDATA[用unity写一个2D类的拼图游戏]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/128594205</link><guid>https://blog.youkuaiyun.com/k253316/article/details/128594205</guid><author>k253316</author><pubDate>Fri, 31 Mar 2023 17:38:45 +0800</pubDate><description><![CDATA[因为是webGL的项目，面对的bug解决方案也不同，代码可能有点乱，大家将就看看，webGL不支持禁用多点触控，所以在这里用了比较复杂的判定，不然直接一句话的事，而且策划说在松手状态下，拼图块要回到原位，并且要旋转到原来的位置，我当时听到这个真是mmp了(小声bb一句，狗策划)前几天接了一个拼图项目刚好现在写完了，拿出来分享，拼图不难，我也是看了一个官方案例写的，因为当我们写图片跟随鼠标的时候，鼠标已经有一个图片了，这个图片会遮挡射线，然后就无法判断当前拼图块在哪里，话不多说，上菜。()是停止拖拽的方法。]]></description><category></category></item><item><title><![CDATA[unity制作软件试用版功能]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/128567241</link><guid>https://blog.youkuaiyun.com/k253316/article/details/128567241</guid><author>k253316</author><pubDate>Thu, 05 Jan 2023 17:26:43 +0800</pubDate><description><![CDATA[unity制作试用版]]></description><category></category></item><item><title><![CDATA[Unity中ScriptableObject的应用]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/128233834</link><guid>https://blog.youkuaiyun.com/k253316/article/details/128233834</guid><author>k253316</author><pubDate>Thu, 08 Dec 2022 11:37:38 +0800</pubDate><description><![CDATA[ScriptableObject是官方的数据容器，可存各种类型（图片、音频、文字等）的数据，且整个ScriptableObject可以被打成AB包，更加方便管理，也不用担心内存问题ScriptableObject无需解析、使用方便、数据相对安全，是除数据库之外替代JSON、XML的不二选择


 像这样，unity自带的类型都可以直接创建，还有第二种形式：


 自定义类在使用时必须要加上[Serializable]序列化，才可以在属性面板可视化 fileName是创建后默认的名字，menuName是在菜单]]></description><category></category></item><item><title><![CDATA[UnityWebGL发布包问题及IIS配置]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/127320015</link><guid>https://blog.youkuaiyun.com/k253316/article/details/127320015</guid><author>k253316</author><pubDate>Fri, 14 Oct 2022 15:06:45 +0800</pubDate><description><![CDATA[将平台切换到WebGL，打开Player Settings-Publishing Settings-Compression Format将压缩禁用，这样打包出来的文件数据后缀为.data。然后点击发布。]]></description><category></category></item><item><title><![CDATA[UnityAudioClip多播]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/126666308</link><guid>https://blog.youkuaiyun.com/k253316/article/details/126666308</guid><author>k253316</author><pubDate>Fri, 02 Sep 2022 17:02:28 +0800</pubDate><description><![CDATA[在Unity中想要在一个物体上或者一个AudioSource上同时播放多个声音，就可以用到。]]></description><category></category></item><item><title><![CDATA[在Unity中MVC框架的应用]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/126139795</link><guid>https://blog.youkuaiyun.com/k253316/article/details/126139795</guid><author>k253316</author><pubDate>Wed, 03 Aug 2022 15:03:23 +0800</pubDate><description><![CDATA[MVC的初级应用]]></description><category></category></item><item><title><![CDATA[C#数组中有值为空，删除该值]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/126139029</link><guid>https://blog.youkuaiyun.com/k253316/article/details/126139029</guid><author>k253316</author><pubDate>Wed, 03 Aug 2022 14:07:07 +0800</pubDate><description><![CDATA[C#数组中有值为空，删除该值]]></description><category></category></item><item><title><![CDATA[Unity协程]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/125310442</link><guid>https://blog.youkuaiyun.com/k253316/article/details/125310442</guid><author>k253316</author><pubDate>Thu, 16 Jun 2022 10:20:04 +0800</pubDate><description><![CDATA[1、协程只能在MonoBehaviour或其子类使用2、协程类似于红绿灯，在碰到等待指令时停下，等待指令结束时继续运行3、yield return new WaitForSecond(n)受Time.timeScale影响，当Time.timeScale为0时，yield return new WaitForSecond(n)将失效           在Unity中，可以用StopCoroutine来终止一个协程


也可以用StopAllCoroutines();终止MonoBehaviour类中所有能]]></description><category></category></item><item><title><![CDATA[UnityPICO转HTC的操作]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/124931162</link><guid>https://blog.youkuaiyun.com/k253316/article/details/124931162</guid><author>k253316</author><pubDate>Thu, 26 May 2022 17:18:51 +0800</pubDate><description><![CDATA[1、点击Edit - Project Setting - Player里的XR Setting不能有冲突，像下面这样是不行的



我们打开Window - Package Manager把里面的XR的三个插件删掉(P口的也要删！！！)



然后我们重启客户端，在Edit - Project Setting - Player里没有冲突了

再接下面的操作

在Window - Package Manager里面把XR的三个插件重新引用

然后切换PC端打包，P口转HTC(PC端)就完成了

HTC转P..]]></description><category></category></item><item><title><![CDATA[UnityXR相关应用（1）]]></title><link>https://blog.youkuaiyun.com/k253316/article/details/124816544</link><guid>https://blog.youkuaiyun.com/k253316/article/details/124816544</guid><author>k253316</author><pubDate>Tue, 17 May 2022 15:35:38 +0800</pubDate><description><![CDATA[首先我们要去购买一个专业的VR设备，然后我们去steam下载steam VR，再打开Unity进行编程

开始之前，我们需要添加一些插件Window-Package Manager加入三个插件



这个模式选择Unity Registry，然后搜索这三个插件进行添加



也别忘了加这个



我们在Hierarchy中右击下拉菜单中选择XR-Device-based-XR Origin，然后会创建两个东西



XR Interaction Manager这个不用动，点击XR Origin把Trac..]]></description><category></category></item></channel></rss>