Unity3d 周分享(9期 2018.12.31)

2024-05-03 21:08
文章标签 分享 31 unity3d 2018.12

本文主要是介绍Unity3d 周分享(9期 2018.12.31),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作为搞技术类博客的csdn居然能在点击发表文章 内容全部丢失,不是第一次遇到了 ,弄一个文章浪费多长时间。  

-------------------------------------------------

选自过去1~2周的内容: https://twitter.com/unity3d   和各种其他来源吧   

懒得重新弄了, 抱歉~

 

1)、 今天看到 文档中提到

If you enable Occlusion Culling it can significantly increase performance, but it occupies more disk space and RAM because the Unity Umbra integration bakes the occlusion data during the build and Unity needs to load it from disk to RAM while loading a Scene.

如果启用遮挡剔除,它可以显着提高性能,但它占用更多磁盘空间和RAM,因为Unity Umbra集成在构建期间烘焙遮挡数据,Unity需要在加载场景时将其从磁盘加载到RAM。

不仅仅静态、动态批处理有这个问题~~~

 

2)、 Unity摄像机的 Frustum Culling 视锥体剔除。

在Unity 2017.1 中做了优化, 只会剔除Camera关心的层, 这个也是首先进行的步骤。

其中还提供了 :Camera.layerCullDistances https://docs.unity3d.com/ScriptReference/Camera-layerCullDistances.html?_ga=2.247849863.1202346539.1545618055-1366382285.1535636176 针对指定层设置剔除距离~~

 

3) 您可以在更改脚本后进行编译, 而无需将焦点返回到Unity编辑器。 “UnityCompileInBackground ”

https://github.com/baba-s/unity-compile-in-background

 

例如,如果在Visual Studio中编辑并保存代码, 可以直接编译, 不用等回到Unity中。

 

 

4)、 UGUI 扩展 'Unity-SafeAreaCanvas',可以使用对应iPhone X / XS安全区域的画布

https://github.com/nkjzm/Unity-SafeAreaCanvas

 

 

 

 

 

另外一个比较有用的项目:

https://github.com/Syy9/GameViewSizeChanger

“GameViewSize Changer”,可以在游戏视图中查看iPhone X / XS的安全区域

 

 

 

5)、 Unity在导出 Android的Gradle项目时调用“IPostGenerateGradleAndroidProject” 回调

 

https://docs.unity3d.com/ScriptReference/Android.IPostGenerateGradleAndroidProject.html

using UnityEditor.Android; using UnityEngine; public class Example : IPostGenerateGradleAndroidProject { public int callbackOrder { get { return 0; } } public void OnPostGenerateGradleAndroidProject( string path ) { Debug.Log( path ); } }

 

在生成Gradle项目和构建开始之间的期间 触发回调

调用Internal 构建 方式 不会被调用

 

 

 

6)、 如何使Console 窗口中显示的“warning CS0649: Field is never assigned to”警告无效

using UnityEngine; public class Example : MonoBehaviour { [SerializeField] private GameObject m_gameObject; private void Awake() { Debug.Log( m_gameObject ); } }

Unity Console窗口中会显示警告,因为尚未初始化应用SerializeField属性的变量 。

因此,将名为“csc.rsp”的文件添加到Unity项目中 。 写上内容 -nowarn:0649

在“csc.rsp”文件中描述的状态下编译时,不会输出上述警告

 

由于可能无法输出重要警告,我认为使用时应注意

 

 

警告不仅仅在 Unity中, 那么在 Visual Studio 上:

using UnityEngine; public class Example : MonoBehaviour { [SerializeField] private int m_value; private void Start() { Debug.Log( m_value ); } }

上面显示警告。

因此,将此脚本添加到Unity项目的“Editor”文件夹中,

关闭Visual Studio并从Unity再次启动Visual Studio。

 

using SyntaxTree.VisualStudio.Unity.Bridge;

using System.IO;

using System.Linq;

using System.Text;

using System.Xml.Linq;

using UnityEditor;

 

[InitializeOnLoad]

