
Unity
文章平均质量分 72
我是蝉蜕
U3D
展开
-
Unity 发布UWP平台VideoPlayer.url播放本地视频失败的解决方法
解决方案:把视频放到persistentDataPath路径(注意编辑器模式和真机模式下这是两个路径,可以自己测试下)原因:UWP平台文件权限问题。原创 2022-11-10 17:15:45 · 1140 阅读 · 1 评论 -
UGUI扩展N多边形或圆形组件
类似的组件早已被写烂了,这里只是分享一下。预览:SlideNumbers:多边形边数量FillAmount:填充量UVOffsetAngle:UV旋转偏移MeshOffsetAngle:网格旋转偏移AloneCenterColor:是否单独设置中心颜色FillClockwise:顺时针或逆时针SetAdviseRotate(按钮):设置合适的旋转偏移(UV和Mesh)SetNativeSize(按钮):设置合适的大小精确点击:代码:using .原创 2020-12-21 13:41:48 · 445 阅读 · 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 · 667 阅读 · 0 评论 -
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 · 1252 阅读 · 0 评论 -
Unity-TouchScripts中使用TUIO的记录和简单的代码分析
端午三天假,刚过完端午就被老板拉过去加班去了,端午三天假加了两天班,好了不吐槽了。记录一下Unity通过TouchScript插件中TUIO协议的使用以及代码的简单分析。先说一下项目的大致情况,对方通过TUIO协议发送Blob格式的消息,发送的Blob消息中的面积(Area)是一个识别的重要信息,但TouchScript中返回的是Pointer类,但这个类中并没有我需要的消息。后来分析了一下代码的流向最终拿到了需要的信息。TuioInput.cs首先分析一下Tuio的输入,先看一下Unity函数原创 2020-07-06 11:41:13 · 5096 阅读 · 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 · 1025 阅读 · 1 评论 -
AudioPlayer-简易音频播放器
AudioPlayer该工程是一个基于Unity2018.3.13开发的简易音频播放器,支持歌词同步+音频可视化+MV同步……前言在我Unity工作的第一年里,通过学习和研究积累了一些比较有意思的小功能,比如: 解析后缀名为.lrc的歌词文件、 获取音频数据、audioSource.GetSpectrumData(samples, 0, FFTWindow.Blackman);歌词同步…… 当时就有个想法能不能把这些小功能组合起来做成一个完整的程序,不过那个时候自身代码水平有点...原创 2020-05-30 10:17:28 · 4167 阅读 · 2 评论 -
互动照片墙效果之扩散效果(二)
互动照片墙效果之扩散效果(二)上一篇博客介绍了如何按照相对方向进行扩散,这篇博客介绍一下如何按照指定的角度进行扩散。假定A为点击到的UI,B为要扩散的UI,A的扩散区域有12个UI物体,我们现在希望它能按照角度均匀的扩散出去;我们分析一下思路:由于12个UI要按照角度均匀扩散,也就是把360°等分12份,此时问题转换为以一点为圆心,求每隔30°的方向?我们再假定A点坐标为(0,0),半...原创 2019-08-31 12:46:19 · 2280 阅读 · 1 评论 -
Unity3DTouch触摸基础手势
Unity3DTouch触摸基础手势拖拽缩放旋转完整代码如下:using UnityEngine;using UnityEngine.EventSystems;/// <summary>/// 基础Touch手势/// </summary>public class BaseTouchGesture : MonoBehaviour,IPointe...原创 2019-07-27 17:15:44 · 1007 阅读 · 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 · 4123 阅读 · 18 评论 -
U3D工程脚本打成dll文件
U3D工程脚本打成dll文件新建工程并创建一个测试脚本,脚本内容如下,如下图:新建VS工程选择类库,如下图:VS工程添加对UnityEngine的引用,项目-添加引用-浏览:这里的路径要看一下自己的安装目录,本人是通过UnityHub默认安装的;引入我们写好的脚本,右键解决方案资源管理器的项目-添加-现有项:删除掉默认的class1,我们不需要;当把所有的脚本引入完成后,右键...原创 2019-08-03 11:31:50 · 300 阅读 · 0 评论