自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (1)
  • 收藏
  • 关注

原创 Unity-使用系统字体

必须是TMP 3.2以上版本。

2022-09-28 19:42:59 3735 1

原创 UnityAPI-Camera

(保留一位小数,四舍五入)

2022-09-27 10:56:33 651

原创 Unity-性能优化

打开 window -->Rendering(渲染) -->Occlusion Culling(遮挡剔除)设置需要剔除的物体的Static,勾选Occluder Static 和 Occludee Static。创建一个Occasion Area,设置Area范围 ,即相机可移动或者可以剔除的范围。禁用时:(Batches)DrawCalls 为 83。启用时:(Batches)DrawCalls 为 7。合并当前对象及所有子对象的蒙皮网络进行合并。在可视化中点击摄像机查看效果。为对应相机勾选遮挡剔除。

2022-09-27 10:56:11 1142

原创 Unity-ProBuilder

在内置包管理器中直接安装 ProBuilder。Tools(工具)-> ProBuilder -> ProBuilder Window打开窗口面板。右键窗口面板,可选择显示以图标模式或文字模式。可安装ProGrids -> ProGridsWindow 替换自带的网格显示(在预览包中,-/=快速调整大小)在首选项 -> ProBuilder 中自定义UI参数。

2022-09-27 10:55:25 4239

原创 Unity-Xlua

在右侧 Releases 中获取导入包中 Assets 文件夹下的Plugins和XLua使用方法AddLoader添加加载路径函数,返回值为脚本数据,入参为 require 路径使用获取路径下脚本文本,使用将文本转化为字节数组// 创建 LuaEnv 类 LuaEnv luaEnv = new LuaEnv();// 释放 luaEnv . Dispose();}通过反射,在一个静态类的静态字段或属性里配置一个列表,属性可以用于实现的比较复杂的配置,比如根据命名空间做白名单。

2022-09-27 10:55:08 1439

原创 Unity-timeline(时间线)

Timeline是一套基于时间轴的多轨道动画系统,它支持可视化编辑,实时预览。这一个技术相对于其他动画系统,最大的区别就是,Timeline可以针对多个游戏物体做出的一系列动画,主要用于过场动画的制作,实现电影级的那种分镜效果。简单来说,它用于模拟类似pr的演出效果。

2022-09-27 10:54:31 4315

原创 Unity-网格编程

模型是由点和面构成的,每三个点构成一个三角面。根据三个顶点排列的顺序,根据左手定则决定三角面的正反面三角形序列是一组int数组,数组元素数量为3的倍数,表示三角形的顶点 对应的顶点IDUnity想要显示一个模型,必须在对象上挂载组件Mesh Filter(网格过滤器)与Mesh Renderer(网格渲染器)

2022-09-27 10:53:57 1628 1

原创 Unity--AB包管理插件-xasset

将xasset目录中的Settings文件,Script Play Mode选项卡设置为Inrement,模拟真实AB包读取。(这会导致每次开始运行时提示将数据迁移到streaming asset)创建SplitConfig文件,在xasset目录中选中Settings文件,将创建的SplitConfig文件赋值给对应参数。创建Build文件,将Group放入Groups菜单中。

2022-09-27 10:53:36 2365

原创 Unity-URP

SRP:可编程渲染管线剔除 culling渲染 rendering后处理 postprocessingURP 通用可编程渲染管线使用SRP之后,由RenderPipelineAsset创建RenderPipeline,每帧走RenderPipeline.Render()URP内部RenderData创建Renderer,Camera可以指定使用的Renderer。

2022-09-27 10:52:40 9307 1

原创 Unity-UGUI

1. 控件值改变的入参Single为float,选择最上方Dynamic中的方法2. Button控件方法描述onClick.AddListener()添加监听点击的事件3. Slider控件方法描述onValueChanged.AddListener(float)添加监听值改变的事件4. Dropdown控件方法描述onValueChanged.AddListener(int)添加监听值改变的事件5. Toggle

2022-09-23 11:26:14 1116

原创 Unity-Tilemap 瓦片地图

1. 平铺调色板用来在瓦片地图上进行绘制的调色板,里面装有预制好的瓦片。使用吸管框选范围来仿制图章。2. 瓦片由图片精灵或2D纹理构建的瓦片,可以直接将图像拖入进行预制。为了保证每个精灵填满瓦片,需要将每单位像素数和单位精灵大小保持一致若瓦片碰撞器类型为精灵,那么单位碰撞会与图像边缘严丝合缝,若为网格,碰撞器将为单元格大小,若为无,该单位不会参与碰撞运算3. 地形绘制将在调色板中的瓦片选中,便可直接在场景的地图上绘制。Grid中单元格重排,以及 Tilemap中的方向 两项,可以

