Unity
文章平均质量分 50
weixin_43842987
这个作者很懒,什么都没留下…
展开
-
Unity UI 文字背景自适应
(用于背景图片原始尺寸就过大的情况)层级关系1.PyImage上增加ContentSizeFitter组件(根据横向还是纵向扩展将对应的参数改为 MinSize),并且将锚点修改为(0,1),增加(纵向扩展)Vertical LayoutGroup组件,同时将imageType修改为Sliced格式2.在文本组件中添加 Layout Element 组件,并调节最小高度(Min Height)为你需要的高度即可...原创 2021-07-06 16:48:29 · 770 阅读 · 1 评论 -
Unity UI基础
一、Rect Transform基本参数Anchors代表了这个物体的锚点相对于父物体的对齐方式(锚点在左上角时,代表物体针对父物体的左上角对齐,移动左上角的时候,子物体会跟随父物体移动) (锚点默认以父物体的左下角为(0.0)点,锚点在父物体的几何中心时,对应的参数就为min(0.5,0.5 ) max(0.5,0.5))Min可以理解为做部分锚点的坐标(同理可知,max就是另一部分,不做赘述)PivotPivot表示这个物体的中心点的位置,(0,0)代...原创 2021-06-25 15:04:36 · 1063 阅读 · 0 评论 -
Unity数据持久化——LitJson、JsonUtility
LitJson是第三方插件JsonUtility是Untiy自带的一、JsonUtility创建Jsonusing System.Collections;using System.Collections.Generic;using UnityEngine;//先导入System命名空间才有Serializable关键字using System;//使用JsonUtility必须要在转成Json数据的类上加关键字[Serializable]public class Person原创 2021-05-18 16:15:46 · 350 阅读 · 0 评论 -
Unity的序列化和反序列化——XML和JSON
一、序列化、反序列化什么是序列化、反序列化?序列化就是把数据对象转换成二进制流保存为本地文件的过程。 反序列化就是把储存有数据信息的二进制文件还原成数据对象的过程。序列化的意义以某种储存形式(二进制/XML,今天只讲二进制方法)使自定义对象持久化 方便将对象从一个地方移动到另一个地方(转移文件再反序列化读取) 使游戏数据不容易被直接篡改二、XML和JSONXML扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标转载 2021-05-18 11:39:11 · 367 阅读 · 0 评论 -
Unity TimeLine基础
TimeLine 可以用作过场动画电影效果TimeLine的创建和动画创建过程类似(已经设置好的TimeLine ,右键轨道选择CuvertToClipTrack就可以将已经设置好的轨道转化为一个整体)一、Extrapolation设置需要了解Animation Extrapolation设置Pre-Extrapolate:动画播放前物体的状态None:动画播放前使物体保持在(0,0,0)点Hold:动画播放前物体保持在动画开始的位置Loop:动画一直循环播放,不管动画是否设置原创 2021-05-11 18:00:17 · 168 阅读 · 0 评论 -
Unity射线检测
射线与具有碰撞器的模型发生了碰撞,将停止发射。可以用来实现子弹是否击中目标的检测,鼠标点击物体等。常用方法射线检测有4个不同参数的方法:1.public static bool Raycast (Vector3 origin, Vector3 direction, out RaycastHit hitInfo, float maxDistance, int layerMask, QueryTriggerInteraction queryTriggerInteraction);/*根据参数顺序,参原创 2021-05-10 16:34:51 · 244 阅读 · 0 评论 -
Unity控制相机跟随
如何控制相机始终跟随在角色后方(角色转向相机也转向) private Transform Player; private Vector3 offset; //相机和游戏物体偏移量 private float smoothing=3; 平滑值 void Start() { Player=GameObject.FindGameObjectWithTag("Player").transform; //找到游戏物体 o原创 2021-05-10 10:50:03 · 135 阅读 · 0 评论 -
Unity粒子系统实战
细节处理:1.粒子系统在观察的时候每个粒子都会有一个橙黄色的外框在Gizmos中可以取消外框2.有多个粒子系统时,想要创建一个父物体来管理时,不能创建空物体来作为其的父物体(这样会导致旗下的所有粒子系统都不可见),而是需要创建一个粒子系统,将其所有参数取消勾选作为父物体即可。3.推荐几个个Shader使用 Legacy->Particle->Additive(效果是更加明亮一些)Partocles/Standard Surface 使外表更加明亮一些一、火花场景粒子系统的Ren原创 2021-05-08 18:21:26 · 655 阅读 · 0 评论 -
Unity动画系统
一、创建动画1.选中要添加动画的游戏对象2.Window—>Animation->Animation会生成两个文件一个是.anim文件即动画文件.controller动画控制器文件(选中状态机 ,点击Window->Animation->Animator,即可进入状态机编辑,如下图)二、认识Animation编辑面板三、使用动画控制物体移动1.在Animation编辑界面中点击Add Property2.选择Position3.添加需要修改的数据(图中原创 2021-04-30 18:24:10 · 1462 阅读 · 2 评论 -
UnityUI——使用Sprite Editor
1.首先选择Texture Type为 Sprite(2DandUI)2.在Sprite Mode中选择Multiple(Sprite Mode中共有三个参数Single 单一模式,将Sprite用做一张单独的图片 Multiple多重模式,在此模式下可以对图片进行裁剪,分割为多个图片Polygon多边形模式 )3.点击Sprite Editor按钮,弹出Sprite Editor试图4.在视图中选择好框好需要提取的图像,点击左上角Trim,就会对齐所选物体5.点击Apply即可切割图.原创 2021-04-29 16:12:02 · 1601 阅读 · 0 评论 -
Unity Shader(一)渲染流水线
一、基本知识渲染流水线用来生成或者渲染一张二维纹理,即我们在电脑上看到的所有效果。它的输入是一个虚拟摄像机、一些光源、一些Shader以及纹理1.什么是渲染流水线?由一个三位场景出发,生成(或者说渲染)一张二维图像(即计算机从一系列的顶点数据、纹理等信息出发,把这些信息转换成一张图片)。这个工作由CPU和GPU共同完成渲染流程可以分为三个阶段应用阶段-几何阶段-光栅化阶段(一)、应用阶段通常由CPU负责,开发者具有这个阶段的绝对控制权。这一阶段中,开发者主要有三个任务:1.准备好场景原创 2021-04-28 18:25:34 · 134 阅读 · 0 评论 -
Unity基础与AssetBundle
一、基础(一)、资源导入Unity导入资源时:1.Unity为资源分配唯一ID2.创建.meta文件3.对资源进行处理.meta文件中包含了资源的唯一ID,且与资源文件在同一文件夹下。如果在unity的窗口之外移动或命名资源,但没更新.meta文件,则对该资源的任何引用都会中断,并且生成新的.meta文件(二)、Editor文件夹不管在哪里出现当Unity 编辑的时候都会运行这个文件夹下的内容(也不管有几个)该文件夹下的代码要加 using UnityEditor;二、AssetBun原创 2021-04-28 18:24:00 · 146 阅读 · 0 评论 -
Unity DoTween插件
一、常用方法1.gameobject.DOMove(new vector3(x,y,z),3)在3秒内gameobject移动到(x,y,z)的位置(世界坐标)2.gameobject.DOLocalMove(new vector3(x,y,z),3)在3秒内gameobject移动到(x,y,z)的位置(本地坐标)3 .gameobject.DOMovex(5,1)一秒内移动到x=5的位置(只移动x轴),yz轴同理4 .gameobject.DOPlayBackwards();动画倒放5.g原创 2021-04-27 18:29:46 · 219 阅读 · 0 评论 -
Unity粒子系统基本
一、基本属性(一)、Particle System(以下的粒子大小指的是单个粒子的大小,而transform组件中的Scale组件影响的是整个粒子系统的范围(即Shape的大小),可能会间接影响到粒子大小)参数名意义Duration粒子系统持续的时间Lopping是否循环Prewarm是否预热(如果勾选上了,表示一开始粒子就将充满图片,如果没勾上则粒子一点点出现)StartDelay粒子系统延迟开始的时间StartLifttime每个粒子的生命时原创 2021-04-26 18:03:07 · 3247 阅读 · 0 评论 -
Unity2D UI——RawImage和Image
一、Image的属性1.Source Image:只支持Sprite类型的图片2.color:给图片上颜色3.Material:放入材质4.Raycast Target:是否启动射线检测5.Maskable:6.Image Type:图片类型Simple:普通Sliced:九宫格切片(按照九宫格处理拉伸)Tiled:平铺(图片本身大小保持不变,像地砖一样铺满整个Image)Filled:填充(例如:血条、蓝条)7.Preserve Aspect:是否保持宽高比二、Raw Imag原创 2021-04-26 14:16:00 · 575 阅读 · 0 评论 -
Unity2D UI拼接——Layout布局组件
Grid Layout Group组件的使用一、添加在需要布局的所有物体的父级上二、参数的意义(一)、Padding控制了第一个物体在父级物体中的位置(二)、Cell Size表示每一个物体的大小(三)、Spacing代表每一个物体之间的间距(四)、Start Corner:Corner枚举类型代表了第一个物体放在那个角落,默认为左上角(五)、Start Axis:Axis枚举类型表示优先排列单元格Horizontal:优先水平排列单元格Vertical:优先垂直排列单元格(原创 2021-04-25 17:35:13 · 757 阅读 · 0 评论 -
Unity2D UI拼接——Sprite图片部分縮放
在缩放图片时,只需要放大中间局部的部分,而不需要缩放侧边时,通过Sprite操作完成1.找到需要缩放的图片,进入Inspector界面2.点击Sprite Editor3.选中需要缩放的部分,点击Apply应用4.把在调用该图片的Image组件中的Image Type选择到Sliced即可...原创 2021-04-25 17:11:45 · 952 阅读 · 0 评论 -
Unity2D UI——富文本
一、富文本使用富文本可以单独调整text中文字的样式,且还可以插入图片二、常见用法<color=green>绿色修改字体颜色加粗 斜体<size=50>largely (size还可以用来设置图片大小)<material=2>texturally 修改材质,对文本网格有效(Text Mesh)<sprite=2> 选择asset文件中index为2的图片voffset(垂直偏移用法)<voffset=2em>膜<v原创 2021-04-22 17:35:17 · 497 阅读 · 0 评论 -
Untiy2DUI拼接——构造Canvas
Untiy2D——UI拼接一、构造canvas(环境)1.先建立一个Canvas2.在Canvas下建立一个任意的UI组件3.在该UI组件下在建立一个Canvas,并将第一层的Canvas的三个Component全部清除4.将其拉成预制体5.进入预制体中将其Canvas下的都清空即可...原创 2021-04-22 15:08:21 · 370 阅读 · 0 评论 -
Unity collosion.Message方法
Unity collosion.SendMessage方法SendMessage:会向该游戏对象上的所有Monobehavior脚本发送消息,发送的内容便是:SendMessage(“函数名”,参数,是否必须有接收方法)。1.第一个参数(函数名)指的就是所要传递的消息的名称, 游戏对象所有Monobehavior脚本里与该名称同名的方法将被调用。2.第二个参数指的是方法所需要传递的参数,可以为null3.第三个参数指的是是否必须有接收方法,SendMessageOptions.RequireRec原创 2021-04-01 14:57:09 · 130 阅读 · 0 评论 -
Unity中FixedUpdate和Update函数的区别
Unity中FixedUpdate和Update函数的区别Update():每帧执行,代码每秒执行N次,但是由于电脑每帧的时间不是稳定的所以每次执行的时间间隔是不同的FixedUpdate()(物理帧执行):执行顺序在Update之后,每帧执行,每秒执行N次,但每一帧的时间都是固定的,即每一帧相隔的时间都是相同的因此,如果使用Update()来写物体的物理关系的时候(例如碰撞等),物体的每帧受力不均匀就会出现一些问题(例如2D碰撞造成图片抖动),所以涉及到物理关系使用FixedUpdate()更好一些原创 2021-03-22 11:31:37 · 621 阅读 · 0 评论