1.Vector3常用属性方法
1. Vector3=======>三维向量
创建:Vector3 v = new Vector3(1,1,1);
简约创建:Vector3 v = new Vector3.zero;======> v = Vector3(1,1,1)
Vector3 v = new Vector3.one;=======> v = Vector3(0,0,0)
2. 计算向量夹角 两点距离 模长 规范化向量 插值 点成 叉乘 ![](https://img-blog.csdnimg.cn/direct/3d6f39b689094eb1a33363812e45d76b.png)
2.Quaternion常用属性方法
1.欧拉角 四元数
3.Debug常用属性方法
1.unity中调试分为三种:正常输出 警告输出 错误输出
正常输出:Debug.Log("正常输出");
警告输出:Debug.LogWarning("警告输出");
错误输出:Debug.LogError("错误输出");
2.unity中的画线
线段:Debug.DrawLine(Vector.zero,Vector.left,Color.red);
射线:Debug.DrawRay(Vector.zero,Vector.up,Color.red);
4.GameObject常用属性方法
1.拿去父物体名字 标签 图层 与 子物体名字 标签 图层
public class kid : MonoBehaviour
{
public GameObject Cube;
void Start()
{
//拿去当前物体的名称
Debug.Log(gameObject.name);
//拿去当前物体的标签
Debug.Log(gameObject.tag);
//拿去当前物体的图层
Debug.Log(gameObject.layer);
//拿去子物体的名字
Debug.Log(Cube.name);
//拿去子物体的标签
Debug.Log(Cube.tag)
//拿去子物体的图层
Debug.LOg(Cube.layer)
}
}
2.查看子物体与父物体的激活状态
public class kid : MonoBehaviour
{
public GameObject Cube;
void Start()
{
//拿起当前物体的状态(是否激活)这激活查看分为两种一种是自己本身状态
//一种是激活的实际状况
//激活的实际状况
Debug.Log(gameObject.activeInHierarchy);
//激活的自身状况
Debug.Log(gameObject.activeSelf);
//子物体的自身激活状态
Debug.Log(Cube.gameObject.activeSelf);
//子物体的自身实际的激活状态
Debug.Log(Cube.gameObject.activeInHierarchy);
}
}
3.用脚本添加组件 获取 组件
public class kid : MonoBehaviour
{
public GameObject Cube;
void Start()
{
//获取其他组件
BoxCollider n = Cube.GetComponent<BoxCollider>();
//获取当前物体的子物体身上的某个组件
GetComponentInChildren<CapsuleCollider>(n);
//获取当前父物体的某个组件
GetComponentInParent<CapsuleCollider>(n);
//添加一个组件
gameObject.AddComponent<CapsuleCollider>();
}
}
在这里< >中的都是可变量 也即是 组件的名称 可以根据自己的要求变化
4.名字与标签查找物体
public class kid : MonoBehaviour
{
void Start()
{
//名字查找物体
GameObject kid = GameObject.Find("kid");
//标签查找物体
kid = GameObject.FindWithTag("Player");
//名字的打印
Debug.Log(kid.name);
}
}
5.通过预设体实例化游戏物体
第一步:创建预设体
第二步:将预设体与脚本链接
第三步:通过脚本实例化游戏物体
public class kid : MonoBehaviour
{
// 创建预设体的全局静态量
public GameObject Prefad;
void Start()
{
//通过预设体来实例化一个游戏物体
Instantiate(Prefad);
//这里也可以直接来确定创建的物体的初始位置 例:在(1,1,1,) 无旋转
GameObject n = Instantiate(Prefad, Vector3.one, Quaternion.identity);
//也可以销毁游戏物体 例:销毁预设体 n
Destroy(n);
}
5.Time常用属性方法
public class time : MonoBehaviour
{
float timer = 0;
void Start()
{
// 游戏开始到现在的所花时间
Debug.Log(Time.time);
// 游戏时间的缩放值 运用的地方:加速 减速 暂停
Debug.Log(Time.timeScale);
//固定时间间隔
Debug.Log(Time.fixedDeltaTime);
//上一帧到这一帧所用的游戏时间
Debug.Log(Time.deltaTime);
}
void Update()
{
//相当于一个简单的计时器
timer = timer + Time.deltaTime;
// timer 大于 3 打印timer
if (timer > 3)
{
Debug.Log(timer);
}
}
6.Application常用属性方法
public class asdaf : MonoBehaviour
{
void Start()
{
// 游戏数据文件路径(只读 加密压缩)====》找不到的
Debug.Log(Application.dataPath);
//持久化文件夹路径 ====> 可储存的文件的路径
Debug.Log(Application.persistentDataPath);
//StreamingAssetsPath文件夹路径(只读 配置文件 不加密)
Debug.Log(Application.streamingAssetsPath);
//临时文件夹 =====> 可以储存临时的文件 随时删除
Debug.Log(Application.temporaryCachePath);
//控制是否在后台运行
Debug.Log(Application.runInBackground);
//可以在后台运行
Application.runInBackground = true;
//打开url
Application.OpenURL("网站地址");
//退出游戏
Application.Quit();
}
}
7.Scene常用属性方法
1.场景类
public class SceneTest : MonoBehaviour
{
void Start()
{
//场景转换 这里需要外面创建一个“MyScene”场景
//SceneManager.LoadScene("MyScene");
//获取当前场景
Scene scene = SceneManager.GetActiveScene();
//场景名称
Debug.Log(scene.name);
//场景是否已经加载
Debug.Log(scene.isLoaded);
//场景路径
Debug.Log(scene.path);
//场景索引
Debug.Log(scene.buildIndex);
//场景中的元素组成的一个数组
GameObject[] n = scene.GetRootGameObjects();
for (int i = 0; i < n.Length; i++)
{
Debug.Log(n[i].name);
}
}
}
2.场景管理类
1.同步
//场景管理类
//创建新场景
Scene newScene = SceneManager.CreateScene("newSScene");
//已加载的场景个数
Debug.Log(SceneManager.sceneCount);
//卸载场景
SceneManager.UnloadSceneAsync(newScene);
//加载场景
SceneManager.LoadScene("MyScene",LoadSceneMode.Single);