2022-09-19 10:42:53 1860

原创 UnityAPI-UnityWebRequest

1. 创建连接// 以下两种方式等价new UnityWebRequest(url);UnityWebRequest.Get(url);2. 设置http传输的表头www.SetRequestHeader("User-Agent", "Mozilla / 5.0(Windows NT 10.0;WOW64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 75.0.3770.100Safari / 537.36");www.SetRequestH

2022-09-19 10:42:20 972 1

原创 通用设计模式

1. 设计原则1. 开闭原则核心:面对需求,对程序的改动是通过增加新代码进行的,而不是改变原来的代码。原因:修改原本封装好的代码,可能会导致原本正常的代码变得无法正常运行,而且会变乱在开闭原则的定义中,软件实体可以指一个软件模块、一个由多个类组成的局部结构或一个独立的类。抽象化是开闭原则的关键。开闭原则还可以通过一个更加具体的“对可变性封装原则”来描述,对可变性封装原则要求找到系统的可变因素并将其封装起来。2. 依赖倒转原则核心:代码要依赖于抽象的类,而不要依赖于具体的类;要针对接

2022-09-09 18:01:57 1488

原创 unity-shader(中级)

与深度测试,透明度测试类似,决定一个片元是否被扔掉。深度测试的比较数据在深度缓冲中,透明度测试的比较对象是颜色缓冲中的值,而模版测试的比较数据在Stencil中,并且模板测试要先于深度测试与透明度测试,在fragment函数之前就会执行模板测试。参数描述Ref就是参考值,当参数允许赋值时,会把参考值赋给当前像素ReadMask对当前参考值和已有值进行mask操作,默认值255,一般不用WriteMask写入Mask操作,默认值255,一般不用Comp比较方法。CompAlways。......

2022-07-27 12:15:32 2983

原创 unity-shader(入门)

Legacy Shaders/Particles/Additive 实现部分叠加效果,并非完全叠加,没有Addtive明亮,颜色更加接近贴图自身的颜色。 半透渲染效果。Sprites/Diffuse 使图像接受全局光

2022-07-13 10:29:19 7461 1

原创 极简式 Unity 获取 bilibili 直播弹幕、SC、上舰、礼物等 插件

下载链接软件均仅用于学习交流,请勿用于任何商业用途!该项目为Unity实时爬取B站直播弹幕。如需释放监听,可使用 DisConnect 方法释放。定时监听房间人数该函数每隔一段时间调用,其入参为当前房间人数(热度)。监听指定内容以下是个函数为主要监听使用函数,其入参分别为对应监听事件的相关信息结构体。VS中按下 Ctrl+左键 即可了解以下结构体提供的具体信息。4. 示例启动脚本4. 运行截图...

2022-06-03 23:06:32 5990 9

原创 零基础学习算法:动态规划-01背包问题

1. 原题假定现有物品:名称重量价值1. 苹果1152. 香蕉3203. 西瓜430背包容量为 4 ,求背包能装的最大价值。2. 牺牲空间换时间的动态规划想要求解01背包,我们可以先建立一个二维表容量0容量1容量2容量3容量4考虑前0个考虑前1个考虑前2个考虑前3个所谓容量x:指该容量下的背包(例如:容量3->指背包容量为3的背包)所谓考虑前x

2022-05-28 20:48:43 501

原创 lua编程

1. 安装下载:https://github.com/rjpcomputing/luaforwindows/releases在vscode中使用lua编译:https://blog.csdn.net/qq_39097425/article/details/103498944https://www.jianshu.com/p/6bb906b4023b2. 使用lua和python一样,变量都不需要声明,直接赋值就可以了,但是删除的时候有点区别,lua将对象置为 nil达到删除变量的目的。

2022-05-16 22:44:40 1288

原创 Unity-Post Processing

1. 基础使用在Package Manager 中安装 Post Processing在 Project 中创建 Profile 配置文件创建空物体,并添加 Post Process Volume 组件将配置文件拖拽到 Volume 组件上,勾选 isGlobal 全局响应将创建的空物体右上角定义为 Post Process Layer选中主摄像机,添加 Post Process Layer 组件,并在组件中选择刚创建的 layer 层2. 基础使用Ambient Occlusion

2022-05-16 22:44:29 873

原创 Unity-3D数学

/// <summary>/// 计算直线与平面的交点/// </summary>/// <param name="point">直线上某一点</param>/// <param name="direct">直线的方向</param>/// <param name="planeNormal">垂直于平面的的向量</param>/// <param name="planePoint">平面上

