摘要:
最近一直想面对大规模程序时,如何提高运算速度,100个怪物循环100次没有问题,但是处理的过程会特别庞大,所以考虑到使用多线程,unity的单线程,而unity自带的dots系统也不知道什么时候成熟,不想造轮子所以jobsystem真心不想用,在网上偶然间看到了一个关于鸟群算法对Computesha 阅读全文
摘要:
当Canvas.RenderMode为Screen Space-Overlay时 利用WorldToScreenPoint(worldPos)将物体的世界坐标转换成屏幕坐标,实时更新UI的坐标: using UnityEngine; using System.Collections; public 阅读全文
摘要:
核心原理是,获取导航网格上的一个网格三角形,然后获取这个网格三角形 上的随机点(对逐个两个顶点之间获取插值) /// <summary> /// 获取随机位置 /// </summary> /// <returns></returns> public Vector3 GetRandomPoint() 阅读全文
摘要:
有时后敌人或者传送门等位置超出屏幕外,为了指示这些物体的位置,需要有UI标识这些物体的位置。 这里采用怪物离屏幕边缘最近的点。另一种方式是怪物与玩家的位置连线与屏幕边框的交点,这里暂时不考虑。 using JetBrains.Annotations; using System; using Syst 阅读全文
摘要:
异步编程: 同步:按照顺序,一件事情做完了才能接着做一件事情,比如主函数中执行多个顺序方法和语句,只有上一条语句或者方法执行完毕才能执行下一个方法或者语句。异步:开始一个任务(比如一个方法)后,让任务在另一个线程中执行,本线程可以继续执行别的事情,然后等待那个任务执行完毕 比如一个UI按钮,UI就相 阅读全文
摘要:
如果将一个装备装备到玩家身上,就要通过调用属性设置方法来改变玩家的属性值,比如攻击力,暴击率等,这里如果采用工厂模式,将每个属性成员值设置到玩家身上的时候要先判断玩家身上是否包含该属性,并且如果要给装备添加更多的属性增益类型,那么就要在工厂代码中添加对应的属性成员,添加对应的增益属性成员,这样的会很 阅读全文
摘要:
1.OnCollisionEnter(Collision collision) 要产生碰撞必须为游戏对象添加刚体(Rigidbody)和碰撞器,刚体可以让物体在物理影响下运动。碰撞体是物理组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞。如果两个刚体相互撞在一起,除非两个对象有碰撞体时物理引擎 阅读全文
摘要:
做游戏的时候相机是我们的直接感官,相机的跟随方式严重关系到游戏的体验。我们最常用的跟随方式是 transform.position = Vector3.Lerp(transform.position, GetTargetPos(player), deltaTime * speed); transfo 阅读全文
摘要:
最近用了将近半个多月的时间研究如何用unity制作赛车游戏,找了搜索了网上很多的资料,哔哩哔哩上也看了很多视频,发现有用的资料少的要死,大多数都是为了赚眼球弄得垃圾demo,毫无可玩性(简直就是垃圾),也读了unity官方的赛车游戏和飞行游戏的demo,发现可以借鉴的地方少的要死(具体为什么下面会提 阅读全文