【Unity知识点详解】自定义程序集

news2024/9/22 19:35:49

        今天来介绍一下Unity中的自定义程序集。在项目开发中我们经常接触到第三方插件的程序集,如DOTween、Newtonsoft.Json等。

        使用自定义程序集有这么几个好处:

  1. 方便代码的的复用。当某一功能模块需要在多个项目中重复使用时,可以将代码编译成程序集,将程序集放入工程中即可。在代码维护时,也只需重新编译程序集替换即可。我们常用到的第三方插件就是如此。
  2. 在大型项目中使用程序集可以提高编译效率,在代码编译时Unity会将工程中的所有代码编译到 Assembly-CSharp.dll 程序集中去。当项目庞大代码量多的时候,代码的每一次修改都会消耗大量的时间进行编译,使用程序集则可以减少编译时间。
  3. 使用程序集也可以更好的模块化组织和管理代码。
  4. 使用程序集也可以避免源代码的暴露。

自定义程序集的创建

        接下来介绍一下如何创建自定义程序集。

        首先创建一个文件夹,用于存放程序集中所涉及到的代码文件。然后在文件夹下右键,在Create->Assembly Definition中创建程序集定义文件。如图MyAssembly.asmdef会包含目录下所有代码文件,以及包括所有子目录中的代码文件。这里建议程序集名称和文件夹名称保持一直,方便理解和管理。

       

        创建完成MyAssembly.asmdef后Unity会在工程Library\ScriptAssemblies目录中自动生成一个同名的MyAssembly.dll程序集文件,其中就包含了MyAssembly目录下所有的代码。当其他工程需要使用同样的功能模块时,则可以将程序集放入Plugins目录即可。使用方式和其他第三方插件的程序集一样。

自定义程序集的参数设置

        下面来介绍一下MyAssembly.asmdef程序集定义文件中的一些参数。

Name:程序集名称

Auto Referenced:指定预定义的程序集是否应引用此项目程序集。禁用 Auto Reference 选项后,Unity 不会在编译过程中自动引用该程序集。这不会影响 Unity 是否将文件包含在构建中。

        Assembly Definition References是用于添加当前程序集中所需要用到的其他程序集。如图,当前程序集需要使用到Addressables功能,我们则需要将Unity.Addressables程序集进行引用添加。

        更多参数介绍可以查看官方文档,链接在文章最后。

DLLSwitcher介绍

        最后给大家介绍一个很好用的插件,当我们项目中即有脚本又有程序集的时候,在添加组件的时候就涉及到是要添加脚本还是程序集的问题,DLLSwitcher则可以帮助你进行转换。

        首先我们可以在Unity Asset Store进行下载,下载之后进行一个导入。

        在菜单栏Window->DllSwitcher打开DLLSwitcher窗口,在Dll File项中选择程序集文件。然后就可以进行引用转换了。

参考文档连接:

程序集定义:https://docs.unity3d.com/cn/2022.2/Manual/ScriptCompilationAssemblyDefinitionFiles.html

DLLSwitcher插件:https://assetstore.unity.com/packages/tools/utilities/dllswitcher-40370

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1431082.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

canvas设置图形各种混合模式,类似photoshop效果

查看专栏目录 canvas实例应用100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…

树莓派zero/zero w的区别

