Unity常用API(四)
十三. Rigidbody:刚体组件,控制角色的移动
- position: 可以通过刚体来控制运动,在控制运动方面,使用rigibody.positon比transform.porition计算要快的多,相关的物理计算也是在刚体中计算好了,但是不建议使用这个方法来持续的控制物体的运动,不平滑,控制一两次的时候还可以使用
- MovePosition() 对position的优化,其中利用了插值运算,一般持续运动的则使用这个方法,不出现卡顿的现象,
- rotation:
- MoveRotation 用来控制刚体的旋转的,一般不建议使用rotation,比较耗性能,建议使用MoveRotation(),然后配合Quaternion,slerp()进行使用,使其更加的平滑
- AddForce() 为刚体添加力,一般可以用在赛车游戏中,当进行短时的加速则可以给以限定时间的AddForce方法
十四. Camera;相机组件:
- 当相机的标签是main cream时,可以通过Camer.main来进行主相机cream组件的查找射线,用来检测鼠标在屏幕上的位置信息,以及触碰到什么
- Ray ray = cameraMain.ScreenPointToRay(Input.mousePosition); //获得相机到鼠标之间的射线
- RaycastHit hit; //用来存放射线检测到的游戏物体的信息的
- bool temp = Physics.Raycast(ray, out hit); //进行射线检测
十五 .Application
- SreeamingAcsets: 该文件下的资源不会被压缩,导入是什么类型还是什么类型,【主要是音频、视频资源】
- dataPath: 工程文件路径
- streamingAssetsPath: 可以通过文件流来进行读取的文件路径
- persistenDataPath :可以实例的文件路径
- tempporaryCachePath :临时的文件路径
- Application.OpenURL("") 打开指定的网址
- Application.Quit() 退出游戏的运行.
- CapturScreenshot(“游戏截图”) 用来截图的,字符串为截图fileName
- Application.identifier 标识名
- .companyName 公司名
- productName 产品名
- instalMode 安装包名isEditor 是否在编辑器模式
- isFocused 是否在焦点
- isMoliePlatform 是否是移动平台
- isPlaying
- isWebPlayer
- platform 编辑器的平台
- unityVersion unity版本号version 项目文件版本号
- runInBackground 是否可以在后台运行
- UnityEditor.EditorApplication.isPlaying=false; //在编辑器模式下推出编辑状态
十六. SceneManager场景类
- SceneManager.LoadScene() 加载下一个场景,一般是用在另一个场景不是太大的情况下
- SceneManager.LoadSceneAsync() 异步加载下一个场景,返回AsyncOperation类型,里面包含了加载的信息,加载的进度条等等。可以让用户缓解等待加载场景的时间
- sceneCount 获得当前加载的场景个数
- sceneCountInBuildSettings 在Build面板中加载的场景个数
- GetActiveScene() 获取已经加载的当前场景的信息
- GetSceneAt(index) 加载index索引的场景 当加载新的场景的时候会触发下面的事件:
- activeSceneChanged 当有新场景被加载的时候就会调用这个事件
- sceneLoaded 当有新场景加载完成的时候就会触发这个事件 扩充:事件的注册时通过加方法来进行注册的:SceneManger.activeSceneChanged+=OnAcitiveScenenChanged;