自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 【无标题】

啊2截屏偶就跑就242412卡就24jijijiojef

2023-02-02 13:09:20 552

转载 Unity学习笔记 AB包(看了几眼)

从官网复制黏贴的 Unity之AB包AssetBundle 工作流程要开始使用 AssetBundle,请按照以下步骤操作。有关每个工作流程的更多详细信息,请参阅本文档这一部分的其他页面。为 AssetBundle 分配资源要为 AssetBundle 分配指定资源,请按照下列步骤操作:从 Project 视图中选择要为捆绑包分配的资源。在 Inspector 中检查对象。在 Inspector 底部,有一个用于分配 AssetBundle 和变体的部分。可使用左侧下拉选单分配 AssetB

2021-05-12 16:49:44 1347

原创 XLUA学习笔记

XLua框架快速起步using System.Collections;using System.Collections.Generic;using UnityEngine;using XLua;public class HelloControl : MonoBehaviour{ // Start is called before the first frame update LuaEnv luaEnv; void Start() { luaEn

2021-05-09 23:05:23 351

原创 Lua学习笔记

lua学习命名规范数据类型Str1="Hello";Str2="World";NumArray={1,2,3,4,5};Bool=trueNumber=0.1Nil=nilfunction Fun1() return 10endprint("类型")print(type(Str1))print(type(NumArray))print(type(Bool))print(type(Number))print(type(Nil))print(type(Fun1))

2021-05-04 23:04:54 550

原创 C#学习笔记13 集合框架(未完成 线程安全的还没总结)

C#学习笔记13 集合框架概念System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。System.Collections.Generic 命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比非泛型强类型集合更好的类型安全性和性能。System.Collections.Specialized 命名空间包含专用的和强类型的集合,例如,链接的列表词典、位向量以及只包含字符串的集合。文档中的扩展方法大多数

2021-05-03 23:00:41 192

原创 C# 学习笔记14 再战多线程Lock

C# 学习笔记14 再战多线程Lock参考参考:https://blog.youkuaiyun.com/weixin_39839541/article/details/111845549?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_v2~rank_aggregation-1-111845549.pc_agg_rank_aggregation&utm_term=volatile%E

2021-05-03 22:11:13 400

转载 C#学习笔记12 IO

本篇一,二,三基于https://www.cnblogs.com/c7jie/p/12799728.html ,一 入门1. 什么是I/O在C# 中,I/O体系整体分为三个部分,后台存储流、装饰器流、流适配器,具体划分如下图所示:2.Stream 基类C#中,所有流都是继承自Stream类,Stream类定义了流应该具有的行为和属性,使得开发人员可以忽略底层的操作系统和基础设备的具体细节。C#对流的处理忽略了读流和写流的区别,使其更像是一个管道,方便数据通信。流涉及到三个基本操作:读取 -

2021-05-02 23:01:23 393

转载 C# 学习笔记整理篇11 LINQ

Linq(基于他人)基础正如前言所述,Linq是一种对集合、数据源的集成式查询方式,它是对IEnumerable<T>的扩展方法集,所以想要使用Linq的话,需要引用两个命名空间 System.Linq和System.Linq.Expressions。Linq有两种使用方式,一种是通过方法链的方式调用,一种是类似SQL语句的方式进行数据查询。方法链是基础,类SQL方式是语法糖。下面简单介绍一下两种方式的使用,不过首先先假设我们有一个数据很多的集合:IEnumerable<int&g

2021-05-02 20:53:11 236

原创 十种排序算法

十种排序算法排序我干你!4月22日去两次面试,都问了冒泡排序,我才发现自己连冒泡排序都不会,唉。多益的笔试,考得我更加怀疑人生了,靠了各种排序算法的复杂度,特点等,比如某某排序在什么情况下最坏,在什么情况下最好等。心情很丧现在,唉。冒泡排序就是让最大值一个个冒出来。选择排序(最烂的排序 好就好在容易写吧)这货最普通,第一个位置,找到最小的,然后把他换到第一个位置上第二个位置,找到最小的,然后把他换到第二个位置上选择排序的不稳定例子很简单。比如A 80 B 80 C 70 这三个卷

2021-04-26 14:38:45 183

原创 设计模式-构建型

设计模式-构建型构建型,嗯,就是为了更好的实例化。SOLID设计原则开闭原则:一个软件实体如类、模块和函数应该对修改封闭,对扩展开放。单一职责原则:一个类只做一件事,一个类应该只有一个引起它修改的原因。(不懂)里氏替换原则:子类应该可以完全替换父类。也就是说在使用继承时,只扩展新功能,而不要破坏父类原有的功能。依赖倒置原则:细节应该依赖于抽象,抽象不应依赖于细节。把抽象层放在程序设计的高层,并保持稳定,程序的细节变化由低层的实现层来完成。迪米特法则:又名「最少知道原则」,一个类不应知道自己操作

2021-04-22 21:28:33 127

原创 Unity 2Drpg

乱七八糟的东西格子像素数格子像素点这里格子像素数是指这个格子有多少个像素素材处可以设置素材的格子像素数材料切割single整体的,multiple多重组成的,plygon多边形。这里选择multiple,然后点击Sprite Editor点击右上Slice,选择Type,Automatic,Automatic是自动切割,会帮你吧图形完整切割好,Grid by Cell Size是按照单元像素数切割,第三个不知道。这里使用Grid by Cell Size,设置像素点大小后,切割即可。W

2021-04-18 21:54:50 1032

原创 新Unity学习笔记3D RPG项目(没钱教教程费站告一段落)

新Unity学习笔记URP(通用渲染管线)安装URP新建URP Setting文件在project setting中设置渲染管线为新建的URPSetting在Edit中将项目升级为URP(需不需要安装包UPR场景导入支持不清楚)Polybrush(类似terrain的地形调整)根据RP选择导入Probuilder(提高顶点数)跟Polybrush一样,注意选择URP支持图标显示按shife键可以显示功能增强PreGrid(这是一个preview,所有需要额外设置,2021版的Unit

2021-04-14 22:52:56 883 1

原创 Unity学习笔记 一些简单的API

API1MonoBehaviourcomponentUnity框架很奇葩,应该是创建MonoBehaviour对象的时候,已经把游戏对象中的所有继承component的类的 引用放入其中,所有MonoBehaviour可以直接获得其他component。Transform移动、旋转、公转位置关于父物体解除所有的子物体的父子关系位置关于子物体的Find可以使用 / 表示下一层,否则只招一层结合find和childCount可以进行深度搜索GameObjects实际

2021-04-11 22:54:50 159

原创 Unity 学习笔记 生命周期、鼠标操作,摄像机(未完成)

生命周期加载第一个场景场景开始时将调用以下函数(为场景中的每个对象调用一次)。Awake:始终在任何 Start 函数之前并在实例化预制件之后调用此函数。(如果游戏对象在启动期间处于非活动状态,则在激活之后才会调用Awake。)(如果enabled是false,那么大多数生命周期都不会调用,抱回下面的OnEnable)OnEnable:(仅在对象处于激活状态时调用)在启用对象后立即调用此函数。在创建 MonoBehaviour实例时(例如加载关卡或实例化具有脚本组件的游戏对象时)会执行此调用。O

2021-04-10 22:42:14 316

原创 Unity 学习笔记 看不懂

光照系统官网(看不懂)光照简介本页将介绍 Unity 中光照的工作方式。Unity 中光照的工作方式类似于光在现实世界中的情况。Unity 使用详细的光线工作模型来获得更逼真的结果,并使用简化模型来获得更具风格化的结果。直接和间接光照直射光是发出后照射到表面一次再被直接反射到传感器(例如眼睛的视网膜或摄像机)中的光。间接光是最终反射到传感器中的所有其他光线,包括多次照射到表面的光线和天光。为了获得逼真的光照效果,需要模拟直射光和间接光。Unity 可以计算直接光照和/或间接光照。Unity 使

2021-04-09 22:31:38 783

原创 Unity学习笔记 优化(遮蔽剔除,LOD)

优化遮挡剔除(Occlusion Culling)Unity 场景遮挡剔除实践总结一、步骤概览场景导入设置遮挡物(Occluder static)和被遮挡物(Occludee static)的状态(static)建立遮挡剔除区域(没有建立的话默认是场景本身),打开Window/Rendering/Occlusion Culling面板中的 Object——> SceneFilter ——>OcclusionAreas烘焙场景(Window/Rendering/Occlusion

2021-04-08 22:58:59 1554

转载 Unity 学习笔记 渲染管线(未完成 未看完)

渲染管线齐次坐标作用:区分向量和坐标向量补0,点补1。进行仿射变化(Affine Transformation)图形渲染管线主要包括两个功能:将物体3D坐标转变为屏幕空间2D坐标,为屏幕每个像素点进行着色。渲染管线的一般流程顶点数据的输入、顶点着色器、曲面细分过程、几何着色器、图元组装、裁剪剔除、光栅化、片段着色器以及混合测试。如下图所示渲染管线的一个特点就是每个阶段都会把前一个阶段的输出作为该阶段的输入。例如,片段着色器会将光栅化后的片段(以及片段的数据块)作为输入进行光照计

2021-04-07 18:22:59 857

原创 Unity 入门学习1 完全没有整理,可以说没什么用的,别看

U3D开发笔记Unity 的界面本部分将详细介绍最常见的 Editor 窗口,以及如何充分利用它们。最常见的窗口处于默认位置(A) 工具栏提供最基本的工作功能。左侧包含用于操作 Scene 视图及其中游戏对象的基本工具。中间是播放、暂停和步进控制工具。右侧的按钮用于访问 Unity Collaborate、Unity 云服务和 Unity 帐户,然后是层可见性菜单,最后是 Editor 布局菜单(提供一些备选的 Editor 窗口布局,并允许保存自定义布局)。(B) Hierarchy 窗口是场

2021-04-06 23:00:08 483

原创 C#学习笔记7 委托

委托委托如果声明在Program里面的话,就需要Program.Calc Calc1=new Calc(XXX)创建委托对象,这就是嵌套声明委托的使用场景模板方法优点这里使用了委托,那么我拓展Produce的 产品的时候,无需在wrapFactory中修改封装的逻辑代码,也无需重复复制黏贴wrapFactory中的代码,只需增加ProductFactory中的生产方法,以及增加主调用方法中的逻辑即可。换个贴近日常写代码的说法,相当于把wrapFactory中可能重复的代码抽离了,不用像

2021-04-06 21:07:06 148

原创 C# 学习笔记0 我还要学啥

仍需学习的集合框架资源上锁LINQDI八大设计模式SOLID设计原则网络编程EF异步编程与并发编程(未完成)内部类的作用原子操作类JAVA与C#区别(未完成)寻址机制https: //docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/operators/stackalloc关于指针和staclalloc和unsafe方法调用栈中内存的分配,关于stack frame的分析 ,形参的压栈是由调用者压的,无论这形

2021-04-06 21:06:37 149 1

原创 C#学习笔记10 泛型,partial,Lambda

泛型泛型无处不在,和谁都有一腿,泛化即模糊抽象化,比如听音乐和听周杰伦的歌,听青花瓷,这就是泛化->特化泛型的重要,除了它无处不再外,常用的数据结构都是泛型的。缺点,泛型T实际上在类中只能当作object使用为什么需要泛型类型膨胀一个商品对应一个盒子,盒子类型膨胀了成员膨胀一个盒子装了苹果后,就不装了,其实这盒子还能装书的,这样就浪费了其他方法如果使用一个接口或者粗俗点用object声明变量,那么使用这对象的时候,需要判断其类型,然后进行类型转换泛型登场拯救世界pu

2021-04-06 21:06:14 184

原创 C# 学习笔记9 接口,反射,单元测试

接口接口和抽象类开闭原则概念开闭原则规定“软件中的对象(类,模块,函数等等)应该对于扩展(增加功能)是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为。对于稳定的,固定的,确定的代码,进行封装。对于不稳地的,有可能改变的,声明为抽象,就留子子子孙孙类实现吧哈哈哈。扩展是指,增加方法,字段等,在一个方法中增加代码不叫扩展,叫修改 。下面代码就是不符合开闭原则的,因为如果增加车辆的话,需要修改父类的Run代码。上面问题我们可以运用重写的多态,遵循开闭原

2021-04-06 21:05:52 254

原创 C#学习笔记8 事件

事件了解事件事件就是拥有者的一个工具,手机(拥有者)拥有震动马达(工具),可以利用马达震动这个事件,通知手机主人(对象2)概念统一下面图都是一个意思,同一对象事件的应用简单例子一个事件多个事件处理器using System;using System.Timers;namespace EventConsole{ class Program { static void Main(string[] args) {

2021-04-06 21:05:35 184

原创 C#学习笔记6 类型转换,异常

类型转换隐式(implicit)类型转换小的数据类型转换成大的数据类型,不丢失精度子类向父类的转换(父类作为变量的化,那么是用不了子类的方法的 白学JAVA了) 这岂不是丢失方法了吗装箱 int x=1; Object=x显式(explicit)类型转换有可能丢失精度甚至发生错误的转换,cast即 JAVA中的强制类型转换 32位强制转16位, 相当于砍掉前16位拆箱,int y=(int) x使用Convert类ToString方法与各类型数据的Parse

2021-04-05 16:05:47 785

原创 C#学习笔记5 操作符

操作符(详细)目录优先顺序由上到下,同一级的由左到右,但是最后的赋值和lambda表达式则从右到左。操作符是函数的简计法,操作符其实就是函数operator 对关键字进行重载操作符是函数的简计法,操作符其实就是函数(.、()、^ 和 .. 运算符无法进行重载。 [] 运算符也被视为非可重载运算符。 使用索引器以支持对用户定义的类型编制索引。)operator 关键字的主要作用是用来重载运算符的,还可以用于类或结构中类型的自定义转换。下面看个例子x.y 成员访问运算符和表达式 .

2021-04-05 16:04:07 282

原创 C#学习笔记4 封装,方法,vs调试

封装概念装箱即封装,封装是为了将数据的一些操作封闭起来,避免不正当操作。比如事件就是对委托的一种封装。装箱与拆箱装箱和拆箱是值类型和引用类型之间相互转换是要执行的操作。装箱在值类型向引用类型转换时发生拆箱在引用类型向值类型转换时发生int x=100然后Object o=x;这时候会在堆内存中开辟一个地址,然后100装箱放入这地址中,最后栈内存中记录地址拆箱 int y=(int)o,找到o在堆内存的值,然后cp到栈内存中装箱操作和拆箱操作是要额外耗费cpu和内存资源的,所以在c# 2

2021-04-05 16:03:24 198

原创 C#学习笔记3 迭代器,为什么需要补码,stack与heap

迭代器 int[] intArray = new int[] { 1, 2, 3, 4, 5 }; IEnumerator enumerator = intArray.GetEnumerator(); enumerator.MoveNext();//刚开始必须移动 返回布尔值 Console.WriteLine(enumerator.Current); enumerator.MoveNe

2021-04-05 16:02:16 121

原创 C#学习笔记2 数据类型

数据类型五大数据类型类型例如类Window,form,console结构体Int32,Int64,Single,Double枚举HorizontalAlignment,Visbility接口委托action action<> func<>类默认构造器会把值类型赋值为0,引用类型赋值为null。当实例没有变量引用时,gc会将其视为内存垃圾,收回,收回会执行实例的析构器 //默认构造器

2021-04-05 16:00:57 249

原创 C# 学习笔记1 编码规范

编码规范花括号1.花括号不能像JAVA那样了(这个看个人风格吧,各有优点,但是vs默认是下面这样的)public static void Main(string[] args) { }2.if这些即使只有一条语句也要用花括号3.右花括号 “}” 后建议加一个注释以便于方便的找到与之相应的 {。如:while(1){ if(valid) { } // if valid else { } // not valid} // end

2021-04-05 16:00:05 164 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除