欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

BoyZhenGui的个人博客空间

最编程 2024-07-23 11:54:44
...

原创 在线的max文件转换fbx网站,Unity打开.max文件

在线的max文件转换fbx网站。很不错 可以转换小模型。

2023-03-01 17:14:34 3726

原创 【HDRP】自动生成的光照探针——Probe Volume

HDRP中,增加了Probe Volume,可代替旧版的光照探针Light Probe Group。使用此功能的物体,不再需要光照贴图。

2023-01-30 13:30:27 1345 1

原创 【Unity】Cinemachine混合导致的LateUpdate中计算异常

CinemachineBrain中默认的BlendUpdateMethod是使用LateUpdate更新,我们常用的也是此模式。我们所写的其他脚本默认执行顺序为0。所以我们的LateUpdate其实是在CinemachineBrain位置混合之前执行。但在此模式下,由于Cinemachine插件默认将此脚本的执行顺序设置为100。如果此时通过主相机,进行坐标切换,如本地转世界,世界转本地,则会导致结果异常。应将编写的脚本的脚本执行顺序调整到CinemachineBrain之后。

2023-01-05 16:04:31 331

原创 【Linux(Centos7)Unity】报错 加载共享库时出错:libc++.so.1:无法打开共享对象文件:没有共享对象文件或目录

unity在linux上,加载共享库出错

2022-07-11 15:15:37 4019

原创 【Unity】网格合并后位置偏移问题

网格合并后位置偏移问题

2022-05-26 17:12:57 742

原创 【Unity编辑器扩展】禁用某个控件(禁用按钮,禁用文本框)

API:使用API :EditorGUI.BeginDisabledGroupBeginDisabledGroup参数填True,则为禁用Begin至End直接的功能。在untiy面板上置灰。代码: float jumpHeight = 0f; EditorGUI.BeginDisabledGroup(true); jumpHeight = EditorGUILayout.FloatField("Jump Height", jumpHeight);

2022-05-17 15:52:45 1414

原创 【Unity】中断AssetBundle的加载

如果我们在协程里面,使用AssetBundleCreateRequest 加载ab包。就算我们停止了协程。AssetBundleCreateRequest 并不会停止加载,而是会运行到ab包加载完成。参考Unity文档中AssetBundleCreateRequest.assetBundle的说明https://docs.unity.cn/cn/2020.3/ScriptReference/AssetBundleCreateRequest-assetBundle.html在AssetBundleCre

2022-05-10 13:08:05 610

原创 【Unity编辑器拓展】Unity创建自定义包问题

包清单,package.json中的name的值,必须全为小写,大写会报错。name的值与文件夹名字无关,name值必须全为小写,文件夹名字,大小写随意。displayName的值是在PackageManager和Pacages文件夹中显示的文件名字。如需显示中文,则需要使用UTF-8代码。http://www.jsons.cn/utf8/将转换后的%去掉,使用\分割前方的字母和UTF-8代码...

2022-05-06 15:19:42 265

原创 【Unity】NavMeshAgent寻路路径获取异常

使用NavMeshAgent对象的path属性,可以获取和设置当前路径。但是如果刚刚设置了destination,目标位置,则path属性在当前帧无法获取准确的路径。经测试,甚至在50帧之后也有概率得到的路径不准确。可使用NavMeshAgent.CalculatePath(),或者NavMesh.CalculatePath(),计算路径...

2022-04-24 10:57:49 2932

原创 【Unity编辑器拓展】两种数据缓存方式EditorPrefs与EditorUserSettings的区别

