自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Unity DOTS ECS 1.0版本,海浪Demo

国内2023年6月10日更新了Unity2022的LTS版本,ECS 也发布到1.0.10版本,之前的海浪demo需要升级一下API;

2023-06-10 03:00:29 366

原创 Unity UI ScrollView内item内容完整显示 超框自动滑动

UGUI列表超框内容滑动显示

2022-12-09 23:54:13 870 3

原创 Unity DOTS1.0安装

Unity DOTS1.0版本安装

2022-09-28 20:35:38 1942 3

原创 C语言,i++和++i

MinGW#include <stdio.h>int main() { int i; // ++i 放在一起计算,此处注释里用[]表示 i = 1; i = ++i + i; // 4 = 2 + 2 printf("%d\n", i); i = 1; i = i + ++i; // 4 = 2 +

2022-04-19 19:44:33 1459

原创 Unity DOTS ECS 0.50版本,海浪Demo

国内2022-3-17更新了ECS 0.50版本,目前unity2020.3版本可以用,2021会报错;安装:manifest.json添加下面三行“com.unity.entities”: “0.50.0-preview.24”,“com.unity.rendering.hybrid”: “0.50.0-preview.24”,“com.havok.physics”: “0.50.0-preview.24”,...

2022-03-20 13:20:26 5138 4

原创 UniRx 泛型 Notifier 数据改变时执行方法

