Unity
piyixia
这个作者很懒,什么都没留下…
展开
-
Unity 简单的预制体管理方式带对象池功能
游戏开发过程中遇到需要频繁创建和销毁的对象为了方便创建通常会使用预制体的方式进行生成,而为了避免对垃圾回收造成压力通常会使用对象池来对这些预制体进行管理。但是加载,实例化预制体需要额外的代码控制。这里提供了一种简单的管理方案。首先创建一个基类,这个类用于自动获取预制体并将其放入对象池进行管理基类代码:using UnityEngine;using System;using Sys...原创 2020-01-14 16:26:03 · 1063 阅读 · 0 评论 -
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实现Ios内购
网上有很多种方法,不过我用这个就一次性成功了https://www.cnblogs.com/yzxhz/p/9618665.html原创 2019-10-31 14:54:11 · 732 阅读 · 0 评论 -
Ios13中设置窗口为全屏显示
在Podfile里添加此行内容:pod 'DVVFixModalPresentationStyle', :git => 'https://github.com/devdawei/DVVFixModalPresentationStyle.git', :tag => 'v1.0.0'具体点击这个原创 2019-10-23 13:47:03 · 2884 阅读 · 0 评论 -
Iphone最全信息,屏幕信息,识别码
点击这里原创 2019-10-18 16:49:35 · 721 阅读 · 0 评论 -
Unity快速定位指定路径
在做Unity安卓的文件序列化和反序列化的时候,用到了路径:Application.persistentDataPath,但是查找起来很麻烦用到编译器扩展的方式,以下代码,快速定位using UnityEngine;using UnityEditor;public class FindData : MonoBehaviour{ [MenuItem("Assets/Open...原创 2019-06-24 10:45:11 · 1822 阅读 · 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中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 评论 -
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中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常用函数
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做Ui遇到的小问题
问题一:GameObject.FindGameObjectWithTag是无法通过标签找到隐藏的物体,最后向拖拽低下了头问题二:想给一些按钮添加遮罩层,让遮罩出现后无法点击按钮,设置Raycast Target就行...原创 2019-05-29 16:27:44 · 536 阅读 · 0 评论 -
Unity自带的存储信息PlayerPrefs
Playerprefs静态方法SetFloat(),SetInt(),SetString()写入数据GetFloat(),GetInt(),GetString()读取数据DeleteKey(),DeleteAll()删除数据HasKey(“SS”)检查数据,是否有该键Save()这些函数的用法基本一致使用Set进行保存,使用获取进行读取。...原创 2019-06-13 22:31:10 · 563 阅读 · 0 评论 -
Unity移动端本地保存数据
其实电脑和手机端都可以保存数据的,我这是采用二进制的方法保存,浏览文档里面的内容可能就比较麻烦了第一步:数据类using System.Collections;using System.Collections.Generic;using UnityEngine;using System;[Serializable]public class GameDate{ //这...原创 2019-08-26 11:28:19 · 1817 阅读 · 0 评论 -
Unity关闭所有输出日志
Debug.unityLogger.logEnabled = false;项目发布后,输出日志还是需要消耗一部分内存的,所以发布前关闭所有输出日志还有有必要的原创 2019-08-25 11:45:42 · 2665 阅读 · 0 评论 -
Unity导出Apk,将包资源减小
最近一次Unity打包的项目Apk突然小了10m左右,原来是少勾选了一项x86,具体内容可以看下下面这篇文章https://www.jianshu.com/p/d134447cf784原创 2019-07-23 14:13:29 · 980 阅读 · 0 评论 -
Unity制作app离线计时器
先讲个大概思路1.退出应用后,本地保存上次退出时间(安卓读取数据)2.进入应用时,用现在的时间减去上次退出的时间,获得离线时间本地数据using System;using System.Collections.Generic;[Serializable]public class GameDate{ //这个类是获取数据和传递数据的 private D...原创 2019-07-19 12:16:23 · 1050 阅读 · 0 评论 -
Unity获取Ui的Posx与Posy以及Width Height和Top Bottom
获取Posx,Posx,通过anchoredPosition GetComponent<RectTransform>().anchoredPosition.x;获取Width Height,通过sizeDelta gameObject.GetComponent<RectTransform>().sizeDelta.y;获取TopGetCompon...原创 2019-07-04 10:26:32 · 8244 阅读 · 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中让物体有呼吸的感觉
效果是实现了,可是看着有点像恐怖片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中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中轨迹组件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 评论 -
Unity中三种与旋转相关的方法
//RotateAround围绕这某个对象旋转transform.RotateAround(target.transform.position,Vector3.up,45.0f*Time.deltaTime);//延自身旋转transform.Rotate(Vector3.right);//挂载相机上将跟随锁定目标视角transform.LookAt(target.tran...原创 2019-05-10 17:10:22 · 798 阅读 · 0 评论 -
C#Tcp服务端与客户端接收消息与发送消息
服务端的搭建using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Net.Sockets;using System.Net;namespace TCP服务器{ class P...原创 2019-05-12 15:36:33 · 9655 阅读 · 0 评论 -
c#中Tcp服务端和客户端异步加载数据及服务端接受多个客户端消息
//服务端using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Net.Sockets;using System.Net;namespace TCP服务器{ class Pr...原创 2019-05-12 17:50:26 · 956 阅读 · 0 评论 -
Shader概述
一:什么是Shader? Gpu流水线上一些可高度编程的阶段,而由着色器编译出来的最终代码是会在Gpu上运行的; 有一些特定类型的着色器,如顶点着色器,片元着色器等。 依靠着色器我们可以控制流水线中的渲染细节,例如用顶点着色器来进行顶点变换及传递数据,用片元着色器来进行逐像素渲染。二:shader形成过程:第一步:应用阶①:把数据加...原创 2019-05-13 11:28:09 · 461 阅读 · 0 评论 -
c#值类型与引用类型及接口
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication1{ class Program { static void Main(s...原创 2019-05-14 10:06:25 · 421 阅读 · 0 评论 -
Unity的GC优化,原理及方式,DC优化
GC 垃圾回收: https://blog.csdn.net/qq_35957011/article/details/84103734DC DrwaCall:https://blog.csdn.net/qq_36848715/article/details/80424019原创 2019-05-15 09:08:19 · 2629 阅读 · 0 评论 -
Unity 实现 简单的事件机制
实现一个静态类,用{字符串,委托}字典储存回调方法。using System.Collections;using System.Collections.Generic;using UnityEngine;public static class GobalEvent{ //事件委托 public delegate void callBack(); //事件字典...原创 2019-05-17 12:17:31 · 748 阅读 · 0 评论 -
Unity用WWW加载图片
//将脚本挂在一个物体上就行using System.Collections;using System.Collections.Generic;using UnityEngine;public class UseWWW : MonoBehaviour { // Use this for initialization public string path = "h...原创 2019-05-17 17:27:17 · 1679 阅读 · 0 评论 -
Unity中AssetBundle打包
第一步:设置好AssetBundle第二步:代码实现,打包本地,需要编译器扩展using System.Collections;using System.Collections.Generic;using UnityEngine;using System.IO;using UnityEditor;public class AssetBuildr{ [MenuIte...原创 2019-05-23 17:04:39 · 175 阅读 · 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 评论 -
UGUI中Toggle,Toggle Group及Grid Layout Group简单说明使用
Toggle是一种模拟开关的组件,点击就能显示你想要的效果Toggle Group 则是一种控制Toggle的脚本,可以控制多个Toggle组件,只有一个能显示效果Grid Layout Group 则是一种对物体排列的脚本,可以控制每个在他范围内的物体进行有规则的排序...原创 2019-04-26 01:00:39 · 271 阅读 · 0 评论