学习游戏开发--细节笔记(持续更新)

1.Animation.CrossFafe();这个方法播放动画会更流畅。

2.遇到人物行走过程模型升高的问题可以模拟一个重力让Y一直--

3.tranform.lookat()方法可以用transform.rotation=Quaternion.slerp(transform.rotation,Quaternion.lookrotation())
4.伤害机制一般采用SendMessage()的来传递受伤的方法
5.vector3.dot(向量1,向量2)计算夹角。返回值是-1--1之间。
6.集合不用的话记得清空。
7.如果发现动画不流畅或者键盘响应慢,又可能是某一种动画状态占用太多内存,写一个unityhelp类来帮助计时,间隔0.2秒执行一次,不要一秒执行60帧。
8.在游戏开发过程中一定要少写重复代码,多写集成方法,记得用单例模式。避免滥用。
9.使用协程代替Update方法时要记得加while循环while(true),并且yield return一定要放进协程里面。
10.在计算伤害时记得将伤害做一下绝对值处理。mathf.Abs(数据)。
11.等级数值等最好用XML文件方便以后修改。
12.新建UI一般要新建UI摄像机来单独渲染,修改相机参数,修改UI渲染,多建Panel。
13.控制显示面板的出现-和隐藏可以gameobject.setattive(!gameobject.acttive)
14.做按钮的持续按键检测把按钮修改为animation的然后在状态机里的按钮pressed添加脚本
15.animator在按钮这里是可以复用的
16.在烘焙之前lightmap static和 preserve UVs要勾选上渲染更加真实。

17.全局坐标系和局部坐标系转换:    ·           

Transform.TransformPoint(Vector3 position) :将一个坐标点从局部坐标系转换到全局坐标系。
Transform.InverseTransformPoint(Vector3 position):将坐标点从全局坐标系转换到局部坐标系
Transform.TransformDirection(Vector3 direction):将一个方向从局部坐标系转换到全局坐标系。
Transform.InverseTransformDirection(Vector3 direction):将一个方向从全局坐标系转换到局部坐标系。
Transform.TransformVector(Vector3 vector):将一个向量从局部坐标系转换到全局坐标系。

Transform.InverseTransformVector(Vector3 vector):将一个向量从全局坐标系转换到局部坐标系。

18.屏幕坐标系与全局坐标系转换:
Camera.ScreenToWorldPoint(Vector3 position): 将屏幕坐标转换为全局坐标。
Camera.WorldToScreenPoint(Vector3 position):将全局坐标转换为屏幕坐标。
Input.mousePosition:获得鼠标在屏幕坐标系中的坐标。

19.屏幕坐标系与视口坐标系转换:
Camera.ScreenToViewportPoint(Vector3 position):将屏幕坐标转换为视口坐标。
Camera.ViewportToScreenPoint(Vector3 position):将视口坐标转换为屏幕坐标。

20.全局坐标系与视口坐标系转换:
Camera.WorldToViewportPoint(Vector3 position):将全局坐标转换为视口坐标。

Camera.ViewportToWorldPoint(Vector3 position):将视口坐标转换为全局坐标。

20.在Unity中,可以使用Vector3.Normalize来归一化向量。使用Vector3.normalized来获得归一化后的单位向量。

21.点积的计算公式为a·b=(ax,ay)·(bx,by)=axbx+ayby
在Unity中,向量的点积可以通过Vector3.Dot来计算。
可以使用Vector3.Angle来获得两个向量之间的夹角的大小。结果在0度到180度之间。

叉积的计算公式为:a×b=(ax,ay,az)×(bx,by,bz)=(aybz-azby,azbx-axbz,axby-aybx)

22.在Unity中,可以使用Matrix4x4.SetRow和Matrix4x4.SetColumn来设置一个4×4矩阵的某行或某列。
在Unity中,可以使用Matrix4x4.GetRow和Matrix4x4.GetColumn来获取一个4×4矩阵的某行或某列。结果为Vector4类型。

这里的index是从0开始。

23.CanvasGroup.DOFade(数值,时间)可以将panal的透明度渐变。

24.利用Undo进行的删除操作是可以撤销的。

25.IK动画可以让手脚自动匹配到指定的位置 anim.SetIKPosition();可以在运行中设置位置,然后COPY位置粘贴就行了。

用Timeline做过场动画。

猜你喜欢

转载自blog.csdn.net/qq_35711014/article/details/80389644