using System;using UniRx;using UnityEngine;namespace Test.testUniRx{ public class TestUniRxNotifierT : MonoBehaviour { //[ShowInInspector] public Notifier<Vector3> test = new Notifier<Vector3>(); private Sch

2021-12-28 11:19:20 125

原创 Golang 笔记

适配器函数传参不定长(可变)参数时的细节:package mainimport "fmt"// 适配器函数var bridge = func(call func(...interface{}), args...interface{}) { call(args) call(args...)}func A(args...interface{}) { for i, arg := range args { fmt.Printf("%v, %v\n", i, arg) }}func

2021-10-29 10:13:21 89

原创 Unexpected token / in JSON

ts或js项目报错Unexpected token / in JSON,显示的行数超过我用到的json总行数,猜测是已经加载到json对象,多余解析操作,去掉JSON.parse解决。

2021-10-24 20:09:18 943

原创 Unity小技巧-测试网络客户端项目

网络开发过程中,不需要新建两个项目用同一套Assets,把除了Assets和ProjectSettings以外的文件复制到新文件夹,CMD下用软链接"mklink /j D:\TestClient01\Assets D:\TestClient02\Assets"链接新项目的Assets和ProjectSettings即可,01项目保存场景,02项目Reload就能使用。...

2021-10-16 16:04:47 1346

原创 2021-10-12 puerts热更方案,webstorm下断点调试流程

腾讯出的热更方案puerts,官方示例是vscode下调试,private JsEnv jsEnv; async void RunScript() { jsEnv = new JsEnv(new DefaultLoader("F:/UnityProjects/puerts_unity_demo-master/TsProj/output"), 8080); await jsEnv.WaitDebuggerAsync(); jsEnv.Eval(

2021-10-12 14:53:40 2396

原创 UIImageFilledSide

获取Image在filled模式下当前填充的位置/* ** Created by lvzj** DateTime: 2021-09-21 16:24:51** Description: ui特效跟随fillamount位置*/using System;using UnityEngine;using UnityEngine.UI;// [ExecuteAlways]public class UIFilledExtend : MonoBehaviour{ public Gam

2021-09-18 11:33:17 135

原创 2021-09-10 Unity导出FBX的动画文件

代码如下:using UnityEngine;using UnityEditor;public class AnimationClipTool{ [MenuItem("AnimationClip/ExportAnimFromFBX")] private static void GetFiltered() { var objects = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets

2021-09-10 15:48:06 1175

原创 2021-09-02 Unity项目使用Rider构建ILRuntime的热更项目失败问题记录

在Rider里build热更项目需要用到unity里的dll,选择的.Net版本不对会报错红色地方可以选择查看类型,Framework的版本是4.7.1在Solution下删掉错误的dll引用,右键->delete右键Assemblies或者Dependencies,Add Reference…,选择ScriptAssmblies下的dll,打勾,Add重新build成功...

2021-09-02 17:01:36 1092 3

原创 unity-ECS-DOTS笔记

EntityComponentSystemJobC#虽然支持Thread,但是在Unity中只能处理数据,例如:网络消息、下载。如果想在Thread中调用Unity的API那是不行的。job中使用主线程API会报错:“UnityException: GetKeyInt can only be called from the main thread.” protected override JobHandle OnUpdate(JobHandle inputDeps) {

2021-07-12 12:25:21 190 1

原创 2021-06-29 C# 转义字符取消和使用

C#字符串保留转义字符:string str = @"test String \n \t \";使用@符号,转义字符不执行C#字符串使用转义:Json传输中"“字符经常会被转成”\"使用,解析后的使用方法:string str = @"test String \n \t \";string s = Regex.Unescape(str);Lua字符串保留转义字符:local str = [[test String \n \t \]]...

2021-06-29 17:22:07 1939

原创 Addressable Assets System 项目打包时报错runtimedata is null.

真机运行Addressable加载资源,SRDebbger查看log提示报错runtimedata is null. please ensure you have built the correct player content解决办法:资源首次使用时添加以下代码,例如使用Addressables.InitializeAsync()初始化前;#if !UNITY_EDITOR PlayerPrefs.DeleteKey(Addressables.kAddressablesRuntime

2021-04-26 10:58:27 1563

原创 Unity Asset导入设置

继承AssetPostprocessor相关设置提前处理OnPreprocessTexture导入后的处理OnPostprocessTexture完整代码:using Framework;using UnityEditor;using UnityEngine;namespace Editor.Tools{ public class ImportAssetSettings : AssetPostprocessor { private const string

2021-04-13 16:51:55 543

原创 Unity 动画创建序列帧 代码生成AnimationClip

用Odin创建一个窗口,拖入Sprite生成AnimationClip几个坑点:AnimationClip有个SetCurve方法可以设置曲线,AnimationCurve参数是float类型,动画片段录制的是Sprite属性,没有曲线,需要创建binding;创建EditorCurveBinding类型的binding可以设置value是Object类型的值:type:动画对象身上的组件;propertyName:组件上录制的参数,例如图中的Image.Sprite;获取的是私有成员"m_

2021-04-13 16:41:45 2785

原创 Unity Odin-ProgressBar添加数值栏

Unity插件Odin提供了显示进度条的属性[ProgressBar],但是默认是不显示数值栏,可以自定义修改某些脚本添加数值栏;Odin使用的BaseProgressBarAttributeDrawer<T>来处理多种类型的进度条public class ProgressBarAttributeIntWithValueDrawer : BaseProgressBarAttributeDrawer<int> { protected override int

2021-03-11 16:50:17 328

原创 Cinemachine实现希区柯克变焦效果

创建VirtualCamera,Cinemchine->Create Viritual Camera;设置Follow和LookAt的物体为主角;添加脚本,创建出来的CM vcam的Inspector面板下里CinemachineVirtualCamera脚本上,选择Add Extension->CinemachineFollowZoom;调节CinemachineFollowZoom的Width可改变主角在视野内的大小;...

2021-02-01 10:41:19 515

原创 Jetbrains 软件代码无提示解决办法

网上可以搜到的是Power Save mode模式下的Auto Import冲突,删掉对应的类型可以解决;还有一种情况是开了多个项目,只有其中一个项目不能提示,可以点击File->Invalidat Caches/Restart->INVALIDATE AND RESTART 清除缓存,重启即可。...

2021-01-22 10:46:02 481

原创 RGB 转为灰度值的心理学公式

在sRGB颜色空间下是:luminance=0.299∗color.r+0.587∗color.g+0.114∗color.b在线性颜色空间下是:luminance=0.2125∗color.r+0.7154∗color.g+0.0721∗color.b

2021-01-06 16:12:10 792

原创 Unity 解决Z-fighting

产生问题的原因:3d游戏中当2个片元距离近裁减平面 w 落在同一个区间的时候,他们的深度是相等的,游戏中会出现画面闪烁;解决办法:网上给的解决方案一般是设置深度偏移;由于硬件都只能支持一定的深度格式,也就是说,Depth bits 是一定的,假为 D.而顶点的投影深度则毫无限制,他可以是 near_clip —> far_clip 的任意一个浮点数.因此dw/D = (far_clip – near_clip)/near_clip;在unity中具体修改方法是在场景中找到对应的相机,设置

2020-12-25 11:44:02 1652

原创 Shader笔记(二)

Unity内置光源方向_WorldSpaceLightPos0 是世界空间里第一个光源的方向(当光源为平行光时,存储方向,否则是位置);fixed3 l = norlalize(_WorldSpaceLightPos0.xyz);"l"的结果是从模型位置指向光源的;

2020-12-23 15:12:11 140

原创 图形学笔记(二)

低像素的图像纹理映射到高像素图像上,采用的几种纹理映射方式:取相近像素颜色(Nearest)取所在像素块内的颜色双线性插值取周围像素的插值颜色(Bilinear)红点位置的像素颜色,若取所在像素块内的颜色则为u11;若采用双线性插值的话做三次lerp取颜色得到周围四个像素的插值颜色;(Bicubic)取周围16个像素做插值非常大的纹理映射在屏幕上,导致走样的解决办法出现的问题:在一个像素内,有多个纹理(信号变化快,采样点少),导致走样;解决办法:使用mipmap,不采样;mipma

2020-09-08 23:40:11 226 1

原创 图形学笔记(一)

抗锯齿模糊化处理:时域图模糊化操作一张时域图进行傅里叶变换得到频域,高频部分对应边界值,取低频部分得到模糊图像;时域进行卷积(例如1/9 * (3 * 3)矩阵)取出相邻8个像素的平均值,等于时域进行变换得到频域与相应矩阵变换的频域叉乘;MSAA:把一个像素拆分成多个像素进行二值运算取出占有率分配像素颜色;FSAA:寻找模糊图像的边界值,用算法替换掉锯齿边界;TAA:取上一帧的图像,与当前图像进行计算,取值分配颜色;Super resolution / super sampling 超分辨

2020-09-02 23:39:49 227

原创 Shader笔记(一)

ShaderFixed shader: shader1.0 固定管线Vertex/Fragment shader : shader 2.0 顶点/片段Surface shader :Unity3d 特有的 表面Shader1.0开关式编程最终呈现效果计算公式环境光 * Unity环境光设置 +漫反射 * 灯光的颜色 +镜面反射 * 灯光的颜色 +自发光流水线过程:顶点着色器光栅化片段着色器alpha测试模板测试深度测试blendgbufferframebuffer

2020-09-02 23:22:46 774

原创 Unity拖动接口和Canvas适配

做拖动功能时,Canvas有自带的缩放,PointerEventData里的position要除以这个缩放才是正确的鼠标位置 [HideInInspector] public Canvas ThisCanvas;void Start(){ ThisCanvas = GetComponentInParent<Canvas>();}public void OnBeginDrag(PointerEventData eventData){ var position = new Vect

2020-08-13 10:05:25 215

原创 移动设备GPU架构和渲染上的优化

知乎链接移动设备GPU架构知识汇总 - Sparrowfc的文章 - 知乎https://zhuanlan.zhihu.com/p/112120206文章内知识点:移动设备上尽量使用AlphaBlend,而不是AlphaTest的原因(不是用AlphaBlend替代AlphaTest)EarlyZ渲染流程及其他GPU架构的优化,减少或避免OverDraw移动设备上的性能开销比较大一块取决于带宽,图片占用内存越小越好(贴图内存越小,片上命中率越高,rgba图比rgb多一个通道,占用内存更多)

2020-08-04 14:09:24 176

原创 FairyGUI学习记录

创建UI使用FGUI创建UI界面的时候,可以选择创建用UIPackage创建组件,然后GRoot.inst添加到Stage里,层级根据子对象的排列顺序显示;也可以选择创建GameObject添加UIPanel脚本,在UIPanel里赋值包名和组件名显示UI界面,但是需要手动设置层级,不能直接使用UIPanel的sortingOrder属性设置层级,需要使用SetSortingOrder(1, true)设置,第一个参数是层级,第二个设置为true才能使用层级,不然会重复显示UI;UI管理我的项目里使

2020-07-07 20:50:18 1745 1

原创 Unity Shader小技巧-制作Shader时在Scene显示实时动态效果

直接上截图:在编辑shader时,我们会使用到很多动态效果,例如_Time的函数,但是在Unity中会是静态效果,点击这个选项之后就以看到Scene窗口的Shader有动态效果了。

2020-06-03 21:02:31 1791

原创 UI框架

UI框架同一个Panel下需要添加脚本的控件名需要添加一些标记,如_N;同一个Panel下的控件不能重名;管理模块, UIManager管理所有UI脚本,控件/* ********************************************************************* *Copyright © 2019 Unity1903 *File Nam...

2019-09-20 15:34:30 85

原创 Canvas属性

Canvas属性:Sort Order:排列两个画布顺序Pixel perfacter:像素自适应UI Scale mode:Constant Pixel Size:保持子控件像素不变Scale With Size:自适应像素大小,随着屏幕大小Scale Factor:缩放Reference Resolution:屏幕尺寸Scree Match Mode:屏幕显示比例Re...

2019-09-20 15:33:34 394

原创 Rigidbody

游戏的三种联网模式有:单机弱联网强联网C/S架构:Server服务器Client客户端强联网自己计算:圆形检测,Dentist;AABB;包围盒:Collider;场景中计算:八叉树:三维坐标,8个象限,同一象限内物体两两计算。属性Collider(包围盒):IsTrigger:将包围盒变成触发器,只触发事件,不渲染效果;Center:中...

2019-09-20 15:19:39 458

原创 C#中的幂运算

C#中的幂运算double m,n;m=Math.Exp(0.5); //自然对数e的0.5次方n=Math.Exp(30); //自然对数e的30次方n=Math.Log(3); //以e为底,3的对数n=Math.Log(125,5);//以5为底,125的对数n=Math.Log10(1000);//以10为底,1000的对数n=Math.Pow(8,2.5);//8的2.5次...

2019-09-20 15:10:25 13903

原创 C# 中的while循环输入

适合空白字符输入后进行操作会报错的,比如有string转int操作的namespace Test{ class Program { static void Main(string[] args) { while (true) { try ...

2019-09-20 15:07:59 1184

原创 C# 输出固定长度 自动补0

C# 输出固定长度 自动补0//固定长度字符串处理//1.int类型转固定长度Console.WriteLine(string.Format("{0:D5}", 123));Console.WriteLine(string.Format("{0:D5}", 456));//2.字符串转固定长度//使用PadLeft方法可以自定义填充值string s = "123";Console...

2019-09-20 15:06:54 3037 1

原创 C# 中Random会重复的解决办法

Random random = new Random(Guid.NewGuid().GetHashCode());Console.Write(" "+random.Next(1, 33));

2019-09-20 15:06:18 637

原创 带空格的杨辉三角

//杨辉三角Console.WriteLine("请输入行数");int yangHuiLine = Int32.Parse(Console.ReadLine());int[,] yangHui = new int[yangHuiLine, yangHuiLine];for (int i = 0; i < yangHuiLine; i++){ yangHui[i, 0]...

2019-09-20 15:05:28 433

原创 C#中$的用法

C#中$的用法"$"是在C#6.0出现的一个新特性,其作用相当于对String.format()的简化。tring.Format 方法的几种定义:String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项。String.Format (String, Object[]) 将指定 String 中的...

2019-09-20 15:03:27 1814

Suivival Shooter tutirial

官方免费资源包Suivival Shooter tutirial,能够完整运行。

2019-04-13

空空如也

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

TA关注的人

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