本文已参与「新人创作礼」活动,一起开启掘金创作之路。
1. Random.Range
- Unity包(namespace UnityEngine)下的一个随机函数方法。
- 有2个重载函数,分别是获得int类型和float的随机数。
2. Resources.Load
- 从Resources包下加载资源。
- 这里主要是目录名字叫Resources即可,无需关注Resources目录的路径。
- 可以有多个不同路径的Resources目录。
- 参数只需要写资源文件名即可,无需写".类型"。
3. Instantiate
- 创建一个物体,有多个重载方法。
- 下面代码中,Resources.Load只是加载了一个资源,需要Instantiate才能在游戏场景中实例化。
- 实例化出来的对象和源对象一模一样,包括的所有子物体和子组件。(除非利用提供的重载方法指定特定的属性)
4. GameObject.Find
- 在游戏场景中查找对象。
- 可以通过名字或路径查找游戏对象。
- 无法查找隐藏对象(active=false)包括查找路径的任何一个父节点隐藏。
5.RectTransformUtility.ScreenPointToWorldPointInRectangle
这个函数名字很长,他的功能也很强。API如下:
项目中使用案例如下:
方法往里走一层:
- 个人理解就是,会把屏幕坐标点(screenPoint)的位置(二维)转换为游戏世界中的位置(posWorld,三维)。
6. Camera的ScreenPointToRay
- 基本语法:public Ray ScreenPointToRay(Vector3 position);其中参数position为屏幕位置参考点。
- 从position位置发射一条射线。
项目中的使用如下。
7.Physics.Raycast
- 有很多重载方法
- 其中一个含义解释如下:
- 项目中使用案例如下:
- 作用就是判断一个射线,是否和某个物体发生碰撞。这里可以设置射线长度,也可以设置碰撞物体过滤的层。这里第几层第几层是通过位移运算来判断的,有点难受,不过可以写"LayerMask.NameToLayer",这个获得一个层是第几层更直观。