- 博客(7)
- 收藏
- 关注
原创 同步问题解决的一些思路
移动同步:Move():执行一次移动SendMove:发送移动数据包Check Move or Cheat:位置校验,作弊校验SendMoveAdjust:下发纠正数据包Adjust Move():纠正或回滚位置OnSerializeOthers:同步属性到远程客户端瞬发技能同步:关键点:Local Player 发送射击事件,由 Server
2017-12-29 22:15:10 452
原创 Tilemap 使用 Composite Collider 2D
添加 Tilemap Collider 2D 与 Composite Collider 2D 组件并勾选 Tilemap Collider 2D 的 Used By Composite出现快速移动物体穿越碰撞体的问题,可通过设置 Rigidbody 2D 的 Collision Detection 为 Continuous设置方法,可以在 Dynamic 中设置后再选择 Sta
2017-12-23 10:59:18 8903 7
原创 理解构成 Mesh 的一些基本元素
一个 Mesh 主要由三个部分即可构成,以 Cube 为例vertices:顶点的 Vetor3 数组,一个 Cube 由 6 个面构成,每个面 4 个顶点,一共 24 个顶点(虽然有部分顶点是重叠的)triangles:三角形顶点排列的 int 数组,每三个顶点构成一个三角形,两个三角形构成一个面,所以一个 Cube 包含 12 个三角形uv:每个顶点的贴图坐标,存储在 Vector
2017-12-16 22:29:35 2257
原创 调整物体是否为 Event System Raycast 投射的目标
如在拖拽图片时,不想图片本身阻挡射线投射到下面的物体上并影响 OnDrop 方法的触发方法一: Graphic.raycastTarget 通过修改组件上的 raycastTarget = false方法二:Canvas Group修改 Canvas Group 组件上的 Blocks Raycasts = false可以起到同样的作用,区别是 Canvas
2017-12-15 10:55:17 254
原创 ScriptableObject 的使用
ScriptableObject 的一些特点:ScriptableObject 数据存储在 asset 资源文件中,相当于被持久化,类似 unity 材质或纹理资源,如果在运行时改变了它的值则就是真的改变了并被持久化下来ScriptableObject 资源在实例化时是被引用,而非像 Prefab 或其他GameObject一样是复制(实际场景中会存在多个 GameObject)
2017-12-14 15:54:09 5987
原创 JsonUtility 读取 Json
注意:JsonUtility.FromJson 方法只能接受 json 对象,如果是 json 数组会提示错误 JSON must represent an object type被转换的对象必须是可被序列化的,需要标记 [System.Serializable] 属性模型类[System.Serializable]public class Item { public
2017-12-12 23:19:14 10738 4
原创 Unity 全局游戏脚本的一种实现方法
public class GlobalScript : MonoBehaviour { public static GlobalScript instance; void Awake() { if (instance == null) { // 判定 null 是保证场景跳转时不会出现重复的 GlobalScript 实例 (主要是跳转回上一个场景) // 在没有 Glob
2017-12-06 11:54:36 4480
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人