Unity开发必须了解的一些东西(Chinar)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ChinarCSDN/article/details/82914337

如博文无法正常显示,请访问原文地址: https://blog.csdn.net/ChinarCSDN/article/details/82914337


Unity项目必知事宜



本文提供全流程,中文翻译。

Chinar 坚持将简单的生活方式,带给世人!

(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)

Chinar —— 心分享、心创新!

助力更为详细的了解 Unity 项目中的一些注意事宜

为新手节省宝贵的时间,避免采坑!

Chinar 教程效果:




全文高清图片,点击即可放大观看 (很多人竟然不知道)


1

Special folders —— 特殊文件夹



Assets、Library、ProjectSettings —— 位于 Unity 工程根目录下
Assets

Unity工程中所用到的所有Asset都放在该文件夹中,是资源文件的根目录,很多API都是基于这个文件目录的,查找目录都需要带上Assets,比如AssetDatabase。
Library

Unity会把Asset下支持的资源导入成自身识别的格式,以及编译代码成为DLL文件,都放在Library文件夹中。
ProjectSettings

编辑器中设置的各种参数
下面都是存在Assets目录下的文件的了。

Editor

为Unity编辑器扩展程序的目录,可以在根目录下,也可以在子目录下,只要名字叫“Editor”,而且数量不限。Editor下面放的所有资源文件和脚本文件都不会被打进包中,而且脚本只能在编辑器模式下使用。一般会把扩展的编辑器放在这里,或只是编辑器程序用到的dll库,比如任务编辑器、角色编辑器、技能编辑器、战斗编辑器……以及各种小工具。
Editor Default Resources

名字带空格,必须在Assets目录下,里面放编辑器程序用到的一些资源,比如图片,文本文件等。不会被打进包内,可以直接通过EditorGUIUtility.Load去读取该文件夹下的资源。
Gizmos

Gizmos.DrawIcon在场景中某个位置绘制一张图片,该图片必须是在Gizmos文件夹下。
OnDrawGizmos是MonoBehaviour的生命周期函数,但是只在编辑器模式下每一帧都会执行。Gizmos类能完成多种在场景视图中绘制需求,做编辑器或调试的时候经常会用到,比如在场景视图中绘制一条辅助线。(用Debug.DrawLine,Debug.DrawRay也可以绘制简单的东西)

Plugins

该文件夹一般会放置几种文件,第三方包、工具代码、sdk。

plugin分为两种:Managed plugins and Native plugins
Managed plugins:就是.NET编写的工具,运行于.NET平台(包括mono)的代码库,可以是脚本文件,也可以本身是DLL。NGUI源码就放在该文件夹下面的。
Native plugins:原生代码编写的库,比如第三方sdk,一般是dll、so、jar等等。

该文件夹下的东西会在standard compiler时编译(最先编译),以保证在其它地方使用时能找到。
Resources

存放资源的特殊文件夹,可以在根目录下,也可以在子目录下,只要名字叫“Resources”就行,比如目录:/xxx/xxx/Resources 和 /Resources 是一样的,而且可有多个叫Resources的文件夹。Resources文件夹下的资源不管用还是不用都会被打包进.apk或者.ipa,因为Unity无法判断脚本有没有访问了其中的资源。需要注意的是项目中可以有多个Resources文件夹,所以如果不同目录的Resources存在同名资源,在打包的时候就会报错。

Resources中全部资源会被打包成一个缺省的AssetBundle(resources.assets)。

在该文件夹下的资源,可以通过Resources类进行加载使用。API地址
Standard Assets

存放导入的第三方资源包。
StreamingAssets

该文件夹也会在打包的时候全部打进包中,但它是“原封不动”的打包进去(直接拷贝到的包里)。游戏运行时只能读不能写。

不同的平台最后的路径也不同,可以使用unity提供的Application.streamingAssetsPath,它会根据平台返回正确的路径,如下:

Mac OS or Windows:path = Application.dataPath + “/StreamingAssets”;
IOS:path = Application.dataPath + “/Raw”;
Android:path = “jar:file://” + Application.dataPath + “!/assets/”;

我们一般会把初始的AssetBundle资源放在该文件夹下,并且通过WWW或AssetBundle.LoadFromFile加载使用。
Hide Assets

隐藏文件夹和文件
以”.”开头
以”~”结尾
名字为”cvs”
扩展名为”.tmp”

Asset(doc)

An asset is representation of any item that can be used in your game or project. An asset may come from a file created outside of Unity, such as a 3D model, an audio file, an image, or any of the other types of file that Unity supports. There are also some asset types that can be created within Unity, such as an Animator Controller, an Audio Mixer or a Render Texture.

asset就是游戏中所用的资源,可以是用其它软件创建的,如3D model、audio、image等,和一些unity可创建的,如animator、audio mixer、render texture…

一些通常的Asset类型

Image: 支持绝大多数的image type,例如BMP、JPG、TIF、TGA、PSD
Model:eg、.max、.blend、.mb、.ma,它们将通过FBX插件导入。或者直接在3D app导出FBX放到unity project中
Mesh and Animations:unity支持绝大多数流行的3D app的model(Maya、Cinema 4D、3ds Max、Cheetah3D、Modo、Lightwave、Blender、SketchUp)
Audio Files:如果是非压缩的audio,unity将会根据import setting压缩导入(更多)
Other:
Asset Store

里面有很多免费和收费的插件,可以供开发者下载使用。

下载的第三方工具是以package文件存在,导入package:

New举例子黑白88

.meta文件

Asset中的所有文件、文件夹,经过unity的导入过程后,会为每个都生成一个.meta文件,这个文件是unity内部管理文件的重要内容,里面记录着一些信息。

你知道unity是怎么管理资源依赖关系的吗?可以试着更改一个挂在prefab上的脚本的目录或者名字,而这些prefab依然可以正常的调用那些脚本。

unity在第一次导入新文件的时候,会生成一个Unique ID,用来标志这个asset,它就是unity内部用来区分asset的。Unique ID是全局唯一的,保存在.meta文件中。

在unity中资源间的依赖关系引用都是用Unique ID来实现的,如果一个资源丢失了.meta文件,那依赖它的资源就找不到它了。

Plugins(doc)
内容包括了Plugin导入设置、怎样创建使用两种Plugin、怎样利用底层渲染接口以及一些基础知识。

在打包的时候,会把plugin里面的各种库,拷贝到包体中相应的位置(不同平台不一样,具体在可以把工程分别打成几个平台的包)


支持

May Be —— 搞开发,总有一天要做的事!


拥有自己的服务器,无需再找攻略!

Chinar 提供一站式教程,闭眼式创建!

为新手节省宝贵时间,避免采坑!

先点击领取 —— 阿里全产品优惠券 (享受最低优惠)



1 —— 云服务器超全购买流程 (新手必备!)


2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)


3—— Windows 服务器配置、运行、建站一条龙 !


4 —— Linux 服务器配置、运行、建站一条龙 !


技术交流群:806091680 ! Chinar 欢迎你的加入


END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: [email protected]

对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

猜你喜欢

转载自blog.csdn.net/ChinarCSDN/article/details/82914337
今日推荐