直观区别 1、zero没有WiFi和蓝牙模块,当然也没有网线接口,适合不需要网络的场景需求。 2、zero w带有WiFi和蓝牙模块,没有网线接口。适合需要网络的场景需求。 选购建议 我一般都是看有没有网络接口或者WiFi支持(一定要选择焊接…

未来电话呼叫技术的社会影响与发展趋势----云微呼

未来电话呼叫技术将以更为智能化、便捷化和个性化为主要发展趋势,其所带来的社会影响也将是多层面的。以下将探讨未来电话呼叫技术可能的发展趋势以及对社会的影响: 智能化助力生活便捷: 未来电话呼叫技术将更加智能化,通过人工智…

《计算机网络简易速速上手小册》第10章:未来网络技术趋势(2024 最新版)

文章目录 10.1 边缘计算与网络设计 - 未来网络的速度与激情10.1.1 基础知识10.1.2 重点案例:使用 Python 实现边缘计算的实时视频分析准备工作Python 脚本示例 10.1.3 拓展案例1:智能交通系统Python 脚本示例 - 边缘计算设备上的交通流量分析 10.1.4 拓展…

牛客网 OR76 两个整数二进制位不同个数

前提需备知识: 算法:n&(n-1)是用来求n中1的个数 常用代码形式为: while(n){count;nn&(n-1); //每次减去1的个数} 关于该算法的推导可以见http://t.csdnimg.cn/Tld2S,本文就不再赘述 思路&…

三种pdf转ppt方法?学会这几招轻松搞定转换

三种pdf转ppt方法?在当今的工作和生活中,PDF和PPT这两种文件格式常常会让我们感到困扰。有时候我们需要将PDF文件转换成PPT格式,以便更好地进行演示或工作汇报。但是,如何快速、准确地完成这项任务呢?本文将为你揭秘三…

4.java中的输入输出/输入中的next和nextLine区别问题

(笔试会经常让我们自己去处理输入输出) 一.输出到控制台 println 输出的内容自带 \n(换行) print 不带 \n printf 的格式化输出方式和 C 语言的 printf 是基本一致的. String msg "Hello, World!";System.out.print(m…

非常好看的CSS加载中特效,引用css文件既可用

非常好看的CSS加载中特效 demo效果源码&#xff1a; <!DOCTYPE html5> <head><link rel"stylesheet" type"text/css" href"demo.css"/><link rel"stylesheet" type"text/css" href"loaders.css&…

C语言内存分配函数知识汇总

C语言中的主要内存分配函数包括&#xff1a; 1. malloc() - 函数原型&#xff1a;void *malloc(size_t size) - 功能&#xff1a;动态分配指定大小&#xff08;以字节为单位&#xff09;的连续内存空间。 - 返回值&#xff1a;成功分配内存时&#xff0c;返回指向该内存区域…

力扣热门100题刷题笔记 - 3.无重复字符的最长子串

力扣热门100题 - 3.无重复字符的最长子串 题目链接&#xff1a;3. 无重复字符的最长子串 题目描述&#xff1a; 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。示例&#xff1a; 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字…

全球降水数据产品介绍

一、数据基本概况 降水数据在气象学、水文学、农业、生态学等领域有着广泛的用途。以下是一些降水数据的主要用途&#xff1a; 气象预报和监测&#xff1a; 降水数据是气象预报的重要组成部分&#xff0c;对预测天气、气候和自然灾害&#xff08;如暴雨、洪水&#xff09;至关…

Python学习从0到1 day13 Python数据容器.4.set集合、dict字典,映射

他往黑夜里去了&#xff0c;我陪他 ——24.2.4 一、set集合 1.为什么使用集合&#xff1f; 通过特性来分析&#xff1a; 列表可修改、支持重复元素且有序 元组、字符串不可修改、支持重复元素且有序 局限在于&#xff1a;它们都支持重复元素 当场景需要对内容进行去重处理&am…

微分几何——梅向明第四版学习笔记(一) 向量函数和曲线论

目录 引出向量函数曲线论简单曲线定义曲线的向量参数表示 曲线的切线【重要】曲线的法面【重要】曲线的自然参数表示 空间曲线曲线的密切平面空间曲线的基本三棱形【重要】单位切向量主法向量副法向量Frenet标架螺旋线的案例 曲线的曲率和曲率半径曲率的几何意义 曲线的挠率挠率…

政安晨:示例演绎Python的函数与获取帮助的方法

调用函数和定义我们自己的函数&#xff0c;并使用Python内置的文档&#xff0c;是成为一位Pythoner的开始。 通过我的上篇文章&#xff0c;相信您已经看过并使用了print和abs等函数。但是Python还有许多其他函数&#xff0c;并且定义自己的函数是Python编程的重要部分。 在本…

2024年美赛数学建模E题思路分析 - 财产保险的可持续性

# 1 赛题 问题E&#xff1a;财产保险的可持续性 极端天气事件正成为财产所有者和保险公司面临的危机。“近年来&#xff0c;世界已经遭受了1000多起极端天气事件造成的超过1万亿美元的损失”。[1]2022年&#xff0c;保险业的自然灾害索赔人数“比30年的平均水平增加了115%”。…

【lesson36】缓冲区的认识

文章目录 缓冲区的认识 缓冲区的认识 上次我们已经介绍了缓冲区的刷新策略&#xff0c;并且遇到了一个问题&#xff0c;这次我们就继续延续上次的话题。 一般而言行缓冲的设备文件-------显示器文件 一般而言全缓冲的设备文件-------磁盘文件 所有设备永远倾向于全缓冲&#…

git常用一些操作

1. git status // 查看当前目录更新 2. git checkout -b <NEW_BRANCH> // 新切一个分支&#xff08;只在第一次操作的时候做&#xff0c;后面就不用做了&#xff09; 3. git pull origin <BRANCH_NAME> …

JSR303参数校验-SpringMVC

文章目录 JSR303技术标准简介JSR303标准几个具体实现框架validation-apijakarta.validation-apihibernate-validatorspring-boot-starter-validation Spring Validationjavax.validation.constraints包下提供的注解org.hibernate.validator.constraints包扩展的注解校验注解默认…

如何在个人PC的桌面创建一个类似网吧的游戏菜单并分类?

GGTools 免费的桌面图标管理器、软件菜单、游戏菜单 单机版游戏菜单、个人/家用/家庭版游戏菜单、轻量级图标收纳软件

两台电脑怎么互传文件?4个方法提高传输效率!

“我在工作时总是需要将文件传给同小组的同事&#xff0c;想问问大家有什么两台电脑互传文件的简单操作方法吗&#xff1f;希望大家教教我呀&#xff01;” 在日常生活和工作中&#xff0c;我们经常需要将文件从一台电脑传输到另一台电脑。除了传统的U盘或移动硬盘等存储设备外…