Unity
NS_Speak
不知名小白博主~多多关照~
展开
-
2DUI跟踪3D模型,更精准的嵌套与跟踪
然后 再Image层级下想放点啥就放点啥,这些就不赘述了。接下来时时刻面向相机,写方法,将脚本挂在Canvas上。1、2DUI跟踪模型指定位置,跟随模型移动。在此模型层级下新建Canvas(画布)在canvas下创建Image(图像)最重要的,这个需要手动调整位置。2、2DUI时刻面向摄像机。改显示模式为世界空间。放上你喜欢的提示框图片。原创 2023-06-15 10:18:19 · 1571 阅读 · 2 评论 -
Unity建立跟踪3D模型中心点的UI及显示一些内容
2、在上层的下一级创建image作为UI的底板,我命名为Image底板(图片自己做的)4、与底板同级,创建一个panel用来承载内容,我命名为内容,并使其透明。1、建立Imgae-我命名为跟踪点(图片是自己做的)。先创建image,并在下级创建text。原理不做补充,具体可以留言。3、底板下创建文本,作为标题(图片自己做的)。5、内容层级下创建一个遮罩和一个滚动条,添加一个滚动条并添加一些文本用于观察效果。前提条件:已经创建了2DUI。需要点击显示的模型加上碰撞器。挂到带有碰撞体的模型上。原创 2023-04-01 18:54:08 · 882 阅读 · 0 评论 -
Unity平铺地板砖【无需代码】
主要用于循环拼接需要的地板,首先先要有一个贴图。选择重复后,材质才能自动重复平铺,原创 2023-02-11 14:46:43 · 1837 阅读 · 0 评论 -
【Unity】自定义Untiy天空
2、制作图片,怎么制作不说了,分辨率8192*4096(可以自己决定哦,但是不能太短)3、需求:更改默认天空盒,360°显示所需的内容。4、更改图片纹理形状为-立方体(Cube)11、点击环境- 把我们建的材质拖过去!9、将我们做好的cubemap安排上。8、OK,我们的材质从蛋变成了块。准备材料:一张8K图(更清晰)1、更改Camera为天空盒;10、打开窗口-渲染-灯光。7、更改shader-原创 2022-11-23 20:26:07 · 2206 阅读 · 0 评论 -
【Unity】如何限制相机、物体的移动角度、位置等
Mathf.DeltaAngle(float current,float target)---------返回两个角夹角的最小值。Mathf.ClosestPowerOfTwo(float x)------------返回 2 的 x 次方。Mathf.Pow(float x,float y)--------返回 x 的 y 次方。Mathf.Round()--------四舍五入,返回值为 Float 类型。Mathf.Sqrt(float x)-----------返回 x 的平方根。原创 2022-11-15 23:19:28 · 3401 阅读 · 0 评论 -
protobuf结构化数据的序列化在 (Unity C#)中的引用与使用
先拷贝DLL文件,以下目录所有dll拷贝到Unity中Plugins文件夹内(版本按需选择,真实场景也用不了这么多)进入可以看到如下文件,可以选择配置环境变量使用,也可以选择在此文件夹内运行CMD,我选择后者,可以查看版本号。同样是从Nuget搜索,如下图,下载安装。搜索 Google.Protobuf.Tools,并进行安装,如下两图。第二步,针对自己的通用数据文件(.proto),生成CS文件 .我所使用3.0靠上,点击下载(作者无所谓,能用就行)进入,找到自己要用的,我选64.进入,选择tools。原创 2022-10-22 17:49:26 · 1462 阅读 · 0 评论 -
【转】Unity多模型多材质合并,有明显性能提升(FPS)
把你需要合并的模型,放在一个父级空对象下,然后将模型拖入Root node节点。加完这两个脚本之后,你会发现菜单栏多了一个菜单(我改成中文了)。点击CombinedMesh按钮,可以创建一个带有。1.创建一个文件夹 命名为Editor (原来的对象去掉,换成这个即可。必须时Editor不能错。然后再新建一个脚本。转载 2022-10-19 17:41:15 · 1914 阅读 · 2 评论 -
Unity使用多线程进行非Unity主进程操作[自己消化一篇]
特别提示,一般情况下,线程启动后执行的方法为非循环方法时,执行一遍后该线程便停止运行,若执行循环方法,在退出软件或者切换场景时,关闭该线程。首先Unity除协程外,是可以使用多线程挂载脚本的,一般用于处理循环数据,譬如通讯的监听。在不使用多线程的情况下,在主线程中运行循环一般情况下会直接卡死。引入后,在任何位置都可以定义一个新的线程对象。原创 2022-10-10 22:44:50 · 1328 阅读 · 0 评论 -
【官改】Unity相机自由移动, 事件触发固定视角
这是UnityURP自带的一个Demo,在这个Demo上进行修改,以下是已经修改完的版本。这是项目里一个版本,通过触发变量来改变相机位置。原创 2022-10-08 12:36:30 · 853 阅读 · 0 评论 -
【转】Unity实现镜头自由移动,第一人称移动
本文链接:https://www.cnblogs.com/HanaKoo/p/16110792.html。如果建立Demo,HDRP和URP的MainCamera中会自己带一个Move的脚本。版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆。如果想让相机移动到某个角度,则需要对相机的定位信息进行处理,文过后出。更改对应的命名空间挂在相机上即可。本文作者:HanaKoo。转载 2022-10-08 12:17:35 · 1330 阅读 · 0 评论 -
接上篇,记录一下【Unity 3D对博途PLCSIM的通讯】文章有点长~仔细看,很基础
本文参考链接:西门子PLC丨PROFINET通讯仿真(虚拟通讯)做了一些更详细的优化,本文使用的类库并非原作者使用的类库。首先,昨天项目已经创建好了,这边也加了一个InputField和一个Button,可以实现简单的读取,ok开始。放入准备好的通讯类库;新建一个博途的项目,本次测试使用博途V15,测试环境为虚拟机,Unity运行在本地计算机,建立博途项目流程如下:新建项目,右键项目-属性-保护-对勾,如图:不得不说的是,仿真中加密的FB块是无法下载的哦~添加CPU...原创 2022-04-13 22:09:28 · 6525 阅读 · 58 评论 -
记录习惯【Unity 3D中3D场景下嵌套2D Canvas并实现窗口缩放】
实现的功能是在3D场景中嵌套2DUI,Unity可窗口化,按比例缩放。(本文不牵扯技术性脚本和代码)首先建立新项目,这里使用Unity2020.3.16f1c1(中文)建立URP项目,使用自带场景进行实施。可以看到这里有一个主相机,我们建立一个副相机,display层2;紧接着我们设置一下固定的分辨率,1920*1080两个场景的分辨率设置完成之后,在副相机底下新建canvas,对cavas进行设置注意上中Canvas所需设置,然后双击副相机内的canvas.原创 2022-04-13 21:16:44 · 5316 阅读 · 0 评论 -
Unity调用外部程序,未测试,未来会用到,先马
最近在做一个项目需要 Unity控制打开、关闭 第三方给的exe软件首先新建脚本命名 :OpenOtherExe,将脚本托给MainCamera(当然挂载给谁看心情)using System.Collections;using System.Collections.Generic;using UnityEngine;using System.Diagnostics;//需要引入命名空间 public class OpenOtherExe : MonoBehaviour { s转载 2022-03-25 22:25:58 · 671 阅读 · 0 评论 -
Unity场景灯光信息调试好之后切换后会异常的解决方案
如题:Unity场景切换之后灯光信息会有异常,下面是第一次进入该场景的色彩经过场景切换后进入该场景的颜色发生了变化,如下图解决方式为将色彩进行编译生成场景颜色方案,步骤如下:打开灯光设定,如下图:将自动生成对勾去掉,点击生成灯光等待即可。...原创 2022-03-25 22:23:39 · 3832 阅读 · 0 评论 -
Unity小地图映射到Canvas中去,并完成摄像机跟随物体。
OK!这次的方式是通过Renderer Texture和Material来配合实现摄像机内容映射到Canvas的UI元素中,炒鸡简单。适用于任何场景。首先:摄像机映射新建一个Camera新建一个Material。将Shader属性更改为Texture再新建一个RenderTexture然后将这个RenderTexture放到Material的纹理中去然后在UI中新建Image。材质区域放Material即可完成映射。剩下的自行调整咯~~...原创 2022-03-12 17:38:58 · 4030 阅读 · 0 评论 -
Unity中material和sharedMaterial的区别,实现多个方向控制材质球
这也是踩坑的一个过程,但是到现在还有一个问题没有解决,希望能够解决。首先呢,我们获取一个对象的材质信息使用Object.GetComponent<MeshRenderer>().sharedMaterial原创 2022-02-22 21:48:14 · 3763 阅读 · 0 评论 -
Unity脚本控制更换材质球
定义游戏对象和材质球对象; //游戏对象 public GameObject dianji01;//材质 public Material dongtai;一句话更换材质球guandao1.GetComponent<MeshRenderer>().sharedMaterial = dongtai;原创 2022-02-20 22:38:13 · 3046 阅读 · 0 评论 -
Unity材质偏移(贴图纹理偏移)实现流动效果【记录一下】
原文链接:https://www.cnblogs.com/qiaogaojian/p/5868226.html自己总结了几句关键的。首先材质的纹理贴图必须是法线贴图或默认,否则偏移会无线拉长最后变成线。我PS直接放的PSD;下一步就是代码。定义速度、模型;public GameObject guandao1; float m_offset; //物体材质的偏移量 float m_speed =10f; //物体材质偏移的速度动作代码如下:原创 2022-02-20 22:13:48 · 5518 阅读 · 4 评论 -
【搬运记录】Unity打开新场景的几种方式
原文链接:unity加载场景的四种方式 - 简书unity加载场景的四种方式分别是:1.Application.LoadLevel():同步载入 ,如果当前场景为A,我们要切换到场景B,unity会在切换场景的时候将场景B中的全部内容(场景B中全部的静态物体,不包含兴许代码中Instantiate实例化的物体)都载入到内存中。然后销毁A,显示B。2.Application.LoadLevelAsync():异步载入 ,这个与第一种情况基本一样,唯一的差别是载入B的过程是异步的(也就是载入新场景的转载 2022-02-06 16:43:58 · 2234 阅读 · 0 评论 -
Unity中C#删除字符数组与int数组的转换及占位符问题
记录一下,Unity版本2020.03.16f1c1需求:转换成int数组。首先定义了一个字符数组:string[] arr = AGV1_Read["path"].ToString().Split(',');字符数组格式[1,1,1,1,1,]转换为int数组:(Array方法需要引用System类库)int[] arrint = Array.ConvertAll<string, int>(arr, s => int.Parse(s));由于最后一位是空,原创 2022-01-04 11:07:40 · 2566 阅读 · 0 评论 -
Unity发布项目,记录日志并写入文件。
忘记从哪里看的了,记录一下,防止忘记。Unity版本2020.3.16f1c1创建和写入的脚本如下:using System;//必须引入IO类库using System.IO;using UnityEngine;public class SQLLOG : MonoBehaviour{ void Start() {//启动初始写入启动完成 WriteLog("SQLLOG_Script_Start_Succes"); }//实现方法原创 2022-01-03 10:51:53 · 3170 阅读 · 0 评论 -
Unity打包后的各种数据库问题
第一个问题:Encoding 936 data could not be found. Make sure you have correct international codeset assembly installed and enabled.异常GB2312原因是Plugins缺少dll,引入以下两个dll恢复。目录\Editor\Data\MonoBleedingEdge\lib\mono\unity第二个异常:Exception has been thrown b.原创 2022-01-03 10:35:32 · 4177 阅读 · 0 评论 -
记录一下,Unity多个场景来回切换
首先,你要有两个或者多个场景,如图:其次,你要把这个两个场景都添加到项目中去,如图:意思大概都懂,就是打开生成设置,然后把另一个场景拖进去!然后通过按钮或者鼠标切换,贴代码:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using UnityEngine.SceneManagement;public class NewBut.原创 2021-12-28 14:25:29 · 4863 阅读 · 0 评论 -
记录一下~Unity项目包移植后长时间Import Assets
问题如下:原因是啥?参考了这位大哥的文章https://developer.unity.cn/ask/question/607585c6edbc2a001f353ebe这个截图是我刚截的,我整整等了九个小时,电脑没关,他一直在这个进度,原因如图:有中文啊!! 我的用户名是中文哈哈哈哈!!改为英文路径,马上恢复!...原创 2021-12-27 19:18:32 · 1649 阅读 · 0 评论 -
简单记录一下,Unity连接数据库并执行简单的查询(Unity连接数据库的各种坑)
首先~~~~~~~记录一下连接方式,防止不常用忘记。Top:Unity版本2020.3.16f1c1::::模板:HDR通用管线需要准备以下几个文件:在Unity 的安装目录,如下图,根据其他博主,老版本的目录应该是Editor\Data\Mono\lib\mono\unity将这几个文件赋值到Unity 的Assets中,随便哪个目录,只要在Assects之下,好的,我是这样的。如下图(如果你发现不能复制粘贴,就拖过去哦):再检查以下是否成功(绝对会成功的!!):..原创 2021-12-22 21:32:32 · 2072 阅读 · 0 评论 -
记录一下关于Unity动画控制器的销毁不自动复原问题
原文地址Unity重置Animator到初始状态和重复播放同一个Animation - 赵青青 - 博客园是上述文章解决了我的问题。加以总结后特此记录,谨防忘记。若动画机与代码需要同时控制物体动作时,若动画机启用且有控制该物体,代码则无法控制这个时候需要停用动画控制器,若停用之前状态没有把握好,就会导致再次启用后不会复原,解决方案如下:譬如初始动画状态的名称为“RUN”;将此动画机速度设置为0。动画有无均可,目的是为了让它一直停留在第一帧,如下图:然后我们的代码是下面这样:原创 2021-12-19 20:15:26 · 1942 阅读 · 1 评论