草庐IT

RTC1-Unity

全部标签

Unity UGUI的EventSystem(事件系统)组件的介绍及使用

UnityUGUI的EventSystem(事件系统)组件的介绍及使用1.什么是EventSystem组件?EventSystem是UnityUGUI中的一个重要组件,用于处理用户输入事件,如点击、拖拽、滚动等。它负责将用户输入事件传递给合适的UI元素,并触发相应的事件回调函数。2.EventSystem组件的工作原理EventSystem组件通过射线检测来确定用户输入事件发生的位置,并将事件传递给最合适的UI元素。它会根据UI元素的层级关系和射线检测结果来确定事件的目标对象。3.EventSystem组件的常用属性firstSelectedGameObject:设置默认选中的UI元素。sen

Unity WebGl和前端(Angular)相互调用(含跨域问题)

在Unity官方文档中就已经介绍了Unity和JS相互调用的问题,但是我们实际的应用中往往是使用iframe来展示WebGL。这样不但是webgl和js相互调用的问题,还包含了iframe跨域的问题。我们的项目中前端使用的是angular框架,就以angular为基础来说一下这个问题,当然vue的前端框架应该都一样的原理。首先说一下unity和js相互调用的问题Unity和JS的相互调用unity调用js:1.首先在Unity/Assets/Plugins目录下存放你需要调用的js。2.在Plugins目录下新建文本文档__Internal,后缀改为jslib。 3.编写脚本内容。mergeI

unity 摄像机镜头跟随鼠标拖拽

通过update方法记录变化量然后通过坐标换算移动摄像机一.获取上一帧到当前帧鼠标位移变化量,计算过相机从上一针位置到当前帧位置移动的距离 ///    ///计算上一帧到当前帧移动距离    ///    ///    ///    boolisCameraMove(outVector3moveDetla)    {      moveDetla=Vector3.zero;      if(Input.GetMouseButtonDown(0))      {        setBeginState();      }      elseif(Input.GetMouseButton(0)

Unity URP 2D光照导入与配置

上面随时间变化的火烧云和晚霞,篝火的呼吸光照,都是URP的功劳。1.什么是URP?URP全称为UniversalRenderPipeline(通用渲染管线)。它的特点是在手游和端游均能在保持性能的同时有良好的效果也就说在多数情况下,在下面的平台使用是这样的情况.(不代表不能用,只是不适合)BuiltInRPURPHDRP移动VVXPCVVV其中HDRP的效果最佳,但是在移动端往往不足以支撑。而URP效果稍次,但是性能优异,而BuiltInRP…一言难尽。其中如果你想使用2DLight,就选URP,如果制作2D游戏,就选URP。2.配置URP与2DLight在UnityPackageManage

Unity在物体内部发射射线检测不到物体的解决方式

两种方式,建议采用代码,修改设置可能会在其他使用射线的地方鬼畜使用代码…//////射线碰撞检测,正向与反向检测///privateboolCheckCloud(){RaycastHithit;RayrayForward=newRay(LinBroth.transform.position,LinBroth.transform.TransformDirection(Vector3.forward));if(Physics.Raycast(rayForward,outhit,3000)){Debug.DrawRay(LinBroth.transform.position,LinBroth.tra

Unity Texture优化和格式统一设置

usingSystem;usingSystem.IO;usingUnityEditor;namespaceAssets.Optimize{//////图片格式优化和统一///publicclassTextureOptimize{////////////图片所在目录publicvoidFormatSetting(stringdirPath){if(string.IsNullOrEmpty(dirPath))return;if(Directory.Exists(dirPath)){//1.遍历文件夹DirectoryInfodirection=newDirectoryInfo(dirPath);F

Unity3D实现背包系统、物品的拖拽、拾取物品功能

背包系统要在Unity中实现背包系统,你可以创建一个脚本来管理库存和物品。首先,在Unity中创建一个名为“InventoryManager”的C#脚本。在这个脚本中,你可以创建一个将存储在背包中的物品列表。publicclassInventoryManager:MonoBehaviour{publicListItem>items=newListItem>();}接下来,创建一个用于存储在背包中的物品的脚本。在这个例子中,我们将创建一个名为“Item”的脚本,它有一个名称和一个描述。publicclassItem{publicstringname;publicstringdescription

Unity之OpenXR+XR Interaction Toolkit实现 抓取物体

前言我们今天来说一下如何使用XRInteractionToolkit来实现和3D物体的交互之:抓取,简单说就是通过VR手柄拿起来一个物体。二.准备工作我们需要准备好Unity工程和环境配置有了前文:Unity之OpenXR+XRInteractionToolkit基本配置的介绍,我们就不在详细说明这些了,大家自行复习。流程简述:我们新建一个3D(URP)工程然后通过PackageManager安装XRInteractionToolKit插件。配置好XRInteractionToolkit的Preset新建一个3D场景准备工作完毕配置3D物体1.我们随便创建一个3D的球体2.给他添加XR组件:X

unity emgucv Texture2D转Mat / Mat转Texture2D / Texture 转 Texture2D

文章目录Texture2D转MatMat转Texture2DTexture转Texture2DMat是emgucv的类,需要导入dll首先需要导入emgucv要用的dll免积分下载Texture2D转MatprivateMatTexture2DToMat(Texture2Dtexture2D){using(MemoryStreambaseTexture_ms=newMemoryStream(texture2D.EncodeToPNG(),false)){Bitmapbitemap=newBitmap(baseTexture_ms);ImageBgr,byte>imageCV=newImageB

Unity-ROS2与URDF导入(三)

0.简介在我们上一章讲的对于Unity与ROS之间的通信,Toolbox等比较基础的指令。下面我们将结合代码来介绍一下如何导入URDF文件,并通过键盘完成Unity的控制。1.URDF模型创建首先先创建并编辑URDF文件,并命名为toio_style.urdfrobotname="toio_style">linkname="base_link">visual>geometry>boxsize="0.30.30.23"/>geometry>materialname="white">colorrgba="1.01.01.01.0"/>material>visual>collision>geomet