<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sakuya_miku的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sakuya_miku</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sakuya_miku]]></copyright><item><title><![CDATA[Unity MD5加密 16位、32位 大小写]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/118961066</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/118961066</guid><author>sakuya_miku</author><pubDate>Wed, 21 Jul 2021 10:44:32 +0800</pubDate><description><![CDATA[Unity  MD5加密  16位、32位
一、MD5 32位 大写加密
    /// &lt;summary&gt;
    /// MD5 32位 大写加密
    /// &lt;/summary&gt;
    /// &lt;param name="encryptContent"&gt;&lt;/param&gt;
    /// &lt;returns&gt;&lt;/returns&gt;
    public static string MD5Encrypt32Big(string enc]]></description><category></category></item><item><title><![CDATA[Shader UnityShader流程概述]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109702383</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109702383</guid><author>sakuya_miku</author><pubDate>Sun, 15 Nov 2020 13:02:36 +0800</pubDate><description><![CDATA[文章目录一、三大 Shader 编程语言1.OpenGL简介2.DirectX简介3.Cg简介二、Unity ShaderShaderlabUnity Shader的基础：ShaderLabUnity Shader != 真正的ShaderCPU与GPU如何并行工作什么是固定管线渲染什么是Shader三、Unity Shader渲染流程渲染流水线Cpu 应用阶段Cpu 应用概述设置渲染状态调用Draw CallGpu 流水线Gpu 流水线概述顶点着色器裁剪屏幕映射三角形设置三角形遍历片元着色器逐片元操作模板]]></description><category></category></item><item><title><![CDATA[Unity UnityWebRequest Get与Post应用]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109683701</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109683701</guid><author>sakuya_miku</author><pubDate>Fri, 13 Nov 2020 22:24:40 +0800</pubDate><description><![CDATA[学习目标：
using LitJson;
using Newtonsoft.Json;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using UnityEngine;
using UnityEngine.Networking;

public class WebRequestTest :MonoBehaviour
{
]]></description><category></category></item><item><title><![CDATA[记录：Http状态码]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109674947</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109674947</guid><author>sakuya_miku</author><pubDate>Fri, 13 Nov 2020 14:57:09 +0800</pubDate><description><![CDATA[1开头的http状态码
表示临时响应并需要请求者继续执行操作的状态代码。
100   （继续） 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分，正在等待其余部分。
101   （切换协议） 请求者已要求服务器切换协议，服务器已确认并准备切换。
2开头的http状态码
表示请求成功
200     成功处理了请求，一般情况下都是返回此状态码；
201     请求成功并且服务器创建了新的资源。
202     接受请求但没创建资源；
203     返回另一资源的请求；
204     服]]></description><category></category></item><item><title><![CDATA[Unity 各平台Application.xxxPath的路径]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109658034</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109658034</guid><author>sakuya_miku</author><pubDate>Thu, 12 Nov 2020 21:27:47 +0800</pubDate><description><![CDATA[Unity常用四个路径路径
Application.dataPath
Application.streamingAssetsPath
Application.persistentDataPath
Application.temporaryCachePath
Windows
Application.dataPath
路径一直到工程目录下Assets文件夹
举例：F:/UnityWork/TestAssetBundle/Assets

Application.streamingAssetsPath
路径一直到工]]></description><category></category></item><item><title><![CDATA[Unity  AssetBundled打包与加载]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109654433</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109654433</guid><author>sakuya_miku</author><pubDate>Thu, 12 Nov 2020 20:03:38 +0800</pubDate><description><![CDATA[AssetBundle分组策略
1、逻辑实体分组
  a、一个UI界面或者所有UI界面一个包（这个界面里面的贴图和布局信息一个包）
  b、一个角色或者所有角色一个包（这个角色里面的模型和动画一个包）
  c、所有的场景所共享的部分一个包（包括贴图和模型）
2、按照类型分组
  所有声音资源打成一个包，所有shader打成一个包，所有模型打成一个包，所有材质打成一个包
3、按照使用分组
  把在某一时间内使用的所有资源打成一个包。可以按照关卡分，一个关卡所需要的所有资源包括角色、贴图、声音等打成一个包。也可]]></description><category></category></item><item><title><![CDATA[C# string、stringBuffer和stringBuilder]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109653104</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109653104</guid><author>sakuya_miku</author><pubDate>Thu, 12 Nov 2020 19:35:55 +0800</pubDate><description><![CDATA[String、StringBuffer与StringBuilder之间区别

String字符串常量
String 类型和 StringBuffer 类型的主要性能区别其实在于String 是不可变的对象。
因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象，然后将指针指向新的 String 对象，这样不仅效率低下，而且大量浪费有限的内存空间，所以经常改变内容的字符串最好不要用 String 。因为每次生成对象都会对系统性能产生影响，特别当内存中无引用对象多了以后，]]></description><category></category></item><item><title><![CDATA[Unity 碰撞器和触发器的区别]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109622603</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109622603</guid><author>sakuya_miku</author><pubDate>Wed, 11 Nov 2020 15:07:19 +0800</pubDate><description><![CDATA[碰撞体
Unity中的碰撞体主要由2个组件完成
刚体Rigidbody
碰撞体Collider，它可以是触发器Trigger
碰撞产生的条件是
两个物体，必须至少有一个带有Rigidbody。可以简单地认为，带有Rigidbody的碰撞的产生体，而带有Collider是碰撞的接受体
带有Rigidbody必须带有一个Collider，碰撞是针对Collider的，Rigidbody只是标记了某个物体是一个能够产生碰撞的物体
Collider和Trigger的区别
Collider它表示是一个实体，是有体积的]]></description><category></category></item><item><title><![CDATA[Unity 异步加载场景，显示进度条进度]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109617217</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109617217</guid><author>sakuya_miku</author><pubDate>Wed, 11 Nov 2020 13:45:13 +0800</pubDate><description><![CDATA[学习目标：
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
/// &lt;summary&gt;
/// 脚本位置：Main Camera
/// 脚本功能：场景异步加载的进度条显示
/// &lt;/summary&gt;
public class LoadingScene : MonoBehaviour
{
 
	// 滑动条
	public Slider processBar;
 
	// Application.]]></description><category></category></item><item><title><![CDATA[Lua 模块与调用]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109548791</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109548791</guid><author>sakuya_miku</author><pubDate>Sat, 07 Nov 2020 16:34:08 +0800</pubDate><description><![CDATA[学习目标：
模块类似于一个封装库，从 Lua 5.1 开始，Lua 加入了标准的模块管理机制，可以把一些公用的代码放在一个文件里，以 API 接口的形式在其他地方调用，有利于代码的重用和降低代码耦合度。
Lua 的模块是由变量、函数等已知元素组成的 table，因此创建一个模块很简单，就是创建一个 table，然后把需要导出的常量、函数放入其中，最后返回这个 table 就行。
以下为创建自定义模块 mod.lua，文件代码格式如下：
-- 文件名为 mod.lua
-- 定义一个名为 mod 的模块

-]]></description><category></category></item><item><title><![CDATA[Lua 垃圾回收器函数]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109548760</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109548760</guid><author>sakuya_miku</author><pubDate>Sat, 07 Nov 2020 16:25:25 +0800</pubDate><description><![CDATA[学习目标：
--垃圾回收器函数
--[[

   Error错误  Debug调试  GC回收

   垃圾回收器函数
   Lua 提供了以下函数collectgarbage ([opt (, arg)])用来控制自动内存管理:

   collectgarbage("collect"): 做一次完整的垃圾收集循环。通过参数 opt 它提供了一组不同的功能：

   collectgarbage("count"): 以 K 字节数为单位返回 Lua 使用的总内存数。 这个值有小数部分，所以只需要乘上 10]]></description><category></category></item><item><title><![CDATA[Lua 错误处理与pcall]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109548713</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109548713</guid><author>sakuya_miku</author><pubDate>Sat, 07 Nov 2020 16:23:14 +0800</pubDate><description><![CDATA[学习目标：
--错误处理
print("YC ————————————&gt; 01")
--~ local function add(a,b)
--~    assert(type(a) == "number", "a 不是一个数字")
--~    assert(type(b) == "number", "b 不是一个数字")
--~    return a+b
--~ end
--~ add(10)


--error
print("YC ————————————&gt; 02")
--~ funct]]></description><category></category></item><item><title><![CDATA[Lua io文件操作相关]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109548675</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109548675</guid><author>sakuya_miku</author><pubDate>Sat, 07 Nov 2020 16:21:11 +0800</pubDate><description><![CDATA[学习目标：
Lua I/O 库用于读取和处理文件。分为简单模式（和C一样）、完全模式。
简单模式（simple model）拥有一个当前输入文件和一个当前输出文件，并且提供针对这些文件相关的操作。
完全模式（complete model） 使用外部的文件句柄来实现。它以一种面对对象的形式，将所有的文件操作定义为文件句柄的方法
简单模式在做一些简单的文件操作时较为合适。但是在进行一些高级的文件操作的时候，简单模式就显得力不从心。例如同时读取多个文件这样的操作，使用完全模式则较为合适。
-- io 文件操作

]]></description><category></category></item><item><title><![CDATA[Lua 协同程序coroutine解析]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109548621</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109548621</guid><author>sakuya_miku</author><pubDate>Sat, 07 Nov 2020 16:18:11 +0800</pubDate><description><![CDATA[coroutine
--[[

  协同程序 coroutine
  方法	描述
  1. 定义协同函数
  coroutine.create()	创建  coroutine，返回 coroutine， 参数是一个函数，当和 resume 配合使用的时候就唤醒函数调用
  2. 启动协同函数
  coroutine.resume()	重启  coroutine，和 create 配合使用
  3 暂停(挂起)协同函数
  coroutine.yield()	    挂起  coroutine，将 corou]]></description><category></category></item><item><title><![CDATA[Lua 函数function与参数]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109548521</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109548521</guid><author>sakuya_miku</author><pubDate>Sat, 07 Nov 2020 16:15:40 +0800</pubDate><description><![CDATA[函数
--函数 的返回值和参数不需要定义类型
--lua 中使用end代表函数的结束 不需要{}
function fun1(n)
  if n==1 then
	return n
  else
    return n * fun1(n - 1)
  end
end

print(fun1(3)) -- 输出6

--可以把函数当做一个类型使用
fun2 = fun1
print(fun2(3)) -- 输出6


--函数作为参数传递
function fun3(tab,fun)
  for k ,v ]]></description><category></category></item><item><title><![CDATA[Lua  table与元表以及面向对象]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109540009</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109540009</guid><author>sakuya_miku</author><pubDate>Fri, 06 Nov 2020 22:39:52 +0800</pubDate><description><![CDATA[表
tab = {}
tab.k1 = 1
tab.k2 = 2
print(tab.k1)     --输出 1
print(tab["k2"])  --输出 2
print(tab['k1'])  --输出 1

--哈希表形式，无[i]
print(tab[1])     --输出 nil

--哈希表形式，无法获取长度，仅数组可用
print("长度:"..#tab)             --输出 5
print("长度:"..table.getn(tab))  --输出 5
print("长度]]></description><category></category></item><item><title><![CDATA[Lua  多维数组生成与解析]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109539300</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109539300</guid><author>sakuya_miku</author><pubDate>Fri, 06 Nov 2020 21:10:26 +0800</pubDate><description><![CDATA[数组
array = {}
for i = 1, 10 do
table.insert(array,i)
end
s = table.concat(array,"-&gt;") --输出 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;6-&gt;7-&gt;8-&gt;9-&gt;10
print(s)

多维数组
array = {}
for x = 1, 3 do  --创建二维数组
  array[x] = {}
  for y = 1, 3 do
    array[x][y] = x]]></description><category></category></item><item><title><![CDATA[Lua  运算符相关]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109539151</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109539151</guid><author>sakuya_miku</author><pubDate>Fri, 06 Nov 2020 21:04:04 +0800</pubDate><description><![CDATA[--[[

  运算符
  1. 算数运算符
  +  -  *  /  %  ^幂

  2. 关系云算法
  ==  &gt;=  &lt;=  ~=不等于

  3. 逻辑运算符
  and 与   等于 &amp;&amp;   都为true
  or  或   等于 ||   有一个为true,则true
  not 非   等于 ！   a为true,not a 则取反 为 false

--]]

算数运算符：
x,y = 2,4
s = x+y
print(s)
s = x-y
print(]]></description><category></category></item><item><title><![CDATA[Lua  循环与迭代器]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109538830</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109538830</guid><author>sakuya_miku</author><pubDate>Fri, 06 Nov 2020 20:42:06 +0800</pubDate><description><![CDATA[while 循环
先判断在执行
i = 0
while(i &lt; 10) do --先判断在执行
print("ia: "..i)
i = i + 1
end

repeat until循环
先执行在判断
i = 0
repeat
print("ib: "..i)
i = i + 1
until(i &gt; 10) --条件为true 跳出循环
end

for循环
for i=1,10 do --step没有设定，默认为 +1
print("数值for循环 ia: "..i)
end

for i=]]></description><category></category></item><item><title><![CDATA[Lua  正则表达式实例]]></title><link>https://blog.youkuaiyun.com/sakuya_miku/article/details/109538756</link><guid>https://blog.youkuaiyun.com/sakuya_miku/article/details/109538756</guid><author>sakuya_miku</author><pubDate>Fri, 06 Nov 2020 20:35:21 +0800</pubDate><description><![CDATA[--匹配模式  用于正则表达式
--[[
.(点): 与任何字符配对
%a: 与任何字母配对
%c: 与任何控制符配对(例如\n)
%d: 与任何数字配对
%l: 与任何小写字母配对
%p: 与任何标点(punctuation)配对
%s: 与空白字符配对
%u: 与任何大写字母配对
%w: 与任何字母/数字配对
%x: 与任何十六进制数配对
%z: 与任何代表0的字符配对
%x(此处x是非字母非数字字符): 与字符x配对. 主要用来处理表达式中有功能的字符(^$()%.[]*+-?)的配对问题, 例如%%]]></description><category></category></item></channel></rss>