自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sunny Blog

要像个大男孩 风吹又日晒 生活自由自在

  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 UnityWebGL移动端兼容性说明

UnityWebGL的引擎仍然包含许多为其他平台设计的功能和系统,导致空包+中文字体打包后的大小就在25MB,相对于其他web3d引擎来说在移动端的加载时间很慢。总体来说,印证了Unity官方文档中所说明的“当前的移动设备通常不够强大,并且没有足够的内存来支持Unity WebGL内容。使用上图附带代码测试,重新复现之前的问题,触发此循环逻辑后,项目重新加载,进而网页崩溃。加载结束,进入场景后,在工厂模型内部游览,仅旋转视角浏览过程中,突发网页崩溃,。初步定位原因:未知,可能是webgl渲染导致崩溃。

2023-08-10 17:33:30 3725 9

原创 Unity UI优化

4.TexturePacker批量打图集工具。1.压缩UI图片资源减少内存和显存占用。3.SpriteMesh减少填充率。2.动态图集减少批处理。

2023-07-04 10:36:13 430

原创 PhotonNetwork.GetCustomRoomList使用方法

看到很多博客说PhotonNetwork.GetCustomRoomList()的第二个参数给null,但实际这个方法内部存在null判断,会进行报错。调用虽然成功了,但有可能因为LobbyType.SqlLobby类型的房间是不会自动触发。并且很关键的一点,当由玩家从房间退出后的短时间内,无论时自动还是通过调用。查看官方文档可知,第二个参数sqlLobbyFilter是一个SQL。来刷新房间列表,都不会获取到房间人数减少。

2023-05-30 15:39:03 245

原创 在Unity中对接运动平台协议

为了让运动平台实时随动Unity中物体,使用的十七字节3轴随动协议。

2023-05-10 15:52:54 166

原创 0GC字符串——zstring

0GC字符串

2022-08-11 14:07:15 1040

原创 环绕打出射线,并根据碰撞次计算衰减比例

//一次环绕的射线次数 private int raycastCount = 1000; //衰减百分比(比如打到一个物体,就衰减到0.9,二次就衰减到0.81) private float attenuation = 0.9f; //射线碰撞信息 private Dictionary<int, RaycastHit[]> raycastHitsMap; /// <summary> /// 绕一圈打出射线,记录...

2021-11-25 14:45:16 2351

原创 ILRuntimeDemo理解

方法调用方式//1.通过AppDomain调用方法//参数:类型全名(命名空间+类型)、方法名、实例、实参列表appdomain.Invoke("XX.XXX", "XXXX", null, null);//2.通过IMethod调用方法//预先获得IMethod,可以减低每次调用查找方法耗用的时间IType type = appdomain.LoadedTypes["XX.XXX"];//根据方法名称和参数个数获取方法IMethod method = type.GetMethod("X

2021-11-08 13:08:52 2656

原创 Unity 写出PDF到本地(PC)

