首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AR涂涂乐⭐六、 UGUI精灵格式、自动延迟截图、优化“4”、移出扫描框终止截图进程

Canvas的Canvas Scaler组件(Canvas来自Unity的UI) public class Area : MonoBehaviour { public Material Red_Mate...Cans; //申请变量储存UI屏幕自适度(长&宽)的缩放组件 private float X_Sc; //申请浮点型变量储存实际的缩放比例(实际的/Unity使用的) private...PlaneWH = new Vector2(gameObject.GetComponent().mesh.bounds.size.x, gameObject.GetComponent...} } } 本章注意事项: 1、要作为UGUI使用的图片,格式应该精灵格式,即其Texture Type——Sprite(2D and UI) 2、之前UI显示的画面都是Unity...自动生成的UI,所以不需要我们改动,但我们自己添加的需要改成上述格式 3、我们在代码中确定了识别框UI的大小,所以一定不能在Unity中随意拖动识别框改变它的大小,否则计算不成功。

6710

Unity3D学习笔记2——绘制一个带纹理的面

使用材质 2.3. 光照 3. 代码 1. 概述 上一篇文章《Unity3D学习笔记1——绘制一个三角形》中介绍了Unity3D的HelloWorld——绘制一个简单的三角形。...当然我们也可以使用6个顶点,按照自然顺序来确定顶点索引。但是这样一来,就浪费了空间存储。这也是使用顶点索引的好处,可以节省空间,毕竟Mesh中的很多顶点是共用的。 2.2....创建材质 材质和纹理(图片)在Unity3D中被认为是一种资源,要加载他们需要特定的办法。一种比较简单的办法是使用Resources.Load。...在Assets目录下创建一个名为Resources的文件夹,只有使用这个目录下的资源,使用Resources.Load才能找到。...Unity3D新建的材质默认为标准,是一种PBR材质,由多种贴图混合而成。我们这里暂时只设置Albedo贴图,也就是基本颜色贴图。

1.1K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Unity3D学习笔记5——创建子Mesh

    概述 在文章Unity3D学习笔记4——创建Mesh高级接口通过高级API的方式创建了一个Mesh,里面还提到了一个SubMesh的概念。...创建顶点属性我使用的是简单接口,创建顶点索引属性信息使用的是高级接口。...另外,GameObject上挂接的材质个数也要对应: MeshRenderer meshRenderer = gameObject.GetComponent(); if (meshRenderer...数量没对应上Unity编辑器会报错。 通过划分SubMesh的方式来描述一个Mesh通常是用于存在多个材质的情况,如果使用的都是同一个材质,就最好不要作SubMesh划分。...原因在于图像引擎通常是一个状态机,一个材质需要对应一个渲染指令,这就是为什么我们往往要尽可能复用材质,减少不同材质的个数。 3. 参考 Unity3D学习笔记4——创建Mesh高级接口

    72210

    Box2DSharp使用手册#1

    他可以不依赖于任何其他环境进行独立的物理行为模拟。使用该物理引擎库最出名的游戏应该是《愤怒的小鸟》。...Box2DSharp的工程文件依赖于Unity2019版本,也就是说如果你使用的不是Unity那么反而可以安心的使用Box2DSharp,而你想要在更高版本的Unity中使用就要解决其兼容性问题。...在Unity2019以上的版本中使用会出现Unsafe(这里是大写方法名)报错,该方法在System.Rutime.CompilerServices.Unsafe.dll中,你甚至可以在Unity本体的...但是在更新版本的Unity中,Unity在Assembly的引用中并没有把该dll加入引用集中,这导致你直接用VS打开他自己的sln文件时VS不会报错,但用Unity的工程sln中就会出现Unsafe方法名报错...此时需要在VS上方选项栏中选择工具->选项->适用于Unity的工具,并把其中的访问项目属性改为True,之后对于你需要的Assembly中右键属性,勾选允许使用不安全代码开关。

    1K30

    AR涂涂乐⭐八、(add)优化原代码“7”、正方形识别图改为矩形识别图、增加BGM和App 图标

    此时截图保存在内存中,未使用。...; using UnityEngine.UI; //因为屏幕自适度原因,使用了Canvas的Canvas Scaler组件(Canvas来自Unity的UI) public class Area...CanvasScaler Cans; //申请变量储存UI屏幕自适度(长&宽)的缩放组件 private float X_Sc; //申请浮点型变量储存实际的缩放比例(实际的/Unity...使用的) private Vector2 TopLeft_UI, BottomLeft_UI, TopRight_UI, BottomRight_UI; //记录扫描框坐标 二维!...} } } 本章注意事项: 我们在代码中确定了识别框UI的大小,所以一定不能在Unity中随意拖动识别框改变它的大小,否则计算不成功。 大家还有什么问题,欢迎在下方留言!

    6910

    unity3d地形系统总结

    前言: 本文不是讲地形编辑器的使用,而是主要讲解(1)地形相关知识(2)使用代码创建地形(3)使用AnimationCurve创建曲面地形(4)使用photoshop绘制地形表面,即SplatAlphaMap...Unity提供的地形编辑器也十分好用,但是依然有少许不足和缺陷。 Unity地形编辑器的不足: 1)地形只能是成片的抬高或者降低。如果想定制某特定斜率,或者特定曲线的地形就没法实现了。...不过Unity提供了强大的地形脚本接口,可以弥补上述不足。...如new Vector3(50, 50, 50); 4.terrainData.alphamapResolution alphamap的分辨率,如512; 地形贴图信息储存在Terrain之下的SplatAlpha...(5)动态创建地形,使用photoShop绘制 多张splats 三张以下的地形贴图一般不会出错,但是超过四张时就要注意了。用photoShop绘制a通道并导入unity是比较容易出错的。

    2.5K40

    Unity & 蓝湖 关于UI工作流优化的思考(二)

    背景和历史版本在下面这篇文章中查看: Unity & 蓝湖 关于UI工作流优化的思考 最新版本: 本文旨在让不会使用Unity的其他人员在简单了解该工具后,可以帮助研发人员搭建Unity中的UI预制体...一个UI视图的预制体的制作步骤如下: 1.在蓝湖中下载该视图的所有相关切图 2.将下载的切图资源包解压缩后,拖入到Unity中Project窗口的Assets目录中的任一文件夹内 3.选中所有切图,...6.点击创建,创建一个Canvas画布,也可以选择场景中已有的Canvas 7.添加 点击添加按钮,添加一项UI视图元素 在蓝湖中点击切图的样式信息中的内容即可复制 回到Unity,点击粘贴按钮...随着预制体的生成,工具还会将该视图的所有配置信息以资产的形式保存下来 12.导入 当想要修改一个UI视图的某一元素时,点击导入按钮,将该视图的配置资产文件进行导入,修改配置内容后重新生成即可。...rt.anchorMin.y + rt.offsetMin.y / prt.rect.height); Vector2 anchorMax = new Vector2(

    80811

    Unity基础(24)-UGUI

    Panal控件就是包含Image组件的, Image控件也是包含Image组件的,Sprite 有图集的概念,可以选择整图导入,UNITY中使用SpriteEditor切割,也可以选择导入后设置图片的packageTag...1.无论是什么格式的图片(最好直接使用PS直接导出的PSD格式),Unity都会自己搞一套格式,并且打包的时候也不会用你文件夹下图片的格式,而是Unity自己的格式。...Splite 可以直接选CreatMipMap,Texture需要把图片设置为Advance后选择是否使用多级纹理渐变技术(unity会根据相机距离对象距离,生成8个Mip, 该做法在3D场景UI是很好的做法...1024*568,该项设置成4096,unity也只会使用它的原尺寸大小,改值的大小大于等于图片原尺寸,如果小于该纹理质量会有损失 5.Format 格式设置 Compressed 压缩格式,如果纹理没有透明通道...使用区段的字形几何执行水平对齐,而不是字形指标。 这可以导致更好的拟合左和右对齐,但可能会导致不正确的定位当试图覆盖多个字体(如专业轮廓字体)上。

    4.5K20

    Unity & 蓝湖 关于UI工作流优化的思考

    我们Unity项目关于UI界面制作的工作流是这样的,UI设计人员将设计好的UI界面在Adobe XD中上传至蓝湖,Unity程序猿从蓝湖中下载切图资源包导入项目工程中,根据蓝湖中的效果图、样式信息进行界面的搭建...,可以判断其位置信息是在以左上角为原点的坐标系中的,而且在Unity中RectTransform组件以(0.5,0.5)为默认的轴心点,因此在考虑横坐标时需要计算上该图层宽度的一半,考虑纵坐标时需要计算上该图层高度的一半...: 以这个按钮图层为例,在Unity中我们将其RectTransform组件中的锚点设为左上角,Pivot轴心点使用默认的(0.5,0.5),则其横坐标则是209+225 * 0.5,纵坐标则是...最终只能在Unity中去着手,将更多的工作量通过自动化去完成,于是又有了这样的思路:记录切图所在的文件夹的路径,从蓝湖中复制粘贴界面中所有图层的样式信息,点击生成,通过图层的名称在切图所在的文件夹中加载该切图...= null) { var image = new GameObject(obj.name).AddComponent

    80810

    unity3d 入门

    unity关联vs vscode直接加载文件夹,不要使用unity右键打开项目,unity2019bug导致vscode打开后没有界面,后才占用项目,不能右键打开。...transition转换(转换控制时间轴),通过参数判断状态转换 TimeLine:时间轴,多元素 元素 节点,Gameobject,使用transform属性可以设置子节点 TileMap绘制图层,通过...中分解为animation、resource、material、texture绑定到gameobject中使用 GUI RectTransform组件: 锚点(透明三角):四个三角符号到窗口四个角距离固定...Unity中使用System.IO中的DirectoryInfo打包会找不到路径 android目录 application.datapath unity的资源目录,权限导致写入数据容易失败 temporaryCachePath...setting中的编号 start函数中GameObject.DontDestroyOnLoad(gameObject); //设置场景切换不销毁的对象 PlayerPrefs.SetFloat、getfloat

    2.8K10

    unity3d 入门

    unity关联vs vscode直接加载文件夹,不要使用unity右键打开项目,unity2019bug导致vscode打开后没有界面,后才占用项目,不能右键打开。...transition转换(转换控制时间轴),通过参数判断状态转换 TimeLine:时间轴,多元素 元素 节点,Gameobject,使用transform属性可以设置子节点 TileMap绘制图层...中分解为animation、resource、material、texture绑定到gameobject中使用 GUI RectTransform组件: 锚点(透明三角):四个三角符号到窗口四个角距离固定...Unity中使用System.IO中的DirectoryInfo打包会找不到路径 android目录 application.datapath unity的资源目录,权限导致写入数据容易失败 temporaryCachePath...setting中的编号 start函数中GameObject.DontDestroyOnLoad(gameObject); //设置场景切换不销毁的对象 PlayerPrefs.SetFloat、getfloat

    3.6K20

    ECS(Entitas) For Unity #1

    工作逻辑:Unity中的GameObject链接需要的Entity,Entity链接加载System功能,System处理功能/逻辑,增删改查Component数据。...2、只要GameObject包含的Entity中有该功能,那么GameObject就有该功能 举例:有一个System的功能实现了奔跑的逻辑,奔跑的数据存储在了相应Component中,只要任何GameObject...Hello World示例 示例:传送门 ---- 02.用Entitas编写一个人物移动脚本 结论 前置准备工作:因为使用了Entitas作为基础框架,所以可以在(你的Unity目录)\Editor\...其中Hybrid是Entitas和MonoBehavior的混合代码,在这里他主要的工作是把Entitas中的Entity连接到Unity的GameObject上。...代码末尾view.Link(m_contexts, gameEntity);的实现是在Hybrid文件夹中的代码,他主要的作用为:gameObject.Link(entity);把Gameobject上链接对应的

    9.6K51
    领券