- 博客(6)
- 收藏
- 关注
转载 Unity中实现A*寻路
当时的我的误区在于,我以为close列表就是路径,其实close列表仅仅代表“这个格子我已经检查过啦,不必再检查了”,真正的路径是通过结束点,一步步获取它的parent直到起始点(起始点的parent为空),这样才是完整路径。每次循环时,查找open列表中综合代价最低的为当前格子,查找当前格子的八个方向(也可以查找四个方向)的邻格,计算综合代价并加入到open列表中去,当前格子就加入到close列表里,并从open列表中移除。//增量为0,代表这个坐标指自己,所以直接跳过。//通过排序找到综合代价最小的。
2023-10-16 11:16:54
194
1
转载 Unity Shader-小肥猪轻功(径向模糊)
到这里就好了吗,不是的,很多网上的文章大概就写到这里,但是其实效果没有那么好,因为焦点上的东西,一定程度上也会被模糊掉了,所以这时候,我们焦点附近的,我们就要少一点模糊。我们经常可以看到游戏赛车游戏里面,当向前加速的时候,四周空气模糊,并且气流向四周扩散,有种空气被排开的感觉。对了,对了,如果你追求性能极致,然后当你使用该方法调出效果后,你可以把for循环改掉,直接硬编码会更快~OK,判断了是否大于一定距离的,我们就把上面col * isFarAway,就少采样,少模糊了。没错,那个就是用到了。
2023-10-13 11:15:34
157
转载 Collision,Trigger,ChacterController
如果另一个是Collision或者ChaterController,必须由ChacterController通过调用移动函数发起碰撞,ChaterController所在物体会有OnControllerColliderHit回调,被撞的则不会收到碰撞消息。另一个特殊的情况是,Collision是刚体,则若是Collision发起碰撞,撞到了ChaterController.则双方都只有Collision回调。则A,B互碰,双方都可以收到Trigger回调,A,B有无刚体没有影响。
2023-10-13 10:56:46
124
原创 协程(IEnumerator)
yield return new WaitWhile()//将协同执行直到 当输入的参数(或者委托)为false的时候.... 如:yield return new WaitWhile(() => frame < 10);yield return new WaitUntil()//将协同执行直到 当输入的参数(或者委托)为true的时候....如:yield return new WaitUntil(() => frame >= 10);//(任意数字) 下一帧再执行后续代码。//下一帧再执行后续代码。
2023-09-25 11:31:27
67
1
原创 unity捕获屏幕
RenderTexture tempRT = RenderTexture.GetTemporary(Screen.width, Screen.height); Camera.main.targetTexture = tempRT; Camera.main.Render(); yield return null; Camera.main.targetTexture = null; yield
2023-09-18 16:17:43
230
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人