public static class ProjectFileHook

{

static ProjectFileHook()

{

ProjectFilesGenerator.ProjectFileGeneration += OnGeneration;

}

 

private static string OnGeneration( string name, string content )

{

var document = XDocument.Parse( content );

var ns = document.Root.Name.Namespace;

var list = document.Root

.Descendants()

.Where( x => x.Name.LocalName == "PropertyGroup" )

.Descendants()

.Where( x => x.Name == ns + "NoWarn" )

;

 

foreach ( var xe in list )

{

xe.Value = xe.Value + ";0649";

}

 

var stream = new Utf8StringWriter();

document.Save( stream );

 

return stream.ToString();

}

 

private sealed class Utf8StringWriter : StringWriter

{

public override Encoding Encoding { get { return Encoding.UTF8; } }

}

}

 

警告不会在Visual Studio中输出

由于可能无法输出重要警告,我认为使用时应注意

https://developercommunity.visualstudio.com/content/problem/254578/cant-disable-warning-cs0

这篇关于Unity3d 周分享(9期 2018.12.31)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/957653

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,

Unity3D自带Mouse Look鼠标视角代码解析。

Unity3D自带Mouse Look鼠标视角代码解析。 代码块 代码块语法遵循标准markdown代码,例如: using UnityEngine;using System.Collections;/// MouseLook rotates the transform based on the mouse delta./// Minimum and Maximum values can

Unity3D 运动之Move函数和translate

CharacterController.Move 移动 function Move (motion : Vector3) : CollisionFlags Description描述 A more complex move function taking absolute movement deltas. 一个更加复杂的运动函数,每次都绝对运动。 Attempts to

分享5款免费录屏的工具,搞定网课不怕错过!

虽然现在学生们不怎么上网课, 但是对于上班族或者是没有办法到学校参加课程的人来说,网课还是很重要的,今天,我就来跟大家分享一下我用过的几款录屏软件=,看看它们在录制网课时的表现如何。 福昕录屏大师 网址:https://www.foxitsoftware.cn/REC/ 这款软件给我的第一印象就是界面简洁,操作起来很直观。它支持全屏录制,也支持区域录制,这对于我这种需要同时录制PPT和老师讲

【干货分享】基于SSM的体育场管理系统的开题报告(附源码下载地址)

中秋送好礼 中秋佳节将至,祝福大家中秋快乐,阖家幸福。本期免费分享毕业设计作品:《基于SSM的体育场管理系统》。 基于SSM的体育场管理系统的开题报告 一、课题背景与意义 随着全民健身理念的深入人心,体育场已成为广大师生和社区居民进行体育锻炼的重要场所。然而,传统的体育场管理方式存在诸多问题,如资源分配不均、预约流程繁琐、数据统计不准确等,严重影响了体育场的使用效率和用户体验。

图书管理系统系统分享

分享一个图书管理系统,Java、SpringBoot、Vue和MySQL开发的图书馆管理系统 gitee项目地址:https://gitee.com/yuanmomoya/open-source-project/tree/master/books-management-system GitHub项目地址:https://github.com/yuanmomoya/open-source-pro

Linux 删除 当前下的 mysql-8.0.31 空文件夹

在Linux中,如果你想要删除当前目录下的名为mysql-8.0.31的空文件夹(即该文件夹内没有任何文件或子文件夹),你可以使用rmdir命令。但是,如果mysql-8.0.31文件夹并非完全为空(即它包含文件或子文件夹),rmdir命令会失败。 如果你的目标是删除mysql-8.0.31文件夹及其内部的所有内容(无论是否为空),你应该使用rm命令结合-r(或-R,它们是等价的)选项来递归地删

站长常用Shell脚本整理分享(全)

站长常用Shell脚本整理分享 站长常用Shell脚本整理分享1-10 站长常用Shell脚本整理分享11-20 站长常用Shell脚本整理分享21-30 站长常用Shell脚本整理分享31-40 站长常用Shell脚本整理分享41-50 站长常用Shell脚本整理分享51-59 长期更新