<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lichoueve的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lichoueve</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lichoueve]]></copyright><item><title><![CDATA[Unity四元数总结]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/104121699</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/104121699</guid><author>lichoueve</author><pubDate>Wed, 09 Feb 2022 12:10:41 +0800</pubDate><description><![CDATA[四元素用法总结]]></description><category></category></item><item><title><![CDATA[VsCode离线安装方法]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/120983204</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/120983204</guid><author>lichoueve</author><pubDate>Tue, 26 Oct 2021 22:56:36 +0800</pubDate><description><![CDATA[在电脑不能联网的状态下，需要使用VsCode进行C#编程，大致分为以下三个步骤

1.安装VsCode。在官网下载即可

2.在官网安装C#或者其他的插件，在可联网的电脑上先进行安装，此处采用“从VSIX安装”进行安装，电脑在联网状态下会下载对应的内容，保存在：C盘---用户---“你的电脑用户名文件夹”---.vscode--（XXX）下。



3.将上一个步骤的文件拷贝出来和下载的VSIX文件一起拷进不能联网的目标电脑，先安装VSIX文件，然后将C盘的文件拷进同样的位置，重启VSCode即可，这样就.]]></description><category></category></item><item><title><![CDATA[3dmax模型批量导出结构]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/117717095</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/117717095</guid><author>lichoueve</author><pubDate>Tue, 08 Jun 2021 22:11:23 +0800</pubDate><description><![CDATA[美术需要导出大量的模型，模型结构又比较单一，手动导出太麻烦了，可以通过maxscript批量导出模型，同时根据max中模型的结构树创建文件夹，代码如下：


--deckArry=$*Deck1* --获取了Deck1

--deckArry=$Deck1/*;

deckArry=$Deck*;--获取所有甲板父级
Print(deckArry.count);
for i in 1 to deckArry.count do 
(
    print(deckArry[i].name);
    globa]]></description><category></category></item><item><title><![CDATA[任务管理]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/114064622</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/114064622</guid><author>lichoueve</author><pubDate>Thu, 25 Feb 2021 10:31:46 +0800</pubDate><description><![CDATA[以任务流程为主线的仿真开发中，需要监听任务之间的关系，一个任务往往由多个实现条件组成，条件既可以是一个更小的任务也可以是一个判断点。

任务基类：


public abstract class TaskComponent
{
    protected string mName;
    public string Name { get { return mName; } }

    protected List&lt;TaskComponent&gt; mChildren;

    protecte]]></description><category></category></item><item><title><![CDATA[Unity3D中自带事件函数的执行顺序]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/112944881</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/112944881</guid><author>lichoueve</author><pubDate>Thu, 21 Jan 2021 14:37:00 +0800</pubDate><description><![CDATA[在Unity3D继承自MonoBehavior的脚本中，有几个Unity3D自带的事件函数按照预定的顺序执行作为脚本执行。其执行顺序如下：

编辑器（Editor）

Reset：Reset函数被调用来初始化脚本属性当脚本第一次被附到对象上，并且在Reset命令被使用时也会调用。
	编者注：Reset是在用户点击Inspector面板上Reset按钮或者首次添加该组件时被调用。Reset最常用于在见识面板中给定一个默认值。
第一次场景加载（First Scene Load）
这些函数会在一个场景开始（场景中]]></description><category></category></item><item><title><![CDATA[导航网格生成实际网格]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/110085000</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/110085000</guid><author>lichoueve</author><pubDate>Tue, 24 Nov 2020 16:20:28 +0800</pubDate><description><![CDATA[1.生成导航网格



2.网格生成脚本


public class CreateNavMesh : MonoBehaviour
{
    public Material navMeshMat;
    private NavMeshAgent agent;
    // Start is called before the first frame update
    void Start()
    {
        NavMeshTriangulation var=NavMesh.Calcula]]></description><category></category></item><item><title><![CDATA[Unity给按钮组件代码赋值的方法]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/108485017</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/108485017</guid><author>lichoueve</author><pubDate>Wed, 09 Sep 2020 11:10:01 +0800</pubDate><description><![CDATA[遇到多个按钮，一个个赋值太麻烦。比如我需要给以下每个按钮挂上切换场景的事件





通过代码对多个按钮进行赋值，此处一定要通过int j=i；否则无法正确赋值，原因应该是直接给按钮赋值i，LoadScenes（i+1）是引用型变量，最终给每个按钮挂上的事件是以i的最终值决定的时间，所以导致运行后，无论点击哪个按钮，都是开启第12个场景。


 public Button[] ButtonArry;
	// Use this for initialization
	void Start ()
    {
 ]]></description><category></category></item><item><title><![CDATA[VRTK基础结构配置]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/102926105</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/102926105</guid><author>lichoueve</author><pubDate>Tue, 05 Nov 2019 23:29:36 +0800</pubDate><description><![CDATA[1.创建VRTK_SDK Manager空物体，给空物体添加VRTK_SDK Manager脚本。

2.在VRTK_SDK Manager空物体下创建SDK_Setup空物体，挂载VRTK_SDK Setup脚本

3.将[CameraRig]和[SteamVR]放在SDK_Setup下面。



4.将SDK_Setup空物体上的SDK_Setup脚本中的QuickSelect调整为Steam...]]></description><category></category></item><item><title><![CDATA[navcat操作mysql的一些操作]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/89076972</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/89076972</guid><author>lichoueve</author><pubDate>Sun, 07 Apr 2019 22:53:29 +0800</pubDate><description><![CDATA[外键的添加：





两张表格，其中表1的id对应的是表2的userid，两个是通过外键进行互相关联。操作步骤如下：



点击设计表



表2可以说是表1的字表，其中userid的被参考表就是表1中的id。此处说明下，后面的“删除时”和“更新时”的选项，如下：

. cascade方式
在父表上update/delete记录时，同步update/delete掉子表的匹配记录
 . se...]]></description><category></category></item><item><title><![CDATA[unity相机插件Cinemachine的使用笔记]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/88857674</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/88857674</guid><author>lichoueve</author><pubDate>Wed, 27 Mar 2019 22:54:25 +0800</pubDate><description><![CDATA[首先导入插件，本插件主要用于做相机控制，先

记录三个小功能的使用方法。

第一，多个视角的切换。如果在场景中需要进行视角切换，首先点击菜单栏Cinemachine-&gt;Create Virtual Camera,就可以得到一个虚拟相机。



这些虚拟相机都是被主摄像机控制的，并不是真实存在的。

调整相机的角度，可以点击虚拟相机上的solo按钮来查看当前相机的视角




using Sy...]]></description><category></category></item><item><title><![CDATA[Unity关于Random.state的使用]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/83385660</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/83385660</guid><author>lichoueve</author><pubDate>Thu, 25 Oct 2018 20:32:02 +0800</pubDate><description><![CDATA[在老版本的Unity中，如果想获得相同的随机结果，需要使用Random.Seed()来进行产生随机数。

新版本中是采用Ranom.state和InitState来完成。

蛮牛官方解释中，Random.state这个属性是用于保存和恢复随机数生成器（RNG）生成这个随机数时的状态。随机数生成器的状态也可以通过Random.InitState（）这个函数进行设置。

代码我直接拷贝官网：


us...]]></description><category></category></item><item><title><![CDATA[中介者模式中的时间管理]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/81368393</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/81368393</guid><author>lichoueve</author><pubDate>Thu, 02 Aug 2018 22:00:33 +0800</pubDate><description><![CDATA[在实际开发中，常常需要添加设定一些一段时间以后发生的事件，这里主要通过一个dictionary&amp;lt;delegate,float&amp;gt; 来处理，通过Gamefacade来进行统一管理。

管理器基类


public  class BaseManager 
{
    protected GameFacade _facade;

    public BaseManager(GameFacad...]]></description><category></category></item><item><title><![CDATA[关于SimpleLod的学习笔记]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/80390621</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/80390621</guid><author>lichoueve</author><pubDate>Mon, 21 May 2018 13:36:59 +0800</pubDate><description><![CDATA[最近学习unity性能优化相关的知识，涉及到一个插件SimpleLod，其插件功能主要包括以下三个部分：1.合并网格以达到减少draw calls的目的2.合并材质和烘焙图集进一步减少draw calls3.减少三角形面一、合并网格（基本功能）合并网格可以用Unity函数Mesh.CombineMeshes()来完成。当你将已经有子网格的网格结合起来时，且不能处理皮肤网格。对于简单的LOD，它有自...]]></description><category></category></item><item><title><![CDATA[Unity全局光照以及shader的使用方法]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/80201583</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/80201583</guid><author>lichoueve</author><pubDate>Fri, 04 May 2018 23:54:34 +0800</pubDate><description><![CDATA[unity自带的shader都是支持光照贴图的，光照贴图可以让Unity中的模型在没有光照的情况下，在物体上产生阴影效果。5.0以后光照贴图的形式都有一定的改变。而在自己写的shader中需要对光照贴图进行相应的设置。光照贴图准备工作：1.light中Baking的模式选为Baked，为了查看效果，此处Shadow Type的模式选为Soft Shadows。2.选中需要进行烘焙的物体，将其sta...]]></description><category></category></item><item><title><![CDATA[Unity关于RenderTexture播放视频图片残留的问题]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/79007973</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/79007973</guid><author>lichoueve</author><pubDate>Mon, 08 Jan 2018 22:27:56 +0800</pubDate><description><![CDATA[工作之余接了两个小活，因为需要发布在IOS端，原始的视频播放方式发布IOS就不管用了，于是只能用unity默认的播放器VideoPlayer，此播放器的实用方法网上一大堆，这里就不说了，这里需要注意的，这种播放视频的方式需要在播放器上加入RenderTexture，网上普遍的操作方式是通过手动在Assets中创建对应的RenderTexture来实现，这种播放方式有个弊病就是当此播放页面切换到别的]]></description><category></category></item><item><title><![CDATA[使用unity进行零件装配]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/76165773</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/76165773</guid><author>lichoueve</author><pubDate>Wed, 26 Jul 2017 21:24:19 +0800</pubDate><description><![CDATA[测试工程百度网盘链接：链接：https://pan.baidu.com/s/1nswyqrsFTyc_sVdppgIAXA
提取码：dkzm

第一部分就是为了方便观察的标志。


public struct DoorPoint
{
    public Vector3 top_left;
    public Vector3 top_right;
    public Vector3 butto...]]></description><category></category></item><item><title><![CDATA[Unity3D中上斜坡会下滑的问题]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/76165525</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/76165525</guid><author>lichoueve</author><pubDate>Wed, 26 Jul 2017 21:00:43 +0800</pubDate><description><![CDATA[最近做HTC的项目，发现通过touchpad的触碰来移动物体会导致一个问题，斜坡角度比较大的时候，由于刚体的重力分力会导致运动区域下滑。
其实解决的方法很简单，就是判断刚体本身是否与地面相接触，如果地面与地面接触，就将刚体的使用重力取消，如果处于悬空状态，就重新使用重力效果，同时需要限制刚体的速度。
具体代码如下：
void OnCollisionStay（Collision other）]]></description><category></category></item><item><title><![CDATA[关于unity的绝对路径与相对路径的使用]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/70325292</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/70325292</guid><author>lichoueve</author><pubDate>Fri, 21 Apr 2017 16:00:33 +0800</pubDate><description><![CDATA[最近做到关于Unity做图片动态调用的问题，采用的WWW方式对相对路径中的大量图片进行调用，并将其赋值给NGUI的Texture中，经过几次尝试后成功，由于之前对路径问题根本不熟，所以有点麻烦。

Unity3D关于路径资源的调用分为绝对路径和相对路径，这里我用了两种尝试：




  CatalogPaper = "file://D:\\TestFile\\Cat\\" + Pap]]></description><category></category></item><item><title><![CDATA[对于unity全屏选项的抽风]]></title><link>https://blog.youkuaiyun.com/lichoueve/article/details/58600475</link><guid>https://blog.youkuaiyun.com/lichoueve/article/details/58600475</guid><author>lichoueve</author><pubDate>Tue, 28 Feb 2017 15:44:05 +0800</pubDate><description><![CDATA[最近生成文件比较多，发现unity在生成文件的过程中会偶尔出现勾选全屏选项后生成的文件依然是窗口模式。几次脑残的尝试后，发现生成文件的时候首先勾选Enable后生成一次文件，然后再勾选Disabled后生成，有一定几率会生成能够启动就是全屏的文件。

    为了能够不要只是寄希望于unity自己运行正常，需要通过代码对屏幕进行控制。
最简单的方法是：
void Start ()]]></description><category></category></item></channel></rss>