2022-05-16 22:44:11 1727 1

原创 Unity-编辑器扩展(Editor)

1. 窗口形式主面板using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;public class AudioWindowEditor : EditorWindow{ static SaveData data; string path = "Assets/Resources/MainData.asset"; string text;

2022-05-16 22:43:44 3976

原创 Unity-PlayMaker

1. 基本使用PlayerMaker->PlayerMaker Editor 打开面板选中要应用PlayMaker的物体,在state面板中右键添加state,为其创建两个状态在event中Add Event,为状态机添加两个事件。其尾部的Used表示被使用次数。回到state面板,右键一个state,在 Add Transition 中为state添加一个刚才在event中添加的事件。如果想删除这个添加的事件,可以右键事件点击Delete Transition点击state上添加的事件

2022-05-16 22:43:37 3239

原创 Unity-Ads广告插件

1. 开始准备在包管理器中,选择 Advertisement 并导入,将广告插件引入工程。在官方的平台 链接 上,登录自己的unity账号为你的创建一个工程,并设定是否针对13岁以下儿童展示。点击左下角的 monetization (ad Units),点击 Enable Abs 启用广告。Mediation Partner 设定是否除了Unity广告外还囊括了其他广告编译器内点击右上角 云 ,选择广告。随后 使用现有账户->用户->工程->连接!这时便已经开启了广告功能

2022-05-16 22:42:57 2091 1

原创 C#高级教程

1. StringBuilder类高性能的字符串控制类,反复修改添加字符串时使用// 新建一个StringBuilder类StringBuilder sb1 = new StringBuilder("Hello World");StringBuilder sb2 = new StringBuilder(20);StringBuilder sb3 = new StringBuilder("Hello World", 20);方法功能Append(string)在尾部追加字符

2022-05-16 22:42:27 2206

原创 TypeScript

1.基础使用建立 *.ts 文件cmd运行 tsc *.ts 来进行编译2.数据类型可在赋值时定义数据类型,也可令其自动声明数据类型let a = 123;let a :Number = 123;let a :Number[] = [123];定义函数参数数据类型,及其返回值function sum(a: number, b: number): number { return a + b;}any 类型为任意类型,可以赋值给任意变量,unknown 不能赋值给

2022-05-16 22:42:05 294

原创 Unity插件-FairyGUI

1. 准备安装FairyEditor作为该GUI的编辑工具为对应平台安装对应的SDK2. 基本使用右键资源中的package以新建组件,其功能类似于添加面板。图像文件可直接拖拽进编辑器中以导入。在 文件设置->快捷菜单 中,编辑每行记录来定义多种预设。3. 组件与元件组件是基本容器,用来显示其他对象,类似于unity中的panel点击面板以外的部分,来对组件进行设置检查器->设计图:作为打底的半透明图,来作为设计时的参考元件是图像,文本等,组合型元件是指如下拉列表

2022-05-16 22:41:41 1109

原创 SpringBoot 入门教程

1. 初始化项目在IDEA中新建新模块。为其空模块的配置文件(pom.xml)中添加两个项目依赖。(注意:在设置中->将jdk版本改为1.8) <!-- spring boot 工程需要继承的父工程--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifact

2022-05-16 22:41:25 107

原创 MMD->Unity一站式解决方案

1. 准备工作1. 准备模型你需要准备来自MMD的模型,或任意其他可在Unity中使用的模型获取来自MMD的模型方法有很多,比如 bowlroll 、aplaybox(模之屋)。针对其他模型的获取,你也可以前往 booth 获取对应模型。2. 准备动作与相机动作模型分为三类,舞蹈动作、手部/面部动作、以及镜头动作通常来说,这些动作的文件后缀为vmd。你可以前往 bowlroll 、aplaybox(模之屋) 获取动作。3. 各种插件的获取mmd的pmx模型转fbx:ster

2022-04-30 15:56:18 5544

原创 Unity-存档与读档

1. PlayerPrefs。采用键值对的方式对数据进行存储。PlayerPrefs.SetInt("Index",1); // 可以存储Int, Float, String类型的数据。PlayerPrefs.SetFloat("Height",183.5f); PlayerPrefs.SetString("Name","Tom");// 查看数据是否存在if (PlayerPrefs.HasKey("Index")) // 获取数据: PlayerPrefs.GetInt("Index"

2022-01-15 23:32:56 1656

原创 Unity Line-Renderer

绘制线条的组件1. 参数列表参数名描述大小绘制线条关键点的数量,将点依次连接颜色绘制线条的颜色角顶点折点处顶点数量末端顶点末端处顶点数量

2021-09-28 09:05:32 644

原创 冷读123

1、有时会出现不切实际的奢望。2、有时候很外向,与人侃侃而谈;有时很内向,遇事谨慎。3、认为自己很理性,不会无根据的相信他人的观点。4、喜欢不同程度上的变化和自由,但内心也会感到烦恼和不安。5、虽然性格上有点缺点,但总体上还是比较好的。6、体内有未被激发的潜力。7、在某些方面对自己很严格。8、希望被人喜欢,认可,且十分强烈。9、性生活方面有不满意的地方。10、你是一个比较高傲和喜欢追求个人价值的人,面对未来他也不例外,而当对方不确定时,你的内心就犹豫,是这样么?11、其实面对自己的真心

2021-08-16 04:13:39 1942

原创 Unity插件-NGUI

1. 基本使用NGUI -> 选项 -> Reset Perfab Toolbar,显示预制体UI组件,可以直接拖拽到场景中。使用NGUI,必须要有一个UIRoot作为父组件在场景中的UIRoot中右键单击,然后点Create来创建组件。注意:必须将Panel展开,否则无法进行该操作...

2021-05-28 13:32:14 881

原创 UnityAPI-Ray-Physics

Ray变量变量描述origin射线起始点direction射线方向(单位距离)RaycastHit变量变量描述collider碰撞器point碰撞点rigidbody碰撞刚体distance射线长度normal射线碰撞面的法线collider.gameObject 获得这个对象............

2021-05-15 21:00:58 252

原创 UnityAPI-SceneManager

使用前需先引入:using UnityEngine.SceneManagement1. SceneManager.LoadScene(string, LoadSceneMode)加载场景,并决定当前场景是否保留LoadSceneMode是枚举类型类型描述Additive加载场景保留当前场景Single加载场景清除当前场景2. SceneManager.LoadSceneAsync(string, LoadSceneMode)协程加载场景返回:AsyncOper

2021-05-15 19:35:13 987

原创 UnityAPI-RigidbodyConstraints(刚体)

一、变量变量描述freezeRotation冻结旋转position位置rotation旋转二、方法方法描述MovePosition(Vector3)立刻应用碰撞器的位置移动,移动更加流畅MoveRotation(Quaternion)立刻应用碰撞器的旋转,旋转更加流畅...

2021-05-14 22:57:12 332

原创 UnityAPI-Quaternion(四元数)

获取对象自身的四元数:transform.rotation一、静态变量静态变量描述value一个在0~1之间的随机小数值rotation生成随机四元数insideUnitCircle生成向量长度小于等于1的随机二维向量insideUnitSphere生成向量长度小于等于1的随机三维向量......

2021-05-14 18:02:52 276

原创 UnityAPI-Random

一、静态变量静态变量描述value一个在0~1之间的随机小数值rotation生成随机四元数insideUnitCircle生成向量长度小于等于1的随机二维向量insideUnitSphere生成向量长度小于等于1的随机三维向量二、静态方法方法描述Range(int, int)生成范围内的随机数(不包括最大值)Range(float, float)生成范围内的随机数(不包括最大值)InitState(int)设置随

2021-05-13 23:33:49 124

原创 UnityAPI-Vector2

一、静态变量静态变量描述down(0, -1)left(-1, 0)right(1, 0)up(0, 1)zero(0, 0)one(1, 1)二、变量变量描述magnitude向量的长度normalized单位化向量的值sqrMagnitudex的平方加上y的平方(用来比较两个向量的长度,更加节省性能)xx坐标yy坐标三、方法方法描述Normalize(

2021-05-12 17:30:01 2508

原创 Unity特性-编辑器扩展

1. ExecuteInEditMode用来让类可以在编译器模式下运行[ExecuteInEditMode]public class Test : MonoBehaviour{ void Update() { Debug.Log("ExecuteInEditMode"); }}2. SerializeField强制unity去序列化一个私有域,让它在编译器中可见[SerializeField] private float time;3. Sys

2021-05-12 10:27:24 420

原创 UnityAPI-Input输入类

一、静态方法方法名描述Input.GetKey(KeyCode)按钮处于按下状态Input.GetKeyDown(KeyCode)按下按钮Input.GetKeyUp(KeyCode)抬起按钮方法名描述Input.GetMouseButton(Int)鼠标处于按下状态Input.GetMouseButtonDown(Int)按下鼠标Input.GetMouseButtonUp(Int)抬起鼠标0 -> 表示鼠标

2021-05-12 09:19:12 265

liluo-common正式版

renpy的动画框架集 或转爱发电 https://afdian.net/p/fdb6c3b6d51a11eeaaca5254001e7c00

2021-01-03

空空如也

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

TA关注的人

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