Unity学习记录01

392 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。


1. Random.Range

  • Unity包(namespace UnityEngine)下的一个随机函数方法。
  • 有2个重载函数,分别是获得int类型和float的随机数。

image.png

2. Resources.Load

  • 从Resources包下加载资源。
  • 这里主要是目录名字叫Resources即可,无需关注Resources目录的路径。
  • 可以有多个不同路径的Resources目录。
  • 参数只需要写资源文件名即可,无需写".类型"。

image.png

3. Instantiate

  • 创建一个物体,有多个重载方法。
  • 下面代码中,Resources.Load只是加载了一个资源,需要Instantiate才能在游戏场景中实例化。
  • 实例化出来的对象和源对象一模一样,包括的所有子物体和子组件。(除非利用提供的重载方法指定特定的属性)

image.png

image.png

4. GameObject.Find

  • 在游戏场景中查找对象。
  • 可以通过名字或路径查找游戏对象。
  • 无法查找隐藏对象(active=false)包括查找路径的任何一个父节点隐藏。

image.png

image.png

5.RectTransformUtility.ScreenPointToWorldPointInRectangle

这个函数名字很长,他的功能也很强。API如下:

image.png

项目中使用案例如下:

image.png

方法往里走一层:

image.png

  • 个人理解就是,会把屏幕坐标点(screenPoint)的位置(二维)转换为游戏世界中的位置(posWorld,三维)。

6. Camera的ScreenPointToRay

  • 基本语法:public Ray ScreenPointToRay(Vector3 position);其中参数position为屏幕位置参考点。
  • 从position位置发射一条射线。

项目中的使用如下。

image.png

image.png

7.Physics.Raycast

  • 有很多重载方法

image.png

  • 其中一个含义解释如下:

image.png

  • 项目中使用案例如下:

image.png

  • 作用就是判断一个射线,是否和某个物体发生碰撞。这里可以设置射线长度,也可以设置碰撞物体过滤的层。这里第几层第几层是通过位移运算来判断的,有点难受,不过可以写"LayerMask.NameToLayer",这个获得一个层是第几层更直观。