unity
孤烟冷~
若世有神明,亦要胜他半子!
展开
-
unity Socket(局域网内才能连接上的)
需要自己写服务端的局域网内使用的Socket。原创 2022-09-15 16:21:11 · 602 阅读 · 1 评论 -
unity 连接WebSocket
unity 连接WebSocket原创 2022-09-15 16:11:22 · 3783 阅读 · 0 评论 -
unity里现实摄像头运镜并LookAt到物体前方 基于Dotween
1.基于Dotween 为了避免使用Update或循环带来的每帧多余消耗2.这里控制的是主相机到一个物体的运镜原创 2022-06-17 11:55:57 · 2254 阅读 · 0 评论 -
unity 加载本地资源的几种方式
1.Resources:Resources.Load<T>(path);2.AssetDatabase:AssetDatabase.LoadAssetAtPath<T>(path);3.WWW:public static IEnumerator WWWLoad(string url){ WWW www = new WWW(url); yield return www;}4.UnityWebRequest: public static IEn原创 2022-03-17 10:43:07 · 5120 阅读 · 0 评论 -
unity 保存数据到本地的方法
保存到本地 离线可拿取PlayerPrefs.SetInt();//保存整型数据PlayerPrefs.SetFloat();//保存浮点型数据PlayerPrefs.SetString();//保存字符串型数据PlayerPrefs.GetInt();//读取整型数据PlayerPrefs.GetFloat();//读取浮点型数据PlayerPrefs.GetString();//读取字符串型数据...原创 2022-03-17 10:36:57 · 6482 阅读 · 0 评论 -
unity里的截图方式
1.使用Application类下的CaptureScreenshot方法。全屏截图Application.CaptureScreenshot(“Screenshot.png”, 0);2.使用Texture2d 范围截图/// <summary> /// Captures the screenshot2. /// </summary> /// <returns>The screenshot2.</returns> /// <par原创 2022-03-17 10:35:12 · 3570 阅读 · 0 评论 -
C#类的拷贝
/// <summary>/// 深拷贝接口/// </summary>interface IDeepCopy{ object DeepCopy();}/// <summary>/// 浅拷贝接口/// </summary>interface IShallowCopy{ object ShallowCopy();}class A : IDeepCopy, IShallowCopy{ struct Str原创 2022-03-17 10:32:52 · 1158 阅读 · 0 评论 -
unity的消息收发机制(观察者模式)
using SpatialMap_SparseSpatialMap;using System;using System.Collections;using System.Collections.Generic;using System.Linq;using UnityEngine;using UnityEngine.UI;public static class EventMsgMgr{ public delegate void EventFunc(params object[].原创 2022-03-17 10:29:29 · 2537 阅读 · 0 评论 -
C#获取一个时间区间
最近需要用到这个功能 所以简单记录一下 拿到开始时间 var startTime = (double)Time.time; //await *********;等待过程 //最后结果 startTime = (double)Time.time - startTime;原创 2022-03-17 10:25:36 · 395 阅读 · 0 评论 -
unity C#解析本地.json文件
本地路径+文件名称加后缀 StreamReader streamReader = new StreamReader(Path + JsonName.json); string str = streamReader.ReadToEnd();原创 2022-03-17 10:20:49 · 3024 阅读 · 1 评论 -
unity的简化型EventTrigger
using System;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;/// <summary>/// 简化型EventTrigger/// </summary>public class EventTriggerListener : EventTrigger{ public Action onClick = null; public Action onD原创 2022-03-11 18:29:52 · 988 阅读 · 0 评论 -
unity 实现一个视频播放暂停 slider滑动进度 的播放视频模块
上代码using System;using System.Collections;using System.Collections.Generic;using System.Threading.Tasks;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;using UnityEngine.Video;public class VideoView : MonoBehaviour{ p...原创 2022-03-11 18:17:42 · 2975 阅读 · 2 评论 -
unity里实现 GET POST PUT DELETE 请求服务器方法
最近需要 独立开发一个项目 并且这个项目用到了GET POST PUT DELETE 这四种请求服务器方法,经过研究之后得出了下面代码using Newtonsoft.Json.Linq;using System;using System.Collections;using System.Collections.Generic;using System.IO;using System.Text;using System.Threading.Tasks;using UnityEngine;原创 2022-03-11 18:04:54 · 2208 阅读 · 0 评论 -
重写Slider监听开始拖动跟拖动结束功能
using UnityEngine.UI;using UnityEngine.EventSystems;using System;public class MySlider : Slider, IBeginDragHandler, IEndDragHandler{ public Action beiginDrag = null; public Action endDrag = null; public void OnBeginDrag(PointerEventData .原创 2022-03-11 17:50:28 · 742 阅读 · 0 评论 -
unity创建文件夹/文件 删除路径下所有文件
//判断路径/文件夹是否存在 if (!Directory.Exists(path)) Directory.CreateDirectory(path);//不存在则创建//创建文件var fs = File.Create(path + "/" + downloadVideoName + ".mp4"); //path为你想保存文件的路径。downloadVideoName 为文件名 fs.Write(www.bytes, 0, www...原创 2022-03-11 17:45:51 · 3389 阅读 · 0 评论 -
unity 获取本地视频/下载网络视频
using System.Collections;using System.IO;using UnityEngine; public class DownVideo : MonoBehaviour{ FileStream fs; string path = null; public VideoPlayer video; void Awake() { StartCoroutine(DownOrLoadVideo("视频名字", "http原创 2022-02-24 11:12:44 · 5568 阅读 · 0 评论 -
补充一个基于UI Button滑动模型+缩放的方法
1.首先需要先定义一个继承于EventTrigger的简化类 用于挂载在需要使用的button按钮之上2.这个类可以全局通用的 主要是重写了EventTrigger里的各种事件 方便外面监听 这个类同时也有监听滑动/按下/抬起/自己写的长按等等一些事件using System;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;/// <summary>/// 简化型EventTrigge原创 2021-12-29 11:02:26 · 724 阅读 · 0 评论 -
shader入门篇 渲染流程概念(二)
1.什么是流水线?一种工业上的生产方式, 指一个生产单位只专注某一部分的工作, 以提高工作效率与产量2.什么是渲染流水线?应用程序阶段—>几何阶段{顶点着色[1.模型变换2.视图变换3.定点着色]—>几何曲面细分着色—>裁剪[1.投影变换(观察空间:近裁剪面/远裁剪面)–2.剪裁(齐次裁剪空间)]—>屏幕映射[视角变换]}—>光栅化阶段{三角形设置: 拼成三角形面片—>三角形遍历—>片段着色—>混合[1.alpha测试2.模板测试3.深度测试4.混合]原创 2021-09-26 15:53:39 · 307 阅读 · 0 评论 -
shader入门篇 图形学发展历史 (一)
今天开始学习shader 首先推荐一个很好的 学习网站 ShaderToy祝学习shader之路马到成功.计算机图形学的背景知识:计算机研究图形方面的学科/CG电/CG动画—>使用数学算法将二维或者三维图形转化为计算机显示器的栅格(像素)形式的学科计算机图形学: 从结构特征转换为图像信号计算机视觉学: 从图像信号转换为结构特征建模: 传统3D建模–雕刻软件—扫描建模—程序化建模渲染: 离线渲染(通常渲染一帧时间较长, 为了追求真实感而不计渲染成本) – –实时渲染(实时渲染的本质就是图原创 2021-09-26 15:37:52 · 328 阅读 · 0 评论 -
C# 根据出生日期解析 对应星座
日期的格式 2021-9-26//获取日期方式 一般写在需要的类里string test=GetConstellation("2021-9-26"); string GetConstellation(string times) { string[] sArray = times.Split('-');//由于日期格式有 - 所以切割一下 int month = int.Parse(sArray[1]);//拿到月原创 2021-09-26 12:20:34 · 1196 阅读 · 0 评论 -
C#反射类读取配置表 PropertyInfo
类似这样很复杂的配置表 解析起来需要很长篇的代码, 但是作为一个程序肯定不能让自己的代码这么长篇大论 所以我们需要用很短的代码来解析 读取里面全部数据 var cfgProperty = ConfigMgr.Ins.GetTreasureTableConfigMap () [id];//这是拿到了这个表 List<TreasureTable> lists = new List<TreasureTable> ();//用来存取新的结构 的类 .原创 2021-06-16 15:24:29 · 291 阅读 · 1 评论 -
unity C# 打乱列表
list = jlist.OrderBy(c => Guid.NewGuid()).ToList();原创 2021-06-07 16:46:41 · 540 阅读 · 1 评论 -
unity 按钮监听长按
/// <summary> /// 检测长按 /// </summary> private async ETVoid AsyncMouseDown() { m_timer = 0; isDrag = false; cTime = TimeHelper.ClientNowSeconds(); oldPosition = Inp.原创 2021-06-07 14:56:31 · 951 阅读 · 0 评论 -
unity C# 拿到 年月日 星期几
//部分设备 星期几会是英文descriptionText.text = descriptionText.text.Replace("X",$"{DateTime.Now.ToLongDateString().ToString()},{System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetDayName(DateTime.Now.DayOfWeek)}");//保证英文descriptionText.text = descr原创 2021-06-07 14:36:29 · 414 阅读 · 0 评论 -
unity c#获取字符串所占字节
private void SetLimit (string str) { char [] chars = str.ToCharArray (); int num = 0; if ( str != null ) { for ( int i = 0 ; i < chars.Length ; i++ ) {原创 2021-04-21 14:39:45 · 432 阅读 · 0 评论 -
玩家ID name 特殊字符处理
保存收藏了原文链接:https://blog.csdn.net/qq_38974638/article/details/104990807其实判断是否为特殊字符有两种思路:第一种思路,将所有特殊字符都列出来,判断目标字符串包含特殊字符。public bool IsSpecialChar(string str){ Regex regExp = new Regex("[ \\[ \\] \\^ \\-_*×――(^)$%~!@@##$…&%¥—+=<>《》!!???::•`·转载 2021-02-27 17:08:25 · 363 阅读 · 0 评论 -
unity 之体力倒计时
uint ItemData.Ins.resource.GardenTaskNumTime 体力更新时间uint ItemData.Ins.resource.GardenTaskNum 剩余体力值float GardenTaskData.Ins.unix 当前本地时间 减去体力更新时间uint _taskNum;需要回复的体力值= GardenTaskData.Ins.unix/每一个体力恢复需要的时间ILBridge.Ins.onUpdate Update 委托事件 也可以做成计时器形式 最原创 2020-12-24 11:28:20 · 733 阅读 · 0 评论 -
unity 控制 InputField 输入的字节 为20
一个中文俩个字节 一个英文一个字节 InputField _txtGuildName; _txtGuildName.onValueChanged.AddListener (SetLimit);//监听输入 private void SetLimit (string str) { char [] chars = str.ToCharArray (); int num = 0; if ( str != nu原创 2020-12-24 11:11:41 · 523 阅读 · 0 评论 -
unity async 实现超级简单的计时器
private async void CountDown (int r_time) { while ( r_time > 0 ) { if ( _btnSend == null ) { return; } _txtSend.text = $"{r_time}S"; ..原创 2020-11-12 11:54:40 · 659 阅读 · 0 评论 -
unity 长按一个按钮 实现长按升级
先写一个简化工具//工具 挂载在需要长按的按钮上public class EventTriggerListener : EventTrigger{ public delegate void PointerDelegate(GameObject r_go, PointerEventData r_data,bool iSgo=true); public delegate void BasePointerDelegate(GameObject r_go, BaseEventData r_d原创 2020-11-12 11:52:25 · 540 阅读 · 0 评论 -
笔记 下拉刷新 历史消息记录 unity
拖动的UI像这样设置using System;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;/// <summary>/// @创建者: Mzi/// @创建日期: 2020/11/6 14:56:4/// @功能描述: 通用下拉/// @修改者:/// @修..原创 2020-11-11 18:04:56 · 434 阅读 · 0 评论 -
笔记 连接实时通信服务器 实现聊天
做下笔记using System.Collections.Generic;using System.Runtime.CompilerServices;using Chat;using GameFrameWork;using Hot.NetWork;using LeanCloud;using LeanCloud.Realtime;using Main;using Main.NetWork;using UnityEngine;using Zero;/// <summary>原创 2020-11-11 17:50:27 · 170 阅读 · 0 评论 -
笔记 拖动UI 限定位置 并实现左右停靠
由于看了好多其他人的拖动逻辑 托得太快的时候 UI位置会消失在屏幕 所以总结了一下 找到了最好的方法 怎么拖动 UI都不会消失在屏幕了/// <summary>/// @创建者: Mzi/// @创建日期: 2020/10/27 16:30:21/// @功能描述: 通用的拖动UI脚本/// @修改者:/// @修改日期:/// @修改描述:/// </summary>public class EventTriggerDrap : MonoBehaviour原创 2020-11-11 17:39:38 · 269 阅读 · 0 评论 -
unity Shader 实现 图片 循环滚动
Shader "Unlit/ScrollX"{ Properties { _MainTex("Base Layer(RGB)", 2D) = "white" {} // 纹理 _ScrollX("Base layer Scroll Speed",Float) = 0.1 // 滚动速度 _Mutiplier("Layer Mutiplier", Float) = 1 //整体亮度 } SubShader { Tags{ "RenderType"翻译 2020-09-24 11:19:12 · 2112 阅读 · 2 评论 -
unity 用EasyTouch 旋转模型限定滑动区域
今天用 EasyTouch 写了个旋转模型的 限定区域位置的 先记录一下 怕以后忘记了//初始化protected override void OnInit(object data)//添加注册{base.OnInit(data);EasyTouch.SetEnabled(true);EasyTouch.On_Swipe += OnDrag;//正在滑动EasyTouch.On_SwipeStart += OnDoubleTap;//开始滑动}protected override vo原创 2020-07-30 20:46:51 · 679 阅读 · 4 评论 -
unity C#把指定时间转化成时间戳
今天又学到一种 用C#把指定时间转化成时间戳比如今天的晚上八点DateTime today = new DateTime(now.Year, now.Month, now.Day, 20, 0, 0);System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0));//这是历史最早的时间戳 long t = (today.Ticks原创 2020-07-29 11:14:33 · 651 阅读 · 1 评论 -
unity Dropdown 下拉菜单使用和监听方法
public class GmOrder : AView{Dropdown dro;int num = 0;List gmStr = new List { “添加道具”, “添加资源”, “完成关卡”, “完成任务”, “修改挂机时间”, “添加英雄”, “批量添加道具”, “批量添加英雄” };void Start(){dro.AddOptions(gmStr);dro.onValueChanged.AddListener(SetOrder);}private void SetOrde原创 2020-06-28 16:35:03 · 4669 阅读 · 0 评论 -
unity 制作 TMP_Dropdown TextMeshPro 字体
首先导入插件 完了之后点击Window -> Package Manager 看看是否导入其次我们创建一个.txt文件,用UTF-8编码.打入自己想要的字,放入Unity工程中.然后准备个空的字体文件 如下图资源都准备好了,然后点击Window -> TextMeshPro -> Font Asset Creator对应的资源拖进去后 点击Generate Font Atlas 等待完成 Save保存一下 就能用了...原创 2020-06-28 16:27:14 · 4528 阅读 · 0 评论 -
滑动屏幕使模型旋转 类似王者荣耀的模型预览界面
转动模型直接上代码 放update里执行if (Input.GetMouseButton(0))监听鼠标按下{if (Input.mousePosition.y > 500)这个是限定滑动位置的范围 这里看需求改变{this.transform.Rotate(Vector3.down, Time.deltaTime * 666 * Input.GetAxis(“Mouse X”));这就是模型旋转了}}...原创 2020-06-05 11:31:36 · 702 阅读 · 0 评论 -
unity单个排序 和根据多个属性排序
1.根据单个属性 排序 可以用 unity自带的APIlistBackPackData.Sort(sort);//第一个参数减去第二个参数 是升序 反之则是降序private int sort(Game.item info, Game.item infogo){return (int)info.ConfigId - (int)infogo.ConfigId;}2.根据 多个属性 进行...原创 2020-04-29 20:05:59 · 677 阅读 · 0 评论