Unity基础学习笔记(一)

本文介绍了Unity的基础知识,包括Editor文件夹的用途,Resources和StreamingAssets的区别,以及Prefab的实例化、覆写规则。详细讲解了预制体的内嵌、变体和拆包操作。此外,还阐述了Monobehavior脚本的执行顺序,如Awake、Start、Update等。最后提到了游戏物体GameObject的Tag、Layer以及生成和查找方法。
摘要由CSDN通过智能技术生成

1. unity中的特殊文件夹


在Unity中一些文件夹是预设定具有某些特殊功能的。在建立文件夹时若不是使用相应功能,应避免和这些文件夹重名。
***Assets文件夹***为资源的根节点,所有的资源都应在Assets文件夹下,经测试似乎可以命名其他文件夹为Assets,但为了避免混淆,应避免使用这个文件夹名。

Editor 文件夹,用来存放一些调用Unity.Editor的API的脚本。可以在各个层级中有各自的Editor文件夹。因为实际项目不能调编辑器,这个文件夹中的脚本不会被build打包进去。

Editor Default Resources文件夹,注意中间是有空格的。它必须放在Assets根目录下,只能有一个。你可以把编辑器用到的一些资源放在这里,比如图片、文本文件、等等。它和Editor文件夹一样都不会被打到最终发布包里,仅仅用于开发时使用。你可以直接通过EditorGUIUtility.Load去读取该文件夹下的资源。

Gizmos文件夹,用来存在OnDrawGizmos方法内使用Gizmos.DrawIcon所画出的图标。

Plugins文件夹,它必须放在Assets根目录下,只能有一个。用来存放一些插件。如果做手机游戏开发一般 andoird 或者 ios 要接一些sdk 可以把sdk依赖的库文件 放在这里,比如 .so .jar .a 文件。这样打完包以后就会自动把这些文件打在你的包中。

Resources文件夹,可以在各个层级中有各自的Resources文件夹。Resources文件夹下的资源不管你用还是不用都会被打包。可以用Resources.Load方法来直接读取,例如:

GameObject g = Resources.Load<GameObject>("Cube");//载入资源(预制体)
Instantiate(g);//在场景中实例化资源

实际是传递一个Path,默认是在Resource文件夹下。这个方法会找遍所有的Resources文件夹看是否有符合的文件。
(Resources.LoadAssetAtPath()已被弃用)。
官方文档提示:Resources 文件夹是 Unity 项目中许多常见问题的来源。Resources 文件夹的使用不当会使项目构建出现膨胀,导致内存消耗过高,并显著增加应用程序启动时间。

Standard Assets文件夹,存放Unity的标准资产。它必须放在Assets根目录下,只能有一个。

StreamAssets文件夹。它必须放在Assets根目录下,只能有一个。存放媒体文件,如视频等。该文件夹下的资源会打包进发布包,它和Resources文件夹的区别是:Resources文件夹下的资源在打包时会被压缩,但StreamingAssets文件夹下的资源不会被压缩,而是原封不动的打包进发布包中。它是一个只读的文件夹,就是程序运行时只能读 不能写。它在各个平台下的路径是不同的,不过你可以用Application.streamingAssetsPath 它会根据当前的平台选择对应的路径。

2. 预制体


预制体相当于一个GameObject的模板。我们可以把场景中做好的GameObject保存下来,用在别的场景或者来动态生成。
a) 预制体的制作
直接将GameObject从Hierarchy面板拖到Project面版里就行,生成一个蓝色方块即为预制体。

b) 预制体的实例化

  1. 直接从从Project面板拖到Hierarchy面板即可。
  2. 在脚本中开个GameObject类的变量,将预制体资源拖上去,之后再在方法中实例化(克隆)。
public GameObject BallPrefab;//用来接收预制体
void Start()
{
   
   Instantiate(BallPrefab);//实例化
}
  1. 将预制体放在Resources文件夹中,用Resources.Load方法读取后再Instantiate实例化。

c) 预制体对实例的覆写
由于预制体相对于实例的模板,对预制体的修改会按一定规则影响实例。通过双击Project面板里的预制体或者实例的Insp

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值