Unity
_小辉辉_林
比较通俗易懂的记录每天开发笔记 志同道合的可以一起学习进步
展开
-
删除指定目录下的文件以及文件夹
public class NemoEditorTool{/// /// 删除指定目录下的文件以及文件夹/// /// public static void DeletePath(string path){if (Directory.Exists(path)){DirectoryInfo info = new DirectoryInfo(path);FileSystemInfo[] arrInfo = info.GetFileSystemInfos();for (int i = 0;原创 2021-06-25 11:30:23 · 248 阅读 · 0 评论 -
Shader.Find(“Shader Forge/rainShader_01“);
将用到得shader添加到上图所示,利用Shader.Find("") 可以找到shader为材质球复制Material[] mats = GameObject.Find(“NSA338DM001”).GetComponent().materials;foreach (Material m in mats){m.shader = Shader.Find(“Shader Forge/rainShader_01”);}...原创 2021-05-13 14:08:29 · 405 阅读 · 0 评论 -
list 转 数组
List gos = new List();gos.ToArray()通过.ToArray() 可以实现 list 列表转数组原创 2021-05-13 14:02:55 · 506 阅读 · 0 评论 -
list.select
using System.Linq;list.select的使用方法List stulist = new List();stulist.Add(new student(1));stulist.Add(new student(2));stulist.Add(new student(3)); List<int> newlist = stulist.Select(a => a.age).ToList(); foreach (var item in newlist)原创 2021-04-07 14:44:53 · 2268 阅读 · 0 评论 -
Unity编辑器常用API 日记
UnityEditor.AssetDatabase.LoadAssetAtPath()UnityEditor.PrefabUtility.InstantiatePrefabSelection.activeGameObjectEditorUtility.OpenFolderPanelEditorUtility.DisplayDialog原创 2021-03-24 17:59:53 · 223 阅读 · 0 评论 -
关于List排序sort四种方法得使用
public void Sort(); public void Sort(Comparison<T> comparison); public void Sort(IComparer<T> comparer); public void Sort(int index, int count, IComparer<T> comparer);四种方法介绍public void Sort();这一种是不带参数得,但是对于list类型有限制,Lis...原创 2021-03-23 17:51:23 · 3916 阅读 · 0 评论 -
绘制三角面
如果是顺时针绘制则是正面,如果逆时针绘制将是背面原创 2021-03-03 17:25:13 · 173 阅读 · 2 评论 -
代码创建addressables Group
#if UNITY_EDITORusing System;using System.Collections.Generic;using System.Reflection;using UnityEditor;using UnityEditor.AddressableAssets;using UnityEditor.AddressableAssets.GUI;using UnityEditor.AddressableAssets.Settings;using UnityEngine;nam原创 2021-03-02 10:29:58 · 1008 阅读 · 0 评论 -
Unity 全局搜索物体
GameObject go = GameObject.Find("Cube").transform.gameObject; GameObject go1 = transform.Find("Cube").gameObject;GameObject.Find 如果物体是没有激活得 那么不会报空值,依然可以找到Transform.Find 如果物体是没有激活得 那么会报空值...原创 2021-02-26 17:34:58 · 1181 阅读 · 0 评论 -
@字符的作用
一 字符串中的用法字符@表示,其后的字符串是个“逐字字符串”(verbatim string)。@只能对字符串常量作用。1.用于文件路径string s_FilePath =“C:\Program Files\Microsoft.NET\test.txt”;相当于string s_FilePath =@“C:\Program Files\Microsoft.NET\test.txt”;@是取消字符串中的转意符。比如不加@的字符串,"\a\n"C#会解释成一个\和一个a再加一个换行,如果加了@,原创 2021-02-08 14:47:16 · 1198 阅读 · 0 评论 -
日记
[ExecuteInEditMode]原创 2021-02-05 13:53:09 · 115 阅读 · 0 评论 -
日记
EditorPrefs.SetString("testKey", "value"); string strtest = EditorPrefs.GetString("testKey"); EditorPrefs.DeleteKey("testKey");原创 2021-02-04 15:51:57 · 112 阅读 · 0 评论 -
using UnityEditor.Callbacks
脚本编译完成后的回调 [DidReloadScripts]注意:方法必须是static原创 2021-02-04 15:45:47 · 456 阅读 · 0 评论 -
c# - 美元符号是什么$
插值字符串表达式通过用表达式结果的ToString表示替换包含的表达式来创建字符串。c# - 美元符号是什么$加了美元符号$能直接取{}里面的值它看起来很像String.Format()占位符,但它不是索引,而是花括号内的表达式如果加了美元符号 则{t} 会输出100 如果不加 则相当于字符串直接输出...原创 2021-02-04 15:33:02 · 2096 阅读 · 0 评论 -
正则表达式
string msg = "1111你好哈哈123"; string regex = "[0-9]";//匹配字符串中所有数字部分 上面的1111 和 132 都将匹配到 string regex1 = "[^0-9]";//匹配字符串中除数字以外部分 上面的你好哈哈将匹配到 string regex2 = "[0-9.]";//匹配所有数字包括小数点 msg = Regex.Replace(msg, regex, "test");//第三个参数是 将匹配到的字...原创 2021-02-04 15:08:35 · 119 阅读 · 0 评论 -
两种单例 类单例和继承Mono得单例
//单纯得类单例public class Singonton<T> where T:new(){ public static T instance; public static T Instance { get { if (instance == null) { instance = new T(); } r原创 2021-02-04 10:36:20 · 193 阅读 · 0 评论 -
Unity加载AB包的方式
第一种AssetBundle.LoadFromFile(AssetBundlePath); 直接加载本地文件 此方法为同步加载异步加载本地文件使用协程AssetBundleCreateRequest bundleLoadRequest = AssetBundle.LoadFromFileAsync(AssetBundlePath);yield return bundleLoadRequest;var myLoadAssetBundle = bundleLoadRequest.assetBundl原创 2021-02-01 15:42:49 · 1351 阅读 · 0 评论 -
通过TryParse 或者 TryGetValue 可以判断是否有值
Dictionary<string, int> dic = new Dictionary<string, int>(); float.TryParse("1236", out float result); dic.TryGetValue("linch", out int t);通过TryParse 或者 TryGetValue 可以判断是否有值原创 2021-01-20 14:46:49 · 257 阅读 · 4 评论 -
值类型和引用类型 关于字符串
string strValue = “BeforeString”;StringBuilder sb = new StringBuilder(“BeforeStringBuilder”);string[] strs = new string[] {“lch”,“lchniubi”,“huihui” };void Start(){string str = strValue;Debug.Log(strValue);str = “12354”;//修改了临时变量 原来得值不会改变Debug.Log原创 2021-01-27 10:46:43 · 226 阅读 · 0 评论 -
Unity AssetBundle打包
BundleBuildParameters param = new BundleBuildParameters(platform, group, m_outputPath);param.BundleCompression = platform == BuildTarget.WebGL ? BuildCompression.LZ4Runtime : BuildCompression.LZ4;IBundleBuildContent content = new BundleBuildContent(abb);原创 2021-01-22 16:08:38 · 752 阅读 · 0 评论 -
关于Unity通过 Assetbundle加载资源 代码
//通过加载本地ab包 加载资源 asset = AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/Window/Res/Cube.u3d");//注意 ab包要加后缀 Instantiate(asset.LoadAsset<GameObject>("Assets/Res/Cube/Cube.prefab"));//注意这里资源要加后缀 新版本得加载方式需要加后缀否则报空找不到 Instan...原创 2021-01-22 15:00:44 · 411 阅读 · 1 评论 -
关于ScriptableObject
public class TEST{[MenuItem(“LCH/lch/test”, false, 0)]public static void NM(){//创建一个ScriptableObject实例//testScriptableObjec tt = ScriptableObject.CreateInstance();//tt.test();//调用ScriptableObject序列化数据//string file = “Assets/” + “test.asset”;//Asse原创 2021-01-21 18:41:59 · 187 阅读 · 2 评论 -
左移 右移操作符
1.左移(<<)将所有的位都向左移动指定的次数,空出的位置补0左移相当于乘,左移一位相当于乘2,左移两位相当于乘4,左移三位相当于乘82.右移(>>)将所有的位都向右移动指定的次数,空出的位置补0右移相当于整除,右移一位相当于除以2,右移两位相当于除以4,右移三位相当于除以8左移右移 在Unity的射线检测层的时候经常用 layer层级也是指数来的1 2 4 8 168>>2 1右移两位 相当于除以2的2次方 8>>2结果为22<原创 2021-01-14 13:58:58 · 1050 阅读 · 0 评论 -
日记
Encoding.UTF8.GetBytes(string)BitConverter.GetBytes(int)Buffer.BlockCopy()原创 2021-01-14 11:43:23 · 84 阅读 · 0 评论 -
using Newtonsoft.Json;
[JsonObject(MemberSerialization.OptIn)]//默认情况下,所有的成员不会被序列化,类中的成员只有标有特性JsonProperty的才会被序列化,当类的成员很多,但客户端仅仅需要一部分数据时,很有用public class testData{[JsonProperty]public string name;public int index;public Vector3 pos;public Color color;public bool isOn;}Op原创 2021-01-08 16:58:02 · 1339 阅读 · 0 评论 -
list 排序
List<int> list = new List<int>() { 3, 5, 2, 4, 1 }; list.Reverse();//1 4 2 5 3 //反转 list.Reverse(0,3);//2 5 3 4 1 // 指定位置 个数反转 从第一个位置 反转数量为3 list.Sort();//1 2 3 4 5 默认是升序 list.Sort((a, b) => a.CompareTo(b));//升序 lis...原创 2021-01-06 16:49:34 · 172 阅读 · 0 评论 -
Unity 负无穷 正无穷
float.PositiveInfinityfloat.NegativeInfinity原创 2021-01-06 15:43:52 · 972 阅读 · 0 评论 -
判断字符串是否为空 API string.IsNullOrEmpty
测试结果Debug.Log(s == null);//trueDebug.Log(ss == null);//falseDebug.Log(sss == null);//falseDebug.Log(string.IsNullOrEmpty(s));//trueDebug.Log(string.IsNullOrEmpty(ss));//falseDebug.Log(string.IsNullOrEmpty(sss));//true测试总结: 如果判断字符串 是否为空null 只要字符串没有.原创 2020-12-25 11:19:49 · 632 阅读 · 0 评论 -
牛逼的插件可以用来播放gif webp图片
private WebpTest mWebpTest;private void Awake(){ mWebpTest = transform.gameObject.AddComponent<WebpTest>(); mWebpTest.image.Add(GameObject.Find("RawImage").GetComponent<RawImage>());}导入资源包 挂上WebpTest 脚本即可要资源包的联系v:GRAYLCH...原创 2020-12-24 11:26:14 · 621 阅读 · 0 评论 -
Unity 中打开文件窗口
using System.Runtime.InteropServices;using System;[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]public class FileDialogStruct{public int structSize = 0;public IntPtr dlgOwner = IntPtr.Zero;public IntPtr instance = IntPtr.Zero;public原创 2020-12-23 14:37:03 · 1047 阅读 · 0 评论 -
单例编写
static FloorHintMgr _instance;public static FloorHintMgr Instance { get { if (_instance == null) { _instance = GameObject.FindObjectOfType<FloorHintMgr>() ?? new GameObject("FloorHintMgr").AddComponent原创 2020-12-22 17:11:30 · 96 阅读 · 0 评论 -
Unity中随机数 写法
UnityEngine.Random.InitState(10);//带有种子的 10就是种子 每次随机结果都一样 Debug.Log(UnityEngine.Random.Range(10, 100000)); UnityEngine.Random.InitState();//如果不带种子 每次随机结果就不一样 Debug.Log(UnityEngine.Random.Range(10, 100000));C# 同理C#中的随机数System.Random ra...原创 2020-12-22 10:32:41 · 696 阅读 · 0 评论