自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Unity 发布UWP平台VideoPlayer.url播放本地视频失败的解决方法

解决方案:把视频放到persistentDataPath路径(注意编辑器模式和真机模式下这是两个路径,可以自己测试下)原因:UWP平台文件权限问题。

2022-11-10 17:15:45 911 1

原创 UGUI扩展N多边形或圆形组件

类似的组件早已被写烂了,这里只是分享一下。预览:SlideNumbers:多边形边数量FillAmount:填充量UVOffsetAngle:UV旋转偏移MeshOffsetAngle:网格旋转偏移AloneCenterColor:是否单独设置中心颜色FillClockwise:顺时针或逆时针SetAdviseRotate(按钮):设置合适的旋转偏移(UV和Mesh)SetNativeSize(按钮):设置合适的大小精确点击:代码:using .

2020-12-21 13:41:48 351 3

原创 Unity-简单的事件系统

EventSystemusing System;using System.Collections.Generic;using System.Linq;using UnityEngine;namespace EventSystem.Example{ /// <summary> /// 事件系统 /// </summary> internal class EventSystem { #region Singleto

2020-11-16 14:47:54 478

原创 C# float转int精度损失导致值异常

void Start(){ for (int i = 0; i < 10; i++) Debug.Log(this.DetermineID(0.01f * i));}/// <summary>/// 判定ID/// </summary>/// <param name="area"></param>/// <returns></returns>private int DetermineID.

2020-07-08 10:59:34 1076

原创 Unity-TouchScripts中使用TUIO的记录和简单的代码分析

端午三天假,刚过完端午就被老板拉过去加班去了,端午三天假加了两天班,好了不吐槽了。记录一下Unity通过TouchScript插件中TUIO协议的使用以及代码的简单分析。先说一下项目的大致情况,对方通过TUIO协议发送Blob格式的消息,发送的Blob消息中的面积(Area)是一个识别的重要信息,但TouchScript中返回的是Pointer类,但这个类中并没有我需要的消息。后来分析了一下代码的流向最终拿到了需要的信息。TuioInput.cs首先分析一下Tuio的输入,先看一下Unity函数

2020-07-06 11:41:13 4047 11

原创 U3D触摸基础手势(2D、3D、UGUI通杀版本)

本人以前写过一篇关于UI的基础手势的文章,文章在这里:传送门。但那个限制过多,只支持UI,不支持2D、3D物体,不支持多人操作……前几天在做一个关于TUIO的项目时,突然有了一个想法,经过了几次测试证明了想法大致是可行的。思路分析:UIGUI:UI的实现和上边的传送门基本相同,脚本实现IPointerDownHandler, IPointerUpHandler两个接口,这里不再啰嗦 2D:2D的实现和UI很类似(3D的也类似),也是通过EventSystems的一些接口来实现基础手势的,但一般2D

2020-07-01 12:20:56 901 1

原创 AudioPlayer-简易音频播放器

AudioPlayer该工程是一个基于Unity2018.3.13开发的简易音频播放器,支持歌词同步+音频可视化+MV同步……前言在我Unity工作的第一年里,通过学习和研究积累了一些比较有意思的小功能,比如: 解析后缀名为.lrc的歌词文件、 获取音频数据、audioSource.GetSpectrumData(samples, 0, FFTWindow.Blackman);歌词同步…… 当时就有个想法能不能把这些小功能组合起来做成一个完整的程序,不过那个时候自身代码水平有点...

2020-05-30 10:17:28 3996 2

原创 Shader-TexturePanner源码的简单改写

如题,本篇博客会介绍一下对TexturePanner源码的简单改写;TexturePanner是一个表面着色器,本人把它改写为顶点、片元着色器,并补充一些功能,同时在源码均有注释且汉化了一下Inspector面板的模块说明。改写后的顶点、片元着色器更为强大、可调参数更多、功能增加。修改后的源码如下:/* * 修改于:2020/04/17 * 原作者:https://github....

2020-05-02 19:21:56 286 1

原创 Shader-TexturePanner源码的简单梳理

作为一个刚学习shader的菜鸟,当看到TexturePanner这样的组合式的shader,让人眼前一亮,忍不住有一种想探究它的好奇心,想了解一下内部是怎么实现的,顺便学学大佬的思路,所有今天就简单的梳理一下源码,先贴一下shader源码(删除了一部分无用的注释):// Made with Amplify Shader Editor// Available at the Unity As...

2020-04-25 21:59:22 729

原创 Shader-TexturePanner

在学shader的过程中在GitHub中发现一个好玩的着色器TexturePanner,该着色器是一种美化的纹理平移器,融合了顶点位移、拉伸、uv旋转、滚动、扫描线和遮罩等效果,配合屏幕后期的Bloom效果,效果真的很棒,先贴几张图感受一下:讲一下这个着色器的使用吧!着色器分为了7个模块,看图:其中顶点位移和顶点拉伸属于对顶点的操作,其他的基本为uv的操作。...

2020-04-22 12:01:33 457

原创 Shader属性的常用特性

1、NoScaleOffset(隐藏Tiling和Offset)[NoScaleOffset]_MainTex ("Texture", 2D) = "white" {}如果不想在InSpector上被人修改,可以用这个特性隐藏掉2、Normal(法线纹理)[Normal]_NormalTexture("Normal Texture",2D) = "white" {}...

2020-04-21 11:44:47 1394 1

原创 Shader异形(不规则)视频播放

先解释一下标题,异形视频播放:不规则形状播放。先贴个图:如图,背景图是正常的视频播放,三角形则是另一视频播放,不过是不规则的三角形。原理就是通过shader检测三个坐标点计算进行纹理的渲染,贴一下代码:Shader代码:Shader "Hidden/Triangle"{ Properties { _MainTex ("MainTex", 2D) ...

2020-04-20 21:51:02 504

原创 C#源码分析—LinkedList

LinkedList为双向循环链表,链表的定义请自行百度;先贴一下节点类: // Note following class is not serializable since we customized the serialization of LinkedList. [System.Runtime.InteropServices.ComVisible(false)] ...

2019-11-23 20:06:37 878 1

原创 C#源码分析—Queue

Queue内部通过数组实现数据的存储,字段_head和_tail分别表示队首元素和队尾元素,字段_size表示存储的元素数量,其相关字段如下: private T[] _array; //内部数组 private int _head; // First valid element in the queue -- 队首 pri...

2019-11-23 17:20:19 339

原创 C#源码分析—Stack

Stack内部通过数组来实现数据的存储,其大部分方法和List相同,这里不再分析,有兴趣的请自行查看源码。Stack通过字段_size来表示内部存储的元素数量,由于Stack时先进后出,所以通过_size控制内部数组的最后一个元素的添加和删除即可。Peek函数: // Returns the top object on the stack without removing ...

2019-11-23 16:37:04 254

原创 C#源码分析—ArrayList

ArrayList的源码和List的源码基本相似,只不过List是泛型集合而ArrayList是Object,关于ArrayList和List的优缺点这里不再叙述,请自行百度。需要说明的一点List实现了IList<T>、IList和IReadOnlyList<T>接口,而ArrayList实现了IList和ICloneable接口。字段: priv...

2019-11-11 16:17:07 395

原创 C#源码分析—List

字段: private const int _defaultCapacity = 4; //默认容量 private T[] _items; //内部数组 [ContractPublicPropertyName("Count")] private int _...

2019-11-10 22:27:15 375

原创 互动照片墙效果之扩散效果(二)

互动照片墙效果之扩散效果(二)上一篇博客介绍了如何按照相对方向进行扩散,这篇博客介绍一下如何按照指定的角度进行扩散。假定A为点击到的UI,B为要扩散的UI,A的扩散区域有12个UI物体,我们现在希望它能按照角度均匀的扩散出去;我们分析一下思路:由于12个UI要按照角度均匀扩散,也就是把360°等分12份,此时问题转换为以一点为圆心,求每隔30°的方向?我们再假定A点坐标为(0,0),半...

2019-08-31 12:46:19 2196 1

原创 U3D工程脚本打成dll文件

U3D工程脚本打成dll文件新建工程并创建一个测试脚本,脚本内容如下,如下图:新建VS工程选择类库,如下图:VS工程添加对UnityEngine的引用,项目-添加引用-浏览:这里的路径要看一下自己的安装目录,本人是通过UnityHub默认安装的;引入我们写好的脚本,右键解决方案资源管理器的项目-添加-现有项:删除掉默认的class1,我们不需要;当把所有的脚本引入完成后,右键...

2019-08-03 11:31:50 221

原创 Unity3DTouch触摸基础手势

Unity3DTouch触摸基础手势拖拽缩放旋转完整代码如下:using UnityEngine;using UnityEngine.EventSystems;/// <summary>/// 基础Touch手势/// </summary>public class BaseTouchGesture : MonoBehaviour,IPointe...

2019-07-27 17:15:44 945 2

原创 互动照片墙效果之扩散效果(一)

互动照片墙效果之扩散效果(一)项目中有一个需求:当点击到一个UI时,要把与它相邻的UI扩散出去,即周围清场。我们来看一下解决思路:Unity3D中的位置是一个向量;假定A是点击到的UI,B是要扩散的UI,当A指向B时即是B要扩散的方向,如图:Vector2 dir = B.rectTransform.Position - A.rectTransform.Position;我们只要方向...

2019-07-27 16:36:55 3867 18

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除