Unity学习
日常记录Unity学习
piyixia
这个作者很懒,什么都没留下…
展开
-
Unity面试题
1.unity的目录有哪些Resources项目中默认的资源路径,会直接打包到游戏包中。即使没有被使用过的资源,放在该目录下也会被打包。Plugins插件目录,该目录在编译项目时,会优先编译,方便项目中代码调用。它与Standard Assets目录的代码共同编译到同一个.sln里。 构建 Android 与 ios 项目时,该目录下会存放相应的配置文件等资源。Editor该...原创 2020-04-11 17:31:16 · 833 阅读 · 0 评论 -
Unity自带调用Ios商店评价
给按钮调用下面这句话就可以了,导出安卓时,记得删除这段代码,不然导出时会报错using UnityEngine;using UnityEngine.iOS; public class IosTest: PeopleBase{ // Update is called once per frame public void Test() { Devi...原创 2020-01-15 18:45:59 · 1815 阅读 · 1 评论 -
Unity模糊远处物体,近处清晰,景深效果
开启景深关闭景深转载:https://blog.csdn.net/puppet_master/article/details/52423905代码连接:https://download.csdn.net/download/piyixia/12097161原创 2020-01-11 12:09:21 · 3529 阅读 · 0 评论 -
Unity中精确获取执行时间System.Diagnostics.Stopwatch
using System.Collections;using System.Collections.Generic;using UnityEngine;using System.Diagnostics;public class Test : MonoBehaviour{ // Start is called before the first frame update ...原创 2019-12-04 18:21:51 · 945 阅读 · 0 评论 -
Application.logMessageReceived
在Unity中调用Application.logMessageReceived就可以监听所有打印消息了 void Start() { Application.logMessageReceived += HandleLog; } void HandleLog(string logString, string stackTrace, LogType...原创 2019-12-04 17:55:20 · 1804 阅读 · 0 评论 -
Unity移动端使用Text存储数据
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using System.IO;public class Data : MonoBehaviour{ private Dictionary<string, string>...原创 2019-11-21 13:52:17 · 448 阅读 · 0 评论 -
Unity使用字符串风格:Split
基本用法:https://www.cnblogs.com/yugen/archive/2010/08/18/1802781.html在Unity中就可以巧用这个用法了,比如一个Text显示两个信息using UnityEngine;using UnityEngine.UI;public class PlayerMsgView : MonoBehaviour{ pu...原创 2019-11-13 16:30:37 · 1450 阅读 · 1 评论 -
Unity关闭所有输出日志
Debug.unityLogger.logEnabled = false;原创 2019-10-24 17:09:43 · 1894 阅读 · 0 评论 -
Unity 编译器扩展之给Project视图,添加按钮功能
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;public class CreatorProjectButton : MonoBehaviour{ [InitializeOnLoadMethod] static void Ini...原创 2019-06-24 22:35:59 · 643 阅读 · 0 评论 -
Unity中UGUI设置按钮的点击效果,及模式转换
模式转换以及点击效果一共有4种改变按钮的点击模式 //改变初始图片 SkillsButton[i].gameObject.GetComponent<Image>().sprite = SkillsButton[i].spriteState.disabledSprite; //改变点击效果 S...原创 2019-06-24 17:58:50 · 4495 阅读 · 1 评论 -
Unity快速定位指定路径
在做Unity安卓的文件序列化和反序列化的时候,用到了路径:Application.persistentDataPath,但是查找起来很麻烦用到编译器扩展的方式,以下代码,快速定位using UnityEngine;using UnityEditor;public class FindData : MonoBehaviour{ [MenuItem("Assets/Open...原创 2019-06-24 10:45:11 · 1822 阅读 · 0 评论 -
Unity自带的存储信息PlayerPrefs
Playerprefs静态方法SetFloat(),SetInt(),SetString()写入数据GetFloat(),GetInt(),GetString()读取数据DeleteKey(),DeleteAll()删除数据HasKey(“SS”)检查数据,是否有该键Save()这些函数的用法基本一致使用Set进行保存,使用获取进行读取。...原创 2019-06-13 22:31:10 · 563 阅读 · 0 评论 -
Unity2d中射线检测物体
void Update() { if(Input.GetMouseButton(0)) { RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition),Vector2.zero); ...原创 2019-06-12 22:24:10 · 2937 阅读 · 0 评论 -
Unity中让UGUI里面的Text跟随2D里面的sprite移动
因为我是在做项目中摸索的,所以很多都是动态生成的,所以我这就介绍主要代码,其他只会大致说下第一步:创建一个2D物体sprite,让他从上往下移动,作为预制体第二步:创建一个一个Text,设置好大小,同样作为预制体第三步:创建一个脚本,挂载到sprite上,这里Canvas要设置标签tag为canvaspublic class PlanetHpFollow : MonoBehavi...原创 2019-06-05 16:52:09 · 2851 阅读 · 0 评论 -
Unity中让物体有呼吸的感觉
效果是实现了,可是看着有点像恐怖片1,先呼气再吸气float beginTime = 0; //默认时间从0开始 bool breathe_IN = false; //默认吸气是不执行的 bool method_IN = false; //默认不允许吸气方法 bool breathe_OUT = true; //在默认情况下,不允许吸气了,那么呼气肯定允许...原创 2019-06-04 10:58:29 · 1633 阅读 · 0 评论 -
Unity3D中根据不同的分辨率,限制物体移动范围
其实,物体移动范围和分辨率没有特别的关系,主要是要知道一个世界坐标的概念我就直接上代码了//将屏幕坐标转化为世界坐标 WorldPos = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width, Screen.height, 0));//限制物体可移动的范围 obj.transform.position = new V...原创 2019-06-03 12:35:40 · 2437 阅读 · 0 评论 -
Unity中EventSystem.current关于UI于2d物体Sprite同时出现,点击冲突问题
第一步:创建一个UI中的image(左)组件,再创建一个2D场景的sprite(右)物体第二步:给sprite添加一个脚本using System.Collections.Generic;using UnityEngine;public class SpriteClick : MonoBehaviour{ // Start is called before t...原创 2019-06-01 00:52:09 · 1401 阅读 · 0 评论 -
Unity UGUI中Scroll Rect拖拽会弹回的问题
解决其实很简单,但是遇到了,不理解就有点无头苍蝇了 首先创建一个空物体(下面叫GridPlane),六张图片,给空物体挂一个Grid Layout Group,设置好空物体的大小,再将图片放进去如下图,直接就排好了再创建一个空物体,设置为和GridPlane一样的大小,挂载一个Scroll Rect,把Scroll Rect中的Content设置为GridPla...原创 2019-05-30 21:28:59 · 5880 阅读 · 0 评论 -
Unity游戏倒计时(包含分钟,秒)
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class TimeDown : MonoBehaviour{ //填写你需要的时间,按秒计算,如120秒,就是2:00; public float CountD...原创 2019-05-30 15:41:47 · 8009 阅读 · 0 评论 -
Unity做Ui遇到的小问题
问题一:GameObject.FindGameObjectWithTag是无法通过标签找到隐藏的物体,最后向拖拽低下了头问题二:想给一些按钮添加遮罩层,让遮罩出现后无法点击按钮,设置Raycast Target就行...原创 2019-05-29 16:27:44 · 536 阅读 · 0 评论 -
Unity常用函数
1.人物移动:public class RigibodywithSphere : MonoBehaviour { Rigidbody rd; public float powerN = 10.0f; public int iCount = 5; // Use this for initialization void Start () { r...原创 2019-03-12 19:15:02 · 2227 阅读 · 0 评论 -
C#数组的使用
//一维数组的定义//定义一个数组并赋值,如果没有赋值默认为0int[] pre = new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };//直接定义赋值int[] pre = { 10 };//二维数组的定义//定义一个二维数组并直接赋值int[,] arrray1=new int[2,5]{{9,9,9,9,0},{0,...原创 2019-02-24 14:25:37 · 1398 阅读 · 0 评论 -
Unity利用鼠标拖拽物体及射线检测的利用
public Camera mCamera = null;//设置物体距离屏幕距离 public float depth = 10f;//类似于碰撞检测函数 void OnMouseEnter() { this.transform.localScale = new Vector3(1.3f, 1.3f, 1.3f); } vo...原创 2019-02-24 15:38:34 · 2151 阅读 · 0 评论 -
Unity 所有碰撞器(触发器),碰撞条件、结果,触发条件
物体发生碰撞的必要条件: 两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体(1)触发器没有碰撞效果(2)IsTrigger=true;触发信息检测: 1.MonoBehaviour.OnTriggerEnter(Collider collider)当进入触发器 2.MonoBehaviour.OnTriggerExit(Col...原创 2019-02-25 11:01:59 · 6280 阅读 · 0 评论 -
Unity中list使用
一、 List的基础、常用方法:1、List<T> mList = new List<T>(); List<string> mList = new List<string>();2.List中的常用函数调用 a.增加元素: 如:mList.Add("123"); b.插入元素:Insert(int ind...转载 2019-02-25 14:11:15 · 25094 阅读 · 0 评论 -
Unity中使用XML做本地排行
public class XmlTop : MonoBehaviour{ List<int> GradesAtt = new List<int>(); public Text[] Grades; // Use this for initialization void Start() { ReadXml(); ...原创 2019-02-25 14:19:44 · 573 阅读 · 0 评论 -
Unity相关的函数
1.获取鼠标位置:Input.mousePosition2.获取手指位置:Input.GetTouch(0).phase3.坐标点从局部坐标系转换到全局坐标系:Transform.TransformPoint;4.坐标点从全局坐标系转换到局部坐标系:Transform.InverseTransformPoint;5.获取屏幕的宽高:scene.width scene.height;6....原创 2019-03-02 16:37:33 · 150 阅读 · 0 评论 -
NGUI中button与button中的物体一起变换颜色
1.首先创建UGUI中的sprite组件,在给sprite添加一个Lable组件2.给sprite,添加Box Collider ,UI Button代码3.再给sprite组件添加一个UI Button代码,把Tween Target设为Lable组件,就完成了...原创 2019-04-18 19:13:46 · 268 阅读 · 0 评论 -
NGUI设置图片适配
//sprite设置Anchors,就可以规定大小,设置图片适配如果图片在场景中的左上角那么设置锚点需要固定顶部和左边原创 2019-04-18 20:21:24 · 502 阅读 · 1 评论 -
NGUI做滑动条
1。首先在UI Root中添加一个sprite组件以及Label组件,分别添加BoxCollider 以及UI Slider2.分别在他子物体下添加两个sprite,作为Bg及Fore3.分别将两个物体拖到Foreground,Background中4.设置Lable内容为100%,sprite中OnValueChange中的Nottify设为如下图5.这样就实...原创 2019-04-18 23:13:38 · 702 阅读 · 0 评论 -
NGUI篇Typewrite Effect与UI Slider colors
1.给Label添加Typewrite Effect脚本,让位置逐渐出现,第一个参数5是每秒出现的字数2.给滑动条添加UI Slider Colors,便可以使得滑动条在不同时间点,有不同的滑动颜色变化2....原创 2019-04-19 21:16:57 · 211 阅读 · 0 评论 -
NGUI中Popup List
第一步:创建一个sprite,挂载Box Collider 与 UI Poupp List第二步:在Options 填入你要显示的内容, 如上图,这时候你的sprite里面并没有显示内容,但是运行时会有填写内容的下拉框第三步:创建一个Lable,设置sprite下的On Value Change 把Label拖进Notify中,在Method选中SetCurrentSelect...原创 2019-04-19 21:34:55 · 407 阅读 · 0 评论 -
NGUI制作CD冷却效果
第一步:添加sprite,设置图片,再给这个sprite添加个sprite的子孩子第二步:设置CDShade,设置Type模式,Fill Dir默认360就好第三步:给sprite父类添加脚本,代码如下using System.Collections;using System.Collections.Generic;using UnityEngine;public ...原创 2019-04-21 00:04:15 · 123 阅读 · 0 评论 -
NGUI拖拽让物体缩放
第一步:创建个sprite,再给其添加一个sprite的子孩子,如图第二步:给sprite添加Box Collider 和UI Drag object脚本,设置UI Drag object脚本中的Target为自身第三步:给Child添加Box Collider 和UI Drag Resize脚本,将UI Drag Resize脚本中的target设置sprite,适配调节Anch...原创 2019-04-21 13:37:55 · 277 阅读 · 0 评论 -
C#中委托事件
1.首先建立一个新郎类class BrideGroom{//定义一个委托 public delegate void MarriedHandle(string name);//定义一个委托对象 public event MarriedHandle marrHadle;//发送消息函数 public void SendMag(string msg) { ...原创 2019-04-22 23:38:00 · 155 阅读 · 0 评论 -
UGUI组件中的动态函数与静态函数
首先创建一个cube和slider滑动条给cube添加一个脚本,代码如下using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class cubeRotate : MonoBehaviour { public f...原创 2019-04-23 23:52:42 · 166 阅读 · 0 评论 -
UGUI用九宫格设置图片拉升后的模糊
传入一张图片,边框模糊度很高点击资源下的图片,在编辑器右边点击Sprite Editor设置九宫格就完成了效果如下原创 2019-04-25 22:52:14 · 758 阅读 · 0 评论 -
UGUI中Toggle,Toggle Group及Grid Layout Group简单说明使用
Toggle是一种模拟开关的组件,点击就能显示你想要的效果Toggle Group 则是一种控制Toggle的脚本,可以控制多个Toggle组件,只有一个能显示效果Grid Layout Group 则是一种对物体排列的脚本,可以控制每个在他范围内的物体进行有规则的排序...原创 2019-04-26 01:00:39 · 271 阅读 · 0 评论 -
Unity简单对象池Pool
第一步:创建2个脚步,如图代码如下:Pool脚本using System.Collections;using System.Collections.Generic;using UnityEngine;public class pool : MonoBehaviour { public GameObject goPrefabs; //对象池子 pri...原创 2019-05-07 15:54:44 · 1161 阅读 · 0 评论 -
Unity中轨迹组件Trail Renderer
1、新建场景,创建一个球,在球上添加组件Trail Renderer。2、在Trail Renderer组件设置Time为0.5,Materials材质。3.Width下点击右键“Add key”添加控制点,起始宽度为1.0,结束宽度为0.0。在Scene场景中拖动球,就可以看到拖尾效果了。https://blog.csdn.net/zouxin_88/article/d...转载 2019-05-09 15:29:40 · 1752 阅读 · 0 评论