Unity记录功能
实战
海尔辛
2017/12/11记录菜鸟成长历程
展开
-
运行时更换天空盒材质的贴图
用户自定义给天空盒更换自己喜欢的图片原创 2022-02-23 10:39:50 · 3470 阅读 · 0 评论 -
加载Assetbundle
加载abIEnumerator StartFromFileAsync(string path) { using (UnityWebRequest uwr = UnityWebRequestAssetBundle.GetAssetBundle(path)) { yield return uwr.SendWebRequest(); if (uwr.result != UnityWebRequest.Result.Suc原创 2022-01-19 17:39:45 · 181 阅读 · 0 评论 -
dear imgui for Unity
第一种最简单1.打开unity packageManager从git URL添加软件包:https://github.com/realgamessoftware/dear-imgui-unity.git2.新建个空对象,挂在Dear Imgui脚本3.新建DearImGuiDemo脚本,也挂在空对象上。代码如下using UnityEngine;using ImGuiNET;public class DearImGuiDemo : MonoBehaviour{ voi...原创 2020-08-04 14:15:54 · 497 阅读 · 2 评论 -
AndroidStudio给apk上签名-使用配置
每日一个小技巧1.在gradle中android{...}标签下书写以下内容signingConfigs一定在buildTypes之前signingConfigs{ release{ storeFile file('../124.jks') storePassword '123456' keyAlias '124' keyPassword '123456' }}2.在buildTypes{...}的rele...原创 2020-05-20 12:09:00 · 210 阅读 · 0 评论 -
性能分析
Unity分析器使用的端口如下: MulticastPort : 54998 组播端口:54998 ListenPorts : 55000 - 55511 监听端口:55000 - 55511 Multicast(unittests) : 55512 - 56023 多路广播(单元测试):55512 - 56023First Steps:第一步Unity依靠C...翻译 2018-10-19 15:45:55 · 147 阅读 · 0 评论 -
AddressableAssets
1.安装Addressable PackManager2.把你想要打成AB的任何资源,单击,在检视面板勾上Addressable,命名3.如果挂载式加载,在脚本声明字段AssetReference或者其子类,拖拽赋值即可4.加载Spritepublic List<SpriteRenderer> spritesToChange;方法一using UnityEngine.UI;using UnityEngine;using UnityEngine.Addressab.原创 2020-08-12 19:20:41 · 450 阅读 · 0 评论 -
AndroidStudio发布aar/jar包
apk改为发布aar1.在状态栏Editor Configurations---》加号(Add new Configuration)---》在Configuration下配置Gradle Project路径和Tasks名称2.找到文件build.gradle 把 apply plugin: 'com.android.application'改成apply plugin:'com.android.library' ,把android里defaultConfig中的applicationId那行注...原创 2020-05-20 11:13:34 · 303 阅读 · 0 评论 -
android of unity 真机性能测试
.确保手机连接电脑,USB调试已打开,找到Android SDK 里的platform-tools,按住Shift+右键,选择在此处打开命令窗口输入:adb forward tcp:54999 localabstract:Unity-X,X替换成你的项目名字, 输入完回车.如果报错了。1.先查netstat -aon|findstr "5037",LISTENING...转载 2018-10-19 13:28:34 · 993 阅读 · 0 评论 -
unity 阴影
初步了解unity 阴影为了让场景看起来更加真实,具有深度信息,我们通常希望光源可以吧一些物体的阴影投射在其他物体上。我们可以先考虑真实生活中阴影是如何产生的。当一个光源发射的一条光线遇到一个不明物体时,这条光线就不可以再继续照亮其他物体。因此,这个物体就会向它旁边的物体投射阴影,那些阴影的区域产生是因为光线无法到达这些区域。在实时渲染中,我们最常使用的一种技术名为shadow map的技术。这种...转载 2018-06-29 18:10:03 · 323 阅读 · 0 评论 -
Unity与Android和iOS交互中间件 可复用
---前言:项目把接android渠道的活分给我,时间早定好了,要的比较急,奈何我没学过android,java。各种请教人,各种采坑。总是加班,心态慢慢变化,也不大爱说话,和搭理人了。---从开始接到结束就2-3天时间。接3渠道---接广告的时候巨多坑-。----心态很重要,事后我觉得可以写得好一点,重构一下,说干就干1.先写Unity层----面向接口编程/// <summary>/// 交互接口/// </summary>public inte.原创 2020-05-20 16:32:27 · 265 阅读 · 0 评论 -
ET5.0学习-1启动官方Demo
环境配置window系统:Windows 10 专业版Unity:2019.3.0f 下载地址:https://download.unitychina.cn/download_unity/27ab2135bccf/Windows64EditorInstaller/UnitySetup64.exe.Net Core:3.1.405 下载地址:https://download.visualstudio.microsoft.com/download/pr/c5cf65f5-85ca-4ae0-9c36原创 2021-02-01 18:31:53 · 783 阅读 · 0 评论 -
出安卓包 JDK SDK NDK
出安卓包两种办法AndroidStudioJDK jdk1.8.0_281SDK 26.1.1 ,先下AndroidStudio Platforms选8.0NDK 19.0.5232133 在AndroidStudio里下载另一种更简单的Unity原创 2021-07-06 10:04:20 · 81 阅读 · 0 评论 -
unity profile
profile编辑器功能:Add profiler:添加你想监测性能状况的类型。Record:监测运行数据Deep File:深度分析。当你打开深度分析(Deep Profile),所有脚本代码将被分析 - 也就是说,所有的函数调用被记录。知道确切在你的游戏代码中花费的时间,这是有用的。注意深度分析(Deep Profiling)会造成非常大的开销,并使用大量的内存,结果你的游戏在分析...翻译 2018-10-19 14:59:28 · 1616 阅读 · 1 评论 -
GF框架+XIL 项目整合
项目unity版本:2020.3.18f1XIL版本:Commits on Oct 26, 2021GameFramework版本:Commits on Sep 28, 2021UnityGameFramework版本:Commits on Oct 28, 2021StarForce版本:Commits on Aug 9, 2021HFS版本:2.3项目克隆:StarForce克隆仓库:https://github.com/EllanJiang/StarForceUnityGameFram原创 2021-11-25 16:33:06 · 996 阅读 · 0 评论 -
编辑器-编译动态库
需求:在编辑器窗体编译外部动态库放置在unity项目里思路:调用vs命令//#if UNITY_EDITOR//using System;//using System.Collections;//using System.Collections.Generic;//using System.Diagnostics;//using System.IO;//using System.Text;//using UnityEditor;//using UnityEngine;//using D原创 2021-12-29 12:32:44 · 106 阅读 · 0 评论 -
编辑器-打AssetBundle
需求:对要提交的资源(游戏对象或游戏场景)进行打包,如果是场景,保留场景中所有的东西,包括渲染的shader,渲染通道,烘焙贴图,环境等等。思路:对要提交的游戏对象做成预制体,对要提交的场景进行保存。使用AssetImporter制作ab名字和ab后缀.使用BuildPipeline进行打包namespace XXX{ using System; using System.Collections; using System.Collections.Generic; u原创 2021-12-29 12:17:21 · 1011 阅读 · 0 评论 -
编辑器窗体-播放声音
需求:在编辑器窗体播放声音思路:反射unity声音模块,进行调用EditorAudio原创 2021-12-29 12:09:48 · 1450 阅读 · 0 评论 -
编辑器-多语言
项目需求:SDK需要多语言旧思路:采用打标签的方式进行多语言切换,不能动态增加减少,且增加的时候比较麻烦新思路:在config目录下检索所有的文件,每一个文件对应一种语言,可方便动态新增减少语言种类 //当前语言 public static Dictionary<string, string> defaultLanuage = new Dictionary<string, string>(); //语言集合 public st原创 2021-12-29 12:02:50 · 173 阅读 · 0 评论 -
UIToolkit踩坑系列-bug
如果后面使用持续更新在EditorWindow使用UIToolKit制作SDK遇到的问题和解决办法级别描述解决办法errorUnity_editor_bug.自定义editorwindow脚本报错后.editorwindow窗体消失不见增加editorwindow.close.调一下close.再打开warringunity_editor_bug.unity突然卡死重启unitywarringunity_editor_bug.uss.uxml原创 2021-12-29 11:49:01 · 2492 阅读 · 0 评论 -
Unity功能-抠图和裁剪
需求:项目里需要对游戏截图进行抠图和裁剪。 /// <summary> /// 抠图 /// </summary> /// <param name="texture2D"></param> /// <returns></returns> private Texture2D GetTexture2D(Texture2D texture2D,int Cap原创 2021-12-29 11:04:19 · 3072 阅读 · 0 评论 -
项目代码规范
前情提要:团队中建立统一的代码规范是有助于阅读team code和review的。要求:有的人用JB Rider,有的人用Visual Studio。但是不要改变IDE的环境原理:编辑.editorConfig文件放在与.sln同级目录下,如果要统一IDE的所有环境编辑CurrentSettings.vssettings文件。操作:把这个文件放在项目下就行Rider也能识别此文件注意,建议在visual studio里编辑。因为Rider自定义程度较低。博主也没有找到可以对同一变量原创 2021-11-19 15:30:20 · 216 阅读 · 0 评论 -
Unity优化之GC——合理优化Unity的GC
最近看到一篇好的文章,分享给大家。原文链接放在最下方。最近有点繁忙,白天干活晚上抽空写点翻译,还要运动,所以翻译工作进行的有点缓慢 =。=PS: 最近重新回来更新了一遍,文章还是需要反复修改才能写的顺畅,多谢各位的支持 ????本文续接前面的unity的渲染优化,进一步翻译Unity中的GC优化,英文链接在下:英文地址介绍:在游戏运行的时候,数据主要存储在内存中,当游戏的数据在不需要的时候,存储当前数据的内存就可以被回收以再次使用。内存垃圾是指当前废弃数据所占用的内存,垃圾回收(GC)是指将废弃的转载 2021-08-18 17:12:19 · 439 阅读 · 0 评论 -
Unity 处理大量GCAlloc
需求:使用unity mono做大数据可视化分析,难免一帧里生成大量的实例(万级别以上)设计:分帧生成没使用分帧前这个值是几万级别,掉帧到几帧.使用后性能提高了 public void CreateNormalBoll(uint day,long number) { //for (int i = 0; i < number; i++) //{ // normal_bolls.Add(new No原创 2021-08-12 15:54:04 · 1763 阅读 · 0 评论 -
Unity 判断粒子结束
需求:大数据需要生成大量的粒子设计:简单做法,做成粒子缓冲池,等待粒子生命周期结束放回池子里,需要的时候从池子取可以增加过载系数,达到过载系数就增容一倍。 private List<ParticleSystem> PullList; private List<ParticleSystem> PullUseList; ///取粒子 private ParticleSystem GetParticleSystem()原创 2021-08-12 12:05:21 · 835 阅读 · 0 评论 -
uMod2.0进阶
目录自定义工具窗口窗体注意事项深入理解Mod加载Mod异步加载Mod网络加载Mod卸载ModMod 引用解决方案引用依赖引用名字资产引用Mod资产加载Mod资产卸载Mod资产共享资产Mod 脚本Mod 脚本要求支持的脚本编译类型概念脚本域脚本集脚本类型脚本代理自定义工具窗口Mod工具包生成器允许您更改许多设置,以便将包定制为适合您的游戏,但是您仍将拥有默认的uMod导出器窗口以供选择涉及设置菜单。这些随附的窗口旨在成为通用窗原创 2021-05-19 18:55:39 · 776 阅读 · 0 评论 -
uMod2.0入门
目录 安装包 特征开发人员使用Mod SettingsGeneralSecurityGeneralMod Tool Builder Package Proejct Content Asset Sharing BuildEngine Security Export用户使用安装包"file://///192.168.115.115\程序组\商店资源包\uMod 20.unitypackage" 引号文本复制到浏览器中辣鸡wiki 链接不能用到.原创 2021-05-19 18:55:03 · 1538 阅读 · 0 评论 -
Unity 每帧里随机不同的数据(真随机)
需求:项目里需要对集合里每个个体进行单独计算概率设计:对集合进行遍历,随机个百分比在概率内就判定成功知识:使用到了System.Random随机种子using System.Collections;using System.Collections.Generic;using UnityEngine;public class TestRandom : MonoBehaviour{ // Start is called before the first frame update原创 2021-08-11 16:32:30 · 607 阅读 · 0 评论 -
Unity 运行时读取Excel
需求:需要在运行时打开目录选择文件,读取excel数据设计:使用window自带的dll,excel,ICSharpCode.SharpZipLib等dllusing System;using System.Runtime.InteropServices; //脚本OpenFileName [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] public class OpenFileName {原创 2021-08-10 12:03:51 · 437 阅读 · 0 评论 -
UnityEditor 默认样式大全
前提:使用EditorGUI写UnityEditor样式,想要好看点设计:把unity 内置的样式查看一遍GUI:using System;using UnityEditor;using UnityEngine;using System.Collections.Generic;namespace ToolKits{ public class BuiltInResourcesWindow : EditorWindow { [MenuItem("Tools/G原创 2021-08-05 16:42:14 · 536 阅读 · 0 评论 -
Unity 计算文件MD5
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;using System.Security.Cryptography;using System;using System.IO;using System.Text;public class Md5Test : MonoBehaviour{ // Start is called befo原创 2021-08-04 17:29:49 · 455 阅读 · 0 评论 -
UnityEditor 文件夹注释
前提:项目里,大家一起写项目,各写各的,文件夹起的越来越多,都不知道干嘛,需要注释一下设计:给文件夹一个说话的机会GUI:#if UNITY_EDITOR //this allows the user to put it in a non-editor folder if they want, since it's not accessing anything elseusing UnityEditor;using UnityEngine;[CustomEditor(typeof(Defa原创 2021-08-05 10:15:55 · 546 阅读 · 0 评论 -
UnityEditor简单加密资源asset
前提:项目的scriptobject资源不想被别人用工具提取设计:修改asset的yaml文件using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;using System.Linq;using System.IO;public class EditorUtils{ [MenuItem("CONTEXT/ScriptableObject/Sync")]原创 2021-08-05 11:08:57 · 330 阅读 · 0 评论 -
UnityEditor Icons图标
前提:项目中用到了素材,只想用unity buildin的素材。设计:找到unity内置的icon名称,使用反射也行,直接从下面获取也行// https://gist.github.com/MattRix/c1f7840ae2419d8eb2ec0695448d4321// https://unitylist.com/p/5c3/Unity-editor-icons使用API:EditorGUIUtility.IconContent(icon_name)#if UNITY_EDITOR原创 2021-08-05 09:46:48 · 1993 阅读 · 0 评论 -
UnityEditor写工具编译项目
前提:项目中有需求,在项目里有一个主项目,一个模块项目,需要将模块项目编译成dll给主项目调用。设计:寻找Microsoft visual studio目录调用LaunchDevCmd.bat.Msbuildcopy target dllrefreshGUI:#if UNITY_EDITORusing System;using System.Collections;using System.Collections.Generic;using System.Diagnostics;原创 2021-08-05 09:37:24 · 362 阅读 · 0 评论 -
Unity 打包场景
using System.Collections;using System.Collections.Generic;using System.Text.RegularExpressions;using UnityEditor;using UnityEngine;using UnityEngine.SceneManagement;public class BuildScene : EditorWindow{ [MenuItem("Custom Editor/AssetBundle/B原创 2021-08-04 17:29:04 · 1048 阅读 · 0 评论