自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (4)
  • 收藏
  • 关注

原创 FrameProfiling详细使用方法

Frame profiling_frame profiler_警醒与鞭策的博客-CSDN博客

2023-07-26 14:11:09 206

原创 清除Material中的冗余资源

由于Unity的一个问题,导致Material中替换过的贴图,使用GetDepenecicies方法时会把替换掉的就资源也引用到。替换方法:public static void CleanMaterialSerializedProperty(List<Material> mats, ref string content) { for (int j = 0; j < mats.Count; j++) { if (mat

2022-05-17 16:00:47 506

原创 Python调用adb实现自动化安装Apk

# -*- encoding=utf8 -*-__author__ = "Lee.li""""命名规则:1.模块尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况)2.类名使用驼峰(CamelCase)命名风格,首字母大写,私有类可用一个下划线开头3.函数名一律小写,如有多个单词,用下划线隔开,私有函数在函数前加一个下划线_4.变量名首字母尽量小写, 如有多个单词,用下划线隔开,后续字母大写5.常量采用全大写,如有多个单词,使用下划线隔开"""...

2022-02-08 14:47:23 3085

原创 资源导入后处理FBX中Animation的修改

修改的前提是设置ModelImporter 中importCameras = true;然后增加动画属性:未修改前FBX中的Animation修改后FBX中的Animation:代码:public class ModelAnimationTool : AssetPostprocessor{ private void OnPostprocessModel(GameObject obj) { AnimationClipProperty(asse..

2022-01-25 20:28:46 2180

转载 draw call 理解和优化

 draw call是openGL的描绘次数(directX没怎么研究,但原理应该差不多)  一个简单的openGL的绘图次序是:设置颜色→绘图方式→顶点座标→绘制→结束。  每帧都会重复以上的步骤。这就是一次draw call  如果有两个model,那么需要   设置颜色→绘图方式→顶点座标A→绘制→结束。  设置颜色→绘图方式→顶点座标B→绘制→结束。  两次draw calls;  也就是说在openGl绘制前,如果色彩通道(color filter),绘图方式(sha.

2021-03-25 23:07:39 1866

原创 Unity中ShadowMap动态阴影的实现

具体的实现如下:1,生成ShadowMap2,根据ShadowmMap实现阴影的绘制ShadowMap的生成:v2f vert (appdata v) { v2f o; o.vertex = mul(unity_ObjectToWorld, v.vertex); float3 normal = normalize(mul(v.normal, unity_WorldToObject));

2021-03-16 20:02:24 903 1

原创 Unity资源加载与释放-AssetBundle

AssetBundle 与 Resources的区别Resources相当于Unity一个缺省的AssetBundle。AssetBundle可以在使用时动态加载。Resources.load();在没有第一次Instantiate之前没有完全加载Asset资源。所以相对AssetBundle去实例一个资源,Resources会在第一次Instantiate时出现卡顿现象。AssetBundle 加载与释放AssetBundle的加载方式有:AssetBundle.LoadFromFile

2020-12-15 15:22:57 1170

转载 C#中Dictionary<TKey,TValue>排序方式

C#中Dictionary<TKey,TValue>排序方式按照Dictionary的Key值 升序排序(OrderBy)、降序排序(OrderByDescending):using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CSharp中Dictionary排序方式{ [Se

2020-11-20 11:12:47 599

原创 Unity Shader中的multi_complie和shader_feature

一,multi_complie 还是 shader_featureshader_feature 和 multi_complie 是两个很相似的预编译指令,在Editor模式下,他们是几乎没有区别的。共同点是:声明Keyword,用来产生Shader的变体(Variant)#pragma multi_compile A B//OR #pragma shader_feature A B//-----------------------A模块----------------------#i

2020-11-13 15:12:45 444

原创 Unity Android平台的版本不对

MissingMethodException: bool UnityEditor.PlayerSettings.get_useSecurityBuild()unity 安装的是海外版的,Android安装的是国内版的,导致打包报错,安装海外版的Android平台之后,打包正常

2020-09-10 11:07:21 2060

原创 减少ShaderLab大小方案

主要作用就是减少ShaderLab的大小,如下图,大概能减少30M左右的内存。直接上代码:private static void ReplaceStandard() { dicReplaceMat = new Dictionary<string, List<string>>(); //替换所有fbx下material的shader string type = "*.fbx";

2020-09-07 11:31:05 291

原创 Unity MeshRenderer 渲染排序问题(SortingLayer与order in layer的设置)

Unity中我们需要区分Layer(LayerMask),SortingLayer,SortingOrder他们的区别。Layer是Unity中方便在Player设置碰撞检测(如下图),还有就是方便Camera挑选显示各个层级(UI层,特效层,Player,NPC等,如下图),最多只能设置32个。SortingLayer是控制渲染的层级的,SortingOrder是控制层级中显示的顺序,是属于SortingLayer的。 3d项目中,如创建一个cube,在Inspe...

2020-08-31 14:38:57 5316 1

原创 HashSet资源管理中的使用

废话不说,直接上代码:public const string NoDepTypeFilter = "t:Model t:ShaderVariants t:Scene t:Prefab t:Shader t:Material t:AnimationClip t:Texture t:AnimatorController t:Font t:TextAsset t:ScriptableObject";string[] filter = new string[]{".meta",".cs",".shader

2020-08-20 16:10:31 173

原创 模板测试的细节

1、简介在Unity中一个像素会有多个缓存信息,模版缓存(其实Stencil不应该被翻译成模版,但网上都这么写)是其中之一。模板缓冲区可以为屏幕上的每个像素点保存一个无符号整数值,通过一些比较来改变当前像素区域模版缓冲的值,从而改变深度关系,似乎UGUI的Mask也是通过其实现的,延迟光照中Stencil有一些限制,具体看unity的文档,这里只介绍正向光照中的使用。Stencil所在的渲染管线中的顺序位置:Stencil的所有参数如下:Stencil{ R...

2020-08-12 17:18:37 308

原创 随机获取圆内点

System.Random random = new System.Random(1000);//半径随机 ,弧度随机public Vector2 GetCirclePoint(int m_Radius){//随机获取弧度float radin = (float)GetRandomValue(0, 2 * Mathf.PI);float x = m_Radius * Mathf.Cos(radin);float y = m_Radius * Mathf.Sin(radin);Vector2

2020-07-28 20:54:57 698

原创 unity判断一个物体是否在正前方或者左右

1.点积对于n维度代数定义:几何的定义:a·b=|a|*|b|*cos<a,b>1.1关于它的公式而判断两个物体的位置 关系,是可以通过 这个 cos<a,b> 来判断,知道了这个余玄值,就可以知道 这个角度了。它在Unity中 调用是通过Vector3.Dot(),Unity中使用的也是代数公式 public static float Dot(Vector3 lhs, Vector3 rhs) { retu...

2020-07-23 22:09:53 3711

原创 内存是手游的硬伤——Unity游戏Mono内存管理与泄漏

测试开发者的共同关注!WeTest导读内存是游戏的硬伤,如果没有做好内存的管理问题,游戏极有可能会出现卡顿,闪退等影响用户体验的现象。本文介绍了在腾讯游戏在Unity游戏开发过程中常见的Mono内存管理问题,并介绍了一系列解决的策略和方法。无论是游戏还是VR应用,内存管理都是其研发阶段的重中之重。然而,90%以上的项目都存在不同程度的内存使用问题。就目前基于Unity引擎开发的移动游戏和移动VR游戏而言,内存的开销无外乎以下三大部分:1.资源内存占用;2....

2020-07-16 00:48:29 392

原创 shader 入门 《顶点(vertexs) 图元(primitives) 片元(fragments片断) 像素(pixels)》

顶点(vertexs)图元(primitives)片元(fragments,又叫片断)像素(pixels)阶段1.顶点->图元几何顶点被组合为图元(点,线段或多边形),然后图元被合成片元,最后片元被转换为帧缓存中的像素数据。阶段2.图元->片元图元被分几步转换为片元:图元被适当的裁剪,颜色和纹理数据也相应作出必要的调整,相关的坐标被转换为窗口坐标。最后,光栅化将裁剪好的图元转换为片元。1)裁剪在裁剪时点,线段和多边形处理略微不同。对于点,要么保留原始...

2020-07-14 20:33:44 1175

原创 Unity Shader-法线贴图(Normal)及其原理

简介以前经常听说“模型不好看啊,怎么办啊?”答曰“加法线”,”做了个高模,准备烘一下法线贴图”,“有的美术特别屌,直接画法线贴图”.....法线贴图到底是个什么鬼,当年天真的我真的被这个图形学的奇淫杂技忽悠了,然而毕竟本人还算有点刨根问底的精神,决定研究一下法线贴图的原理以及Unity下的实现。本人才疏学浅,如有错误,欢迎指正。法线贴图是目前游戏开发中最常见的贴图之一。我们知道,一般情况下,模型面数越高,可以表现的细节越多,效果也越好。但是,由于面数多了,顶点数多了,计算量也就上去了,效..

2020-07-14 13:01:11 1060 1

原创 CacheServer搭建

1.安装配置环境下载Node.js 官网链接:Node.js​nodejs.org2.安装node.js并检查是否安装成功安装完成后,打开windows 终端,输入 "node -v" 字符串,若安装成功则显示所安装node的版本号3.安装cache server安装教程:https://github.com/Unity-Technologies/unity-cache-server在node.js环境上通过注册表安装打开windowns 终端 输入: "npm ins.

2020-05-22 21:38:02 919

原创 批处理,MKLink的创建,文件/文件夹的删除,文件内容复制到另一个文件中

1,MKLink的创建读取“.txt”文件中的内容,然后输入target, link路径创建文件/文件夹的链接。MKLink.bat的内容是:@echo offecho please input target path:set /p targetPath=echo please input link path:set /p linkPath=setlocal enabledelayedexpansionfor /f %%i in (Config.txt) do ( ec...

2020-05-18 12:22:39 1394

原创 MKLink 命令的使用

之前提到帮助一位网友清理C盘的时候,发现他的 iTunes 备份文件夹非常大,于是用 mklink 命令把 iTunes 备份文件夹转移到了 D 盘。于是我觉得 mklink 这个命令值得好好研究一下,所以我把我研究验证的在 Windows 10 下的 mklink 命令的使用教程发出来,大家可以作为参考。当然还是那句话,如果你没看懂 mklink 命令怎么用,建议不要尝试。mklink 命令是 Windows 自带的命令,除了在 Win10 系统下使用,在比较早的系统比如 Win 7、Win

2020-05-12 15:44:53 6671 1

原创 Texture ASTC转换ETC

传统方式修改是通过TextureImporter的方法,先把Texture加载出来再修改,但是这样的话很浪费时间;我的方法是直接修改Texture的.meta文件,速度比之前的快一倍。[MenuItem("Assets/设置文件夹以及子文件夹下面的图片压缩格式为ETC", priority = 0)] static void AutoSetASTC() { D...

2020-04-10 15:54:42 778

原创 如何判断手机是否支持ASTC格式的贴图

​​Unity中SystemInfo中封装的有个SupportsTextureFormat的方法,直接调用这个方法就可以获取结果。代码如下:public bool ISSupportASTC() { bool isSupport = false; for (TextureFormat i = TextureFormat.ASTC_RGB_4x4; i...

2020-04-04 15:12:32 4861

转载 【Jenkins】三、设置定时任务

1.点击工程(Test1), 选择左侧的配置2.选择”构建触发器“下面的”定时构建“3.填写定时规则(这里设置每隔30分钟执行一次)4.定时规则语法字段 * * * * *含义 分钟 小时 日期 月份 星期取值范围 0-59 0-23 1-31 1-12 0-7 ...

2020-03-27 18:14:16 345

原创 Prefab保存

获取场景中所有的特效,然后检查所有的ParticleSystem中的Prewarm是否打开,如果打开的话关闭,最后保存Prefab。就是这样的一个简单功能。代码如下:public static void ModifyParticle() { ParticleSystem[] ps = FindObjectsOfType<ParticleSystem>();...

2020-03-25 16:14:03 981

原创 Xml配置文件的保存以及读取

这种格式的xml配置文件的读取和保存为例。1,保存private static string path = Application.dataPath.Replace('\\', '/'); private static string projectPath = path.Substring(0, path.LastIndexOf('/'));private static s...

2020-03-02 15:31:12 371

转载 Unity将来时:IL2CPP是什么?有了Mono为什么还需要IL2CPP?

https://zhuanlan.zhihu.com/p/19972689

2019-10-02 13:56:45 612

原创 Unity调用C/C++代码方法

一般C/C++的代码通过VisualStudio生成.Dll文件,然后在unity中通过C#的代码调用即可。一,创建C++的项目选择动态链接库。输入项目名称以及保存路径之后,点击确定。这样我们的C/C++项目就创建成功了二,在源文件中创建c/c++代码然后我们需要在我们创建的DllForUnity.cpp中添加代码:#include "stdafx.h"...

2019-09-28 14:40:36 12308 1

原创 android studio 3.4.1 版 NDK 自动编译产生第三方.so 库

AndroidStudio通过Native调用C++代码连接:https://blog.csdn.net/Chhjnavy/article/details/94721080

2019-09-28 13:44:26 396

原创 Build Android Studio时出现的错误: Gradle sync failed: Unable to start the daemon process

一、问题在Android Studio中新建的工程出现了以下问题Error:Unable to start the daemon process.http://write.blog.csdn.net/postedit?ref=toolbarThis problem might be caused by incorrect configuration of the daemon.For...

2019-09-26 10:39:15 372

原创 Unity, Android ,StreamingAssets路径下配置文件使用UnityWebRequest的读取(2018版本WWW方法已经弃用)

废话不说了,直接上代码://读取StreamingAssets中的配置文件复制到移动端的Application.persistentDataPath路径下private IEnumerator GetJsonFiles(){ string path = Application.streamingAssetsPath + "/Configs/CpuInfo.json"; Un...

2019-08-27 17:46:28 4550 1

转载 Unity和Android Studio 交互通讯

主要是 根据 参考资料3 的内容。本文尽量减少文字的 描述。参考资料1 有 一点 问题。本文的内容需要 对照 参考资料3 来查看建立 新的工程。点击 FINISH 按钮,新建工程。找到 libs 的文件路径。右键 libs 文件夹,find in path 。按 esc 按键 退出 find in path。打开文...

2019-08-24 16:35:56 439 2

原创 利用MD5码检查图片资源是否重复

本次实验中,我检查的是项目中的哪些贴图是否被重用。代码如下:首先,就是MD5码的生成,这个是最重要的:using System.IO;using System.Security.Cryptography;using System.Text;public class FileHelper{ public static string MD5Stream(Stream inpu...

2019-04-05 11:44:43 863

原创 Unity Texture2D分平台压缩设置

记录一下怎么设置的代码片码,unity2017上测的可以var importer = AssetImporter.GetAtPath(a2) as TextureImporter;// 安卓设置TextureImporterPlatformSettings androidSetting = new TextureImporterPlatformSettings();androidSet...

2019-03-30 17:14:56 1150

转载 Unity技术支持团队性能优化经验分享

转载:https://mp.weixin.qq.com/s?__biz=MzU5MjQ1NTEwOA%3D%3D&idx=1&mid=2247490321&sn=f9f34407ee5c5d0d1edb478981299108 在10月26日的Unity独立游戏日上,Unity大中华区技术总监张黎明为大家分享了Unity技术支持团队在性能优...

2019-03-22 16:40:19 612

转载 unity shader _MainTex_TexelSize 和 UNITY_UV_STARTS_AT_TOP 的作用

我们先来看一段代码: #if UNITY_UV_STARTS_AT_TOP if (_MainTex_TexelSize.y < 0) { o.uv.w = 1 - o.uv.w; } #endif 1 2 3 4 5 6_MainTex_TexelSize,这个变量的从字面意思是主贴图 _MainTex 的像...

2019-03-22 10:54:30 1126

原创 Glow + Outline 轮廓描边,并做Blur处理

原连接:http://www.cnblogs.com/dosomething/archive/2012/08/04/2622488.html根据上面链接,写出的代码。轮廓描边是游戏中的细节  但是一个有特色的效果还是会让人眼前一亮Glow + Outline 的效果就像求生之路2和暗黑3的轮廓描边界一样  对轮廓描边后再进行模糊处理如图: 求生之路2 暗黑3  ...

2019-01-05 16:43:12 1711 2

原创 GitLab服务器搭建(Win10系统企业版,在Docker上部署GitLab的搭建)

        首先就是对Docker进行安装,其次通过Docker安装GitLab,然后安装Git,最后安装TortoiseGit。安装完以上工具之后,对他们进行配置就可以使用了。下面就介绍一下它们安装的详细步骤以及安装的过程中需要注意的事项。《一》,Docker的安装        不同的操作系统下对Docker的安装要求是不一样的,我这里是Win10的企业版,所以不需要安装Docke...

2018-12-06 17:21:29 9657 8

转载 使用 Intel GPA 与 分析3D程序和抓取模型

原文链接在这里 http://dev.cra0kalo.com/?p=213背景信息Intel的GPA本身是一款图形分析软件,并没有设计从3D程序里抓取模型资源的功能,但这里作者是通过hook GPA应用,让他可以把捕捉到的顶点缓冲和索引缓冲。Intel GPA 64位的下载链接http://registrationcenter-download.intel.com/akdlm/i...

2018-11-29 20:53:11 1277

ShadowMapProject.rar

对动态阴影的实现方法,以及物体对象身上如何接受阴影的方法

2021-03-16

TNet Tasharen Networking 1.8.2

TNet Tasharen 使多人游戏开发变得更加容易。优雅,简约和注释详细。功能满足了轻量级多人游戏网络开发需要,使用这个插件来开始网络功能并不用太多的开发量。

2018-01-05

VA_X_Setup

与VS配合使用,能够非常快速的提高代码的编写速率和查找代码的速率

2018-01-04

UnitySetup-Android-Support-for-Editor-5.3.8f2

用于打包安卓系统的插件,安装后可轻松打包成安卓的APK

2018-01-04

空空如也

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

TA关注的人

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