EditorPrefs.GetString \ SetString可缓存指定字符类型。适用类型:位置、大小、Unity Editor的环境设定(类似于Preferences里面的东西)。即使是单独的Asset但有与环境相关的设定的话,也请使用 EditorPrefs。需要注意的是,EditorPres里面保存的都是明文。因此绝对不要把密码之类的重要信息保存在里面。适用范围:此电脑的同一大版本Unity。存储方式存储到Windows注册表中,以大版本划分存储,如4.x版本,5.x版本。(不过我使

2022-04-24 10:51:41 1229

原创 【Unity代码】使用txt文件保存和读取游戏数据

使用二进制存储数据1.创建需要存取的数据类: public class SaveData { public int i = 11; public string str = "save"; } SaveData data = new SaveData(); data.i = 12; data.str = "ccc";2.获取数据存取路径Application.persistentDataPath官方文档:https://docs.un

2022-03-14 15:21:04 5851

原创 【Unity渲染】前向渲染和延迟渲染的区别及切换

前向渲染和延迟渲染通道的区别,主要在对于光源的处理上。Unity默认是前向渲染通道,如果光源特别多,可以使用延迟渲染。前向渲染使用前向渲染路径时,被照亮的对象将在单独的通道中进行渲染。根据场景中的光源数量以及它们是否影响游戏对象,有些对象可能会渲染多次。使用前向渲染的优点是渲染速度非常快。这有助于降低对硬件的要求。前向渲染提供多种自定义着色模型,而且可以快速处理透明度。该渲染路径还用于处理多样本边缘柔化 - 这是一项创建图形时使用的技术,旨在改进图像质量(该技术在“延迟渲染”路径中不可用)。前向渲

2022-02-16 20:52:05 6340

原创 【Unity渲染】自定义屏幕后处理

自定义屏幕后处理其实并不难,步骤分为两个部分,1.设置用于画面处理的材质球和Shader;2.在C#代码中使用OnrenderImage函数对摄像机画面进行处理。

2022-02-15 17:00:14 1944 1

原创 【UnityShader】shader基础关键字和算法

1.时间_Time_Time是float4类型,_Time.x表示当前时间 / 20,_Time.y表示当前时间,_Time.z表示当前时间 * 2,_Time.w表示当前时间 * 3;

2022-02-15 16:19:01 857

原创 【Unity Shader】Properties属性定义中bool类型无法使用的替代

在shader中,无法使用bool类型变量,如下写法会报错。_IsTrue("Istrue", bool) = true可以使用float类型+toggle标签来代替[Toggle(_True)]_IsTrue("Istrue", float) = 1增加Toggle标签后,在Inspector面板中,该变量为复选框。勾选即为默认值,取消勾选则不是默认值。在需要判断的地方,判断_IsTrue是否为默认值即可。...

2022-02-15 14:57:26 5210

原创 【Unity URP】Unity URP中透明物体开启阴影

Unity URP 默认的透明材质无法投射阴影。

2022-02-10 20:09:59 2026

原创 【UnityAPI】设置贴图渲染质量QualitySettings.masterTextureLimit解释

QualitySettings.masterTextureLimit用于设置贴图渲染质量。*只适用于贴图,不适用于UI图片。QualitySettings.masterTextureLimit默认为0,表示不对贴图渲染限制;设置为1,是渲染1/2的画质,相当于压缩贴图1/2大小。设置为2则是 1/4;设置为3则是1/8;以此类推。注:对项目内所有贴图进行渲染限制*QualitySettings.masterTextureLimit用于设置贴图渲染质量。只适用于贴图,不适用于UI图片。Quali

2022-02-10 20:08:49 1248

原创 【Unity优化】Unity图集打包(2020新版本和旧版本)

对于Unity中UI使用的图片精灵,打包成图集,可以降低DrawCall,提高性能。Unity2019以前的版本一、开启图集功能默认图集是不开启的,需要在Editor>Project Settings设置中,将SpritePacker的Mode修改为Always Enabled(总是启用)或者Enabled For Builds(在构建时启用)。二、设置图片的图集名称在Texture Type为Sprite的图片设置中,填写Packing Tag字段。Unity会自动将Packing

2022-02-09 18:11:49 11755 2

原创 【Unity主程手记学习】第一章——软件架构

架构无处不在,它实质上就是解决生活和工作中问题的一种方式。、如果把软件比作书,那么软件架构就是书架。一、架构的好坏由五个因素决定:1.承载力能承载多少逻辑系统,能承载多少个程序员同时开发,访问量承载力如何。2.可扩展性能适应不同类型需求,添加不同类型系统、子系统。3.易用性使用起来是否方便,开发效率要高。4.可伸缩性服务器角度:可以根据访问量需求,随时改变承载力大小,来节约成本。客户端角度:可以多人协作开发大项目,也可以几人合作开发小项目。5.容错性以及错误的感知力。能发现潜在错误

2022-02-07 12:49:05 1498

原创 【Unity API】四元数Quaternion的乘法规则详解,含代码案例演示

四元数相乘有两种方式1.四元数之间相乘public static Quaternion operator * (Quaternion lhs, Quaternion rhs);旋转之间的相乘,不满足交换律。q3 = q1 * q2表示,将q2选转q12.四元数与向量相乘public static Vector3 operator * (Quaternion rotation, Vector3 point);...

2022-01-13 17:19:20 3805

原创 【Unity 知识】设置射线检测层级,Physics.Raycast的layerMask含义

射线检测我们经常使用,可以得到射线碰撞检测到的信息。Physics.Raycast(Ray ray, out RaycastHit hitinfo, float maxDistance)但如果有些物体并不需要被射线检测,但它显示在需要被射线检测物体之前,并且还拥有碰撞体,会导致射线检测无法达到我们预期的效果。我们就需要用到他的第四个参数layerMask。Physics.Raycast(Ray ray, out RaycastHit hitinfo, float maxDistance,in

2021-11-26 14:27:50 6457 2

原创 【Unity WebGL】打包异常:il2cpp.exe did not run properly

Unity打包WebGL总会有各种各样的异常。今天的异常是:Failed running D:Unity编辑器/build/deploy/net471/il2cpp.exe–convert-to-cpp --dotnetprofile=“unityaot” --compile-cpp --libil2cpp-static --platform=“WebGL” --architecture=“EmscriptenJavaScript” --configuration=“Release”Excep

2021-11-19 16:13:43 6931

原创 【Unity知识点】通俗解释delegate,事件event,Action,Func和UnityAction,UnityEvent

委托,像类一样,可以声明一种方法类型。委托对象可以被赋值,注册和注销方法。委托对象必须被赋值才可使用。委托的使用类内和类外无差别。事件,是对委托的一个限定,事件对象不需要被赋值,也不能被赋值,只可以注册和注销方法。不论声明为public还是private,事件对象在类外只能在+=号和-=号的左边,意味着在声明此事件的类外,无法使用,只能注册和注销方法。...

2021-11-18 22:14:49 8944

原创 【Unity2020 WebGL无法加载异常】 Uncaught ReferenceError: unityFramework is not defined at HTMLScriptElement

问题Unity2020 打包出WebGL,打开项目会卡在读条界面,无法进入场景。控制台报错UncaughtReferenceError: unityFramework is not defined at HTMLScriptElement与Uncaught SyntaxError: Invalid or unexpected token。这是因为:从 Unity 2020.1 开始,Unity WebGL 项目默认不再启用 gzip 和 brotli 的软件解压缩回退。由于许多 Web服务器配

2021-11-17 15:09:36 7851

原创 【Unity2020 WebGL无法加载异常】 both async and sync fetching of the wasm failed问题

我出现这个问题是在使用Unity2020打包的时候。Unity自从2020对WebGl做了一些修改。单单从打包后的文件来看,也可以看得出不同。这个问题是在打开本地文件时出现,谷歌浏览器报错,在火狐浏览器可以正常进入。虽然已经设置了谷歌浏览器可以打开本地html,但还是出了这个异常。解决把WebGL文件上传到服务器,通过网址链接进入,得以解决。...

2021-11-16 17:25:53 4682

原创 【Unity插件: UniWebView】安卓无法加载http链接,报错ERR_CLEARTEXT_NOT_PERMITTED

原因出现ERR_CLEARTEXT_NOT_PERMITTED这个报错的原因,在于安卓。从Android 9.0(API级别28)开始,默认情况下禁用明文支持。因此http的url均无法在webview中加载。解决方案所以我们需要在安卓的清单中AndroidManifest.xml,添加可以加载http的标签。在Unity中完成修改AndroidManifest.xml在Unity中无AndroidManifest.xml文件的情况下。Unity默认情况会根据插件中的所有 Android 清单,和

2021-11-10 16:10:06 6505 4

原创 【Unity优化(一)】 内存和GC优化

整理自官方教程翻译 https://www.cnblogs.com/alan777/p/6155501.html⏳内存和垃圾回收原理内存分为栈内存和堆内存,栈用来存储短期的和小块的数据,堆用来存储长期的和大块的数据。Unity自动内存管理:1.当一个变量被创建时,会在栈或堆内存池上申请一块内存空间。(值类型存在栈上,引用类型存在堆上。)2.只要这个变量在作用域内,可以被代码访问。分配给它的内存在使用中,则称这款内存已被分配。根据内存空间位置,被称为栈上对象或者堆上对象。3.如果这个变量不在作用域

2021-10-28 21:27:52 1599

原创 Unity animation动画编辑器快捷键

Ripple快捷键 :2018(包括2018)之前,拖拽选中的关键帧,若想要前方和后方关键帧可以跟随被选中关键帧移动,小按住R键进行拖拽。2019以后,Unity将此快捷键改为了2和Shift+2, 2键和之前使用方法一样。Shift+2,则作为开启关键帧跟随的开关。...

2021-10-24 08:07:46 2123

原创 Quaternion.LookRotation作用

Quaternion LookRotation(Vector3 forward, Vector3 upwards);forward表示z轴朝向的向量,upwards表示y轴朝向的向量。public Transform Cube0; //被改变的cubepublic Transform Cube1;public Transform Cube2;public void Update(){ }

2021-10-20 08:16:14 878

原创 Unity WebGL网页背景透明化(2021更新)

针对上一篇文章Unity网页透明化,做进一步补充完善。

2021-09-14 22:22:32 2695 12

原创 Unity WebGL解决由于分辨率过低导致的模糊问题

背景通常情况下,我们制作的界面要做为子网页,或者内嵌网页给到前端同学使用。有时前端同学的界面分辨率做的比较低,我们必须制作符合他要求的分辨率。而Unity制作的webgl,打包后设置的分辨率会影响画面精度。这就引发了一个问题,若我们按前端的分辨率制作,会导致我们画面精度很低,如果是大屏类项目,则更会模糊不清。所以我想到一个好办法,那就是把Unity做好的html网页分辨率乘n倍,然后给Unity网页加个壳(用一个html将Unity网页嵌入进去),把整体的外壳网页缩小n倍。解决方案以需要给前端1

2021-09-12 07:31:06 3469

原创 Unity WebGL 获取当期时间DateTime.Now异常问题

使用DataTime.Now,并截取字符串要注意:编辑器中和WebGL中,时间格式顺序不同。编辑器中顺序为年月日,WebGL中顺序为月日年。若不注意,打包后会出现莫名的Bug。建议不要截取字符串,使用直接使用DateTime.Now.Day和 DateTime.Now.AddDays(num),获取字符串。

2021-09-12 06:52:54 545

原创 Unity使用ContentSizeFitter组件无法获取大小等属性

ContentSizeFitter组件修改Text大小,不会立刻修改大小,需要等待一帧,立刻获取大小得到的长宽都为0。可以调用方法UI.LayoutRebuilder.ForceRebuildLayoutImmediate立刻强制重建此组件,在获取大小

2021-09-12 06:44:07 917

原创 unity打开项目异常问题和射线检测层级问题

unity it looks like another unity instance is running 问题1.删除temp文件夹,再打开。2.如果文件夹设置成只读了也会这么提示。射线检测层级问题设置physics.raycast的layermask参数,将需要检测的添加进去。...

2021-05-25 22:43:04 668

原创 UnityUI高级效果特效UIEffect

Github网址:https://github.com/mob-sakai/UIEffect

2021-05-25 22:11:46 1290

原创 UnityWebGL在谷歌火狐等浏览器无法打开本地网页问题

原因是这几个浏览器默认无法打开本地网页,如果把网页放到服务器,通过html链接进入可以打开。或者可以进行下面的操作,以打开本地网页。火狐1.在导航栏中输入about:config2.搜索security.fileuri.strict_origin_policy参数3.单击该参数将其更改为false谷歌1.如果您没有台式机上的Chrome浏览器,可以为其添加快捷方式2.右键单击快捷方式,然后选择属性3.选择目标文本框,到最后,添加一个空格并添加-allow-file-access-from-

2021-05-25 22:08:06 2962

原创 阿里云服务器搭建使用教程(四)域名使用及备案

搭建自己的网页肯定要有自己的域名(网址)了,不然链接都是一堆ip地址很丑的。不要看阿里云上域名1元/年起就购买了。先看下注意事项。0.购买域名前的注意事项域名:必须备案才可正常使用域名备案:要求服务器有效时常3个月以上如果你是试用的一个月服务器,就算购买了域名也没有用。不然进入网址无法看到网页,会出现下面的样子。所以购买域名之前还需要购买3个月以上的服务器。点击下面链接可以领取优惠券和直达超低价新人优惠界面,非学生也可以90作用一年。大额新人优惠券新人福利专场开发者成长计划我是点击

2021-04-08 11:48:48 819 1

原创 阿里云服务器搭建使用教程(三)去掉网址的html、php后缀

自己上传服务器的界面总是需要xx.xx.xx.html才可以读取,不加html就报错,显得很不高级.本次教程教大家如何去掉html后缀,本质上就是字符串转换。

2021-04-06 10:19:27 678

原创 阿里云服务器搭建使用教程(二)部署自己的html界面

本文使用的阿里云服务器是linux系统,使用Apache作为后端。1.下载Xshell与Xftp官网下载 https://www.xshellcn.comXshell用作链接服务器,并且可以写命令控制。Xftp可以可视化的查看服务器文件,非常方便的进行服务器和本地文件互传。1.1Xshell傻瓜式安装即可。1.1.1 新建链接在主机一栏填写服务器公网地址。1.1.2输入用户名和密码点击用户身份验证,填写服务器用户名(默认为root)和密码。1.1.3点击链接链接成功,则和控制台一

2021-04-02 17:45:14 865

原创 阿里云服务器搭建使用教程(一)个人博客搭建

1.首先需要去阿里云注册账号,购买或试用一个服务器1.1得到服务器新用户可以免费试用一个月。阿里云试用中心注意:选择服务器种类时选择linux(跟你的操作平台没有任何关系),如果选择windows,用下面方法无法连接成功。0元试用,或者购买之后,需要等待一会,你的账户中才会出现服务器,一开始不要惊讶:为什么找不到。1.2 找到服务器好多教程都是旧版阿里云,现在已经长这个样子了。点击进入控制台。点击左上角的三条杠,点击云服务器ECS(或者和你购买的服务器一类)进入界面。如果界面不是这

2021-04-02 09:39:19 1581 4