首先导入itextsharp.dll(及其依赖)到Plugins文件夹。其次,看下面代码。一个写入表格的例子,供学习参考使用:using System.Collections.Generic;using System.IO;using iTextSharp.text;using iTextSharp.text.pdf;public static class WritePDFHelper{ /// <summary> /// 写入PDF /// </

2021-10-20 17:05:17 2076

原创 TexturePacker命令行拉起参数

命令之间无需换行,各命令间添加空格即可。Build Path为图集生成路径,Source Path为图片源路径。拉起TexturePacker\bin\TexturePacker.exe后将命令作为参数传入即可将Source Path中的图片打为图集生成在Build Path中。–sheet {Build Path}.png–data {Build Path}.tpsheet–format unity-texture2d–trim-mode Polygon–algorithm Polygon

2021-08-31 15:53:06 289

原创 Unity 机器学习 ML-Agents 环境搭建

Github仓库Demo仓库官方仓库文件夹结构com.unity-ml-agents:Unity插件包gym-unity:OpenAI的gym使用(不需要安装)ml-agents:Python算法实现库ml-agents-envs:Python和Unity进行通信的环境环境搭建安装anaconda安装cuda安装cudnn安装torch安装tensorflow安装1-3参考安装tensorflow-gpu参考安装torch参考检查Anaconda是否成功安装:c.

2021-04-08 18:26:40 686

原创 Unity屏幕截图保存(适应分辨率变化)

目录Unity屏幕截图保存代码Unity屏幕截图保存截取任意分辨率下Canvas内任意位置任意大小的recttransform的内容。代码 public IEnumerator SavePic(Canvas canvas, RectTransform target, string savePath) { yield return new WaitForEndOfFrame(); //Canvas的sizeDelta Vector3 can

2020-12-17 17:52:55 928

原创 LeetCode题目

题目1.两数之和2. 两数相加3. 两数相加1.两数之和//给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 //// 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 //// //// 示例: //// 给定 nums = [2, 7, 11, 15], target = 9////因为 nums[0] + nums[1] = 2 + 7 = 9//所以返回 [0, 1]//

2020-07-15 11:06:12 137

原创 UnityWebgl平台与JS交互、使用UnityWebRequest对接

UnityWebgl平台与JS交互、使用UnityWebRequest对接Unity与前端js交互web数据请求Unity与前端js交互在UnityWebgl平台上,经常会从前端获取参数,如token、host等,使用jslib与前端js代码进行交互。只需要在Plugins文件夹中创建一个xxx.jslib文件即可。jslib文件代码如下:mergeInto(LibraryManager.library, { getUrlParams: function (defaultValue) { va

2020-05-19 15:10:30 5739

原创 Vector3的Angle、Dot、Cross

using UnityEngine;public class Dot_Cross : MonoBehaviour{ private Animator animator; private CharacterController characterController; public Transform target; private void St...

2020-03-04 14:44:25 620 1

原创 C# 与 Lua 交互原理和优化

交互原理Lua Call C#Wrap 方式:首先生成 C# 源文件所对应的Wrap文件,由 Lua 文件调用 Wrap 文件,再由 Wrap 文件调用 C# 文件反射方式:当索引系统 API、dll 库或者第三方库时,如果无法将代码的具体实现进行代码生成,可采用此方式实现交互。缺点:执行效率低。过程lua->wrap->C#先生成 Wrap 文件(中间文件/适...

2020-02-17 11:48:40 1183

原创 使用对象池实现的音效池管理类

AudioPoolManagerGitHub:sunny2019/AudioPoolManager简介:一个通过对象池实现的音效池,可以设置音效池中AudioSource的最小数量,当AudioSource数量不足时可动态的生成AudioSource,使用完成后会自动销毁,保持音效池中AudioSource的最小数量。使用过程:将此脚本挂载在物体上,设置音效池中AudioSource...

2020-02-17 11:48:01 624

原创 Git 常用命令总结

总结自:廖雪峰的官方网站(Git教程)Git创建文件夹learngit$ mkdir learngit进入目录learngit$ cd learngit显示当前路径$ pwd显示隐藏文件夹$ ls -ah显示内容$ cat readme.txt删除文件test.txt$ rm test.txt创建版本库\提交初始化当前目录为仓库$ git init...

2020-02-17 11:46:19 133

原创 Unity3D 性能优化总结

优化相关前提Unity游戏安装包大/运行卡的原因: mono虚拟机(跨平台基础、简洁开发提高效率)Drawcallhttps://zhuanlan.zhihu.com/p/26386905https://www.zhihu.com/question/36357893SetPasscall DrawCall和Batcheshttp://www.manew.com/4702.ht...

2020-02-17 11:45:39 564

原创 高级编辑器主题--编辑器功能拓展总结

菜单栏分类菜单栏分类主要使用 MenuItem 的 priority 优先级属性实现,其优先级默认值为1000,优先级越小,在列表中的位置越靠上。相邻的两个按钮之间 priority 如果相差11(或者大于11),就相当于做了一个分类。 //public MenuItem(string itemName, bool isValidateFunction, int priority);...

2020-02-16 23:11:18 261

原创 使用基于 UGUI 、 toLua 的 LuaFramework进行热更新总结

怎么做到热更新的开始游戏时对比本地和服务器的files.txt,其中包含了每个AssetBundle的名字和MD5码,如果有文件不存在过MD5码不同则进行更新下载,进而实现更新内容。个人理解luaframework的好处:不需要在Unity内考虑如何调用lua脚本只需要完善相应panel界面以及Ctrl和Panel脚本即可使用过程:Unity项目标题栏LuaFramework根...

2020-02-16 23:10:22 320

原创 Unity-xLua热更新总结

XLua 教程执行 Lua 代码using UnityEngine;using XLua;public class Helloworld01 : MonoBehaviour{ private LuaEnv luaEnv; //对应一个Lua虚拟机,尽量全局唯一 // Start is called before the first frame update voi...

2020-02-16 23:09:37 299

原创 常用API和常见错误总结

APIUnity事件函数的执行时机和先后顺序void Awake(){ Debug.Log("Awake");}void OnEnable(){ Debug.Log("OnEnable");}public void CustomRethod(){ Debug.Log("CustomRethod");}// Use this for initia...

2020-02-16 23:08:20 1939

原创 Socket的阻塞式和异步通信总结

总览消息接收通过线程开启接收消息,并且在线程方法中先判断是否连接public bool Connected { get; } //例如: clientSocket.Connected如果连接断开,则终端消息接收数据在网络传输的格式必须以字节流的形式进行,对字节流进行写入和读出操作的方法:Encoding.UTF8.GetBytesEncoding.UTF8.Get...

2020-02-16 23:07:01 286

原创 简单的UI框架(单例脚本)

单例脚本Singleton.csusing System;/// <summary>/// /// 使用方法:/// 1.需要单例的类继承Singleton<T>/// 例如:class UIManager:Singleton<UIManager>/// /// 2.在代码内调用一次 UIManager.Init();/// 之后即可使用U...

2020-02-16 23:05:39 496

原创 任务计时器PETimer

任务计时器PETimer分为帧任务和时间任务两部分[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nk16d7Uq-1581865431258)(https://s2.ax1x.com/2019/03/08/kzz0Rx.md.jpg)]using System.Collections;using System.Collections.Generic;usi...

2020-02-16 23:04:58 515

原创 C# 泛型、委托

泛型 generic一、什么是泛型泛型是C#2.0推出的新语法,不是语法糖,而是2.0由框架升级提供的功能。我们在编程程序时,经常会遇到功能非常相似的模块,只是它们处理的数据不一样。但我们没有办法,只能分别写多个方法来处理不同的数据类型。这个时候,那么问题来了,有没有一种办法,用同一个方法来处理传入不同种类型参数的办法呢?泛型的出现就是专门来解决这个问题的。二、为什么使用泛型先来看下面一...

2020-02-16 23:03:39 647

原创 异步加载场景与异步加载游戏资源

异步加载场景与异步加载游戏资源Application.LoadLevel 加载关卡在同步加载游戏场景的时候通常会使用方法Application.LoadLevel 加载关卡。该方法在执行完Application.LoadLevel方法后,会把该场景在 Hierarchy 视图中的所有游戏对象加载至内存当中。因为Application.LoadLevel,若是场景内游戏对象过多,则会在加载的瞬...

2020-02-16 23:02:52 579

原创 简单的对象池

对象池模式对象池模式(The Object Pool Pattern)是单例模式的一个变种,它提供了获取一系列相同对象实例的入口。在Unity中使用对象池可以很好的减少实例化生成和销毁的次数,从而达到性能优化的目的。ObjectPool.csusing System.Collections;using System.Collections.Generic;using UnityEngi...

2020-02-16 23:01:40 106

原创 C#高级内容笔记

C#高级内容笔记2018年12月19日委托C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自 System.Delegate 类。定义一个委托,准备相应的调用方法。注意:定义一个委托相当于...

2020-02-16 23:00:40 284

原创 C#笔记

C#问题总结2018年12月13日关于值类型、引用类型以及“栈”跟“堆”的关系 总结: 1. 值类型存储在栈内。 2. 引用类型的值存储在堆中,把值的内存地址存在栈中。 3. 数组的赋值会只在栈内开辟空间把值的地址赋给新数组。 4. 字符串的赋值会在堆中开辟新的空间存储值,并把在堆内新开辟的内存地址保存在栈内新开辟的空间。值类型,声明一个值类型的时候...

2020-02-16 22:59:27 305

原创 C#数据结构与算法总结

线性表线性表是最简单、最基本、最常用的数据结构。线性表是线性结构的抽象(Abstract),线性结构的特点是结构中的数据元素之间存在一对一的线性关系。这种一对一的关系指的是数据元素之间的位置关系,即:除第一个位置的数据元素外,其它数据元素位置的前面都只有一个数据元素;除最后一个位置的数据元素外,其它数据元素位置的后面都只有一个元素。也就是说,数据元素是一个接一个的排列。因此,可以把线性表想...

2020-02-16 22:53:35 5375

Unity写PDF程序集,itextsharp及依赖

Unity写PDF程序集,itextsharp及依赖

2021-10-20

Highlight Plus

Highlight Plus 为场景中的所有对象都添加了轮廓、发光、 覆盖及其他特效。 HP 在设计时考虑到了平台兼容性和性能。 ** 视觉特征 ** - 轮廓颜色、α 和宽度 - 外部发光颜色、宽度、α、动画速度、抖动、多色彩 - 内部发光颜色、宽度和强度 - 覆盖颜色、α 和动画速度 - 透视特效强度、着色颜色和 α被遮挡的对象保持正确的深度。外加其他着色边界选项。 - 目标特效,带有可自定义的过渡、动画、纹理和颜色。也与蒙皮网格兼容。除了将目标突出,你现在还可以利用这一新功能处理任何数量的地点。 - 击中/闪光特效,具有自定义的颜色、强度和淡出持续时间 ** 其他特征 ** - 在编辑器中预览效果(无需进入任何模式) - 极为灵活:可以影响单个或一组对象,或通过图层选项以自动模式运行 - 通过输入体积触发的选项 - 可排除特定的子网格 - 可精确控制自动模式的事件系统 - 淡入/淡出 - 将设置复制到可重复使用的配置文件中 - 适用于法线、蒙皮网格及 LOD 群组 - 适用于正交和透视摄像机及多个摄像机 - 安全:不会修改对象材质、着色器或网格 - 性能:这不是完整的屏幕图像特效 - 有序透视更多详细信息,请查看此处。 - 3 个质量等级 ** 平台兼容性 ** 内置/标准管线 (Unity 2018.4+) - 与 Mac、Windows、Android、iOS、WebGL 兼容 - 兼容 VR - 移动端速度极快 通用渲染管线 (Unity 2019.3+) 该资源还随附一个专用于通用渲染管线的版本。 请注意:Highlight Plus 适用于网格(3D 或 2D)。 为实现精灵高亮,请使用 Highlight Plus 2D。

2016-12-18

空空如也

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

TA关注的人

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