Unity3d 周分享(23期 2019.11.10 )

这篇博客汇总了Unity3d的实用技巧,包括批量删除Missing组件的方法,Unity中HDR模式渐变的实现,验证Unity 2017.3引入的纹理压缩格式对iOS和Android的影响。还涵盖了反射获取子类、Unity字符串插值减少GC Alloc、使用EditorUtility.RevealInFinder的注意事项等Unity开发中的实用知识。
摘要由CSDN通过智能技术生成

选自过去1~2周 自己所看到外文内容:https://twitter.com/unity3d 和各种其他博客来源吧        

 

1\  如何批量删除Unity Missing 组件

           Unity2019中似乎准备了专用的方法

GameObjectUtility.RemoveMonoBehavioursWithMissingScript

 

Unity2018支持的方法

 

 

 

 

2、  [Unity]提示:在Inspector 中显示HDR模式渐变。

HDRgradient.cs

[GradientUsage(true)] public Gradient color;

 

只需写一个名为GradientUsage的属性。

 

 

 

3、对 Unity 2017.3中引入的“RGB Crunched ETC”和“RGBA Crunched ETC2”的验证

Updated Crunch texture compression library – Unity Blog

https://blogs.unity3d.com/jp/2017/11/15/updated-crunch-texture-compression-library/

        Crunch compression of ETC textures – Unity Blog

https://blogs.unity3d.com/jp/2017/12/15/crunch-compression-of-etc-textures/

 

          这似乎可以在iOS上使用,但iOS有PVRTC的图像,Android有ETC,所以我试图验证这些格式是否在iOS环境中是有用的。

 

验证方法

使用Unity版2017.3.0f3。

           准备了三种类型的512x512 / 1024x1024 / 2048x2048纹理,并使用非透明(RGB)和透明(RGBA)纹理进行验证。带有image〜的纹理名称 没有透明度, 而imageTrans~具有透明度。

              在MemoryProfiler (https://bitbucket.org/Unity-Technologies/memoryprofiler)上检查实际机器上的内存消耗。

         使用Mac终端上的  ls -alh  命令检查“PNG文件”的大小。

括号中的文件大小是Build Report确认的值。

          单击此处查看用于验证的项目 https://github.com/nakamura001/Unity-TestCrunch

iOS版

*原始尺寸图像可以显示在上一页上。

         在iOS环境中,由于图形API(Metal / OpenGL ES 3 / OpenGL ES 2)而出现差异。

         由于Metal不支持ETC(支持ETC2),因此在Metal环境中执行“RGB Crunched ETC”时,实际上会消耗RGBA 32位大小的内存。即使纹理略微增加文件大小但没有透明度,使用“RGBA Crunched ETC2”也可以减少内存使用量。

         由于OpenGL ES 2环境不支持ETC / ETC2,因此在执行期间使用“RGB Crunched ETC”或“RGBA Crunched ETC2”会消耗RGBA 32位大小的内存。

           在PVRTC中,由于图形API的差异,尺寸没有差异。

         除了存储容量最重要的游戏之外,PVRTC基本上是平衡和推荐的。

Android的

在Android环境中似乎没有问题,因此如果图形质量没有问题,您可以主动使用它。

4、计算机语言的保留字数量(英文)

image.png

 

 

5、UGUI 为什么要动静分离?

记得好像 以前发过这个截图: 

 

6、[Unity]使用字符串插值时,添加ToString时GC Alloc减少

using UnityEngine;

using UnityEngine.Profiling;

public class Example : MonoBehaviour

{

    private void Update()

    {

        int num1 = 1;

        int num2 = 2;



        // 有ToString

        var sampler1 = CustomSampler.Create( " 有ToString" );

        sampler1.Begin();

        var str1 = $"{num1.ToString()} / {num1.ToString()}";

        sampler1.End();

        

        // 没有ToString

        var sampler2 = CustomSampler.Create( "没有 ToString " );

        sampler2.Begin();

        var str2 = $"{num1} / {num2}";

        sampler2.End();

    }

}

 

 

 

 

7、[Unity]使用EditorUtility.RevealInFinder打开文件夹时,打开的是父级路径。

[MenuItem( "Tools/Hoge" )]

    private static void Hoge()

    {

        EditorUtility.RevealInFinder( "Assets" );

    }

image.png

当我尝试使用System.Diagnostics.Process.Start打开Assets文件夹时

[MenuItem( "Tools/Hoge" )]

    private static void Hoge()

    {

        Process.Start( "Assets" );

    }

image.png

8、[C#]如何通过反射获取特定类的所有子类

System.Reflection.Assembly.GetAssembly(typeof(Example))

   .GetTypes()

   .Where(x => x.IsSubclassOf(typeof(Example)) && !x.IsAbstract)

   .ToArray();

子类的实例的

顺便说一下,使用Activator 实例化如上所述获得的子类。

var instance = System.Activator.CreateInstance(subClassType) as Example;

 

 

9

### 回答1: unity-debugging-2019.x.zip是一个开发工具,是用于unity游戏引擎的调试和测试工具包。Unity是一个流行的游戏开发平台,提供了各种开发工具和功能,但有时开发者需要调试和测试游戏以确保游戏的稳定性和质量。所以,Unity向开发者提供了这个调试工具包。该工具包包含许多用于调试和测试Unity应用程序的工具,例如Profiler和Frame Debugger,这些工具可帮助开发者分析和优化游戏性能和资源使用。此外,Unity还提供了一些有用的调试信息,如断言、堆栈跟踪和异常信息等,可帮助开发者发现和解决游戏中的错误和问题。总之,unity-debugging-2019.x.zip是一个方便和必要的工具包,可以帮助Unity开发者有效地进行游戏开发和调试。 ### 回答2: unity-debugging-2019.x.zip是Unity官方提供的一个调试工具包,其中包含了Unity的调试器、Profiler、内存分析工具等等,可以帮助开发者在开发过程中快速定位和解决问题。此工具包适用于Unity 2019版本及其以上。 通过调试器,开发者可以单步执行代码、查看变量值,从而帮助分析和定位错误。而Profiler则可以帮助开发者检测性能问题,例如卡顿、CPU使用率、GPU使用率等等。内存分析工具则可以帮助开发者理解和优化内存使用,找出内存泄漏等问题。 使用unity-debugging-2019.x.zip调试工具包,开发者可以更加高效地进行调试和优化工作,提高开发效率和代码质量。此工具包非常重要,特别是在大型项目开发中,可以大幅提高开发效率和项目稳定性。同时,该工具包免费提供,非常实用且方便。 ### 回答3: unity-debugging-2019.x.zip是一个Unity游戏引擎的调试工具包,可帮助开发人员识别游戏中的错误和调试问题。该工具包包含Unity引擎的调试版本,可用于查看和调试游戏代码中的错误、警告和异常。同时,该工具包还包括几种调试技术,如远程调试和调试器扩展,这些技术使开发人员能够更快地发现和修复游戏中的问题。使用unity-debugging-2019.x.zip可以大大提高开发人员的调试效率,缩短开发,提高游戏质量。无论是初学者还是资深开发人员,使用该工具包都能有效地提高游戏开发水平和效率。虽然该工具包是专业开发人员使用的工具,但对于想要深入学习游戏开发、了解游戏引擎内部运行机制的人来说,也是一个重要的工具。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值