摘要: 参考: critterai http://www.critterai.org recast & Detour https://github.com/recastnavigation/recastnavigation 关于理解 NavMesh 生成: 体素 http://critterai.org/projects/cainav/doc/html/6fb3041b-e9be-4... 阅读全文
posted @ 2018-02-07 10:47 Hichy 阅读(2109) 评论(0) 推荐(1) 编辑
摘要: 整理后的: https://www.cnblogs.com/Hichy/p/9145857.html 原网页: https://gamedev.stackexchange.com/questions/38721/how-can-i-generate-a-navigation-mesh-for-a-tile-grid 1 Use Marching Squares algorithm to conv... 阅读全文
posted @ 2018-02-07 10:47 Hichy 阅读(910) 评论(0) 推荐(0) 编辑
摘要: 最终效果:参考了一个免费插件https://assetstore.unity.com/packages/vfx/shaders/directx-11/ucla-wireframe-shader-21897基础思路======================================在几何阶段计算每个顶点到第三边的距离,在片元中就可以插值得到每个点到顶点的距离根据最小的距离只计算是否需要显示,... 阅读全文
posted @ 2018-02-01 16:00 Hichy 阅读(714) 评论(0) 推荐(0) 编辑
摘要: 基本思路: 离线把怪物死亡那帧的模型数据生成体素信息保存起来 在死亡的时候,隐藏原本的模型,用体素数据生成体素 低端机型用特效数据做爆炸,高端机型用真实物理 体素数量可以在生成时调整(低画质之初20分之一的体素)结果: 看不太出来是从模型样式开始爆炸的,最后使用了纯特效实现演示效果图体素生成代码使用地图体素信息导出工具临时改的,最终没有用这个方案就没有细化爆炸测试脚本... 阅读全文
posted @ 2017-12-13 16:54 Hichy 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 1 最简单的 在碰撞点新建一个片,用来绘制弹孔2 投影,侧面会被拉的变形很严重3 但是最大的问题是当受击物体移动,播动画时,弹孔还留在原地 需要保持弹孔位置,最终考虑把弹孔信息保存在顶点数据里,比如 uv 主贴图 uv2 lightmap uv3 弹孔贴图最终结果根据碰撞点计算uv的算法: 1 使用Unity的用Transform计算坐标系转换 2 命中时,设... 阅读全文
posted @ 2017-12-13 16:31 Hichy 阅读(1257) 评论(0) 推荐(0) 编辑
摘要: 1.为什么使用BTFSM模型的优势之一是简单。但是FSMs需要用转换(Transition)连接状态(State),因此,状态(State)失去了模块性(Modularity)。BT的主要优势之一就是其更好的封装性和模块性,让游戏逻辑更直观,开发者不会被那些复杂的连线绕晕。FSMBT行为树的基本概念:执行每个节点都会有一个结果(成功,失败或运行)子节点的执行结果由其父节点控制和管理返回运行结果的节... 阅读全文
posted @ 2017-11-27 22:40 Hichy 阅读(2192) 评论(0) 推荐(0) 编辑
摘要: unable to unroll loop, loop does not appear to terminate in a timely manner (1024 iterations)原本代码for (int i = 0; i = _Loops) break;}这个报错是 DirectX shader compiler 报的错 阅读全文
posted @ 2017-11-25 17:19 Hichy 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 四类1. ScriptableObject 只有菜单2. ScriptableWizard 向导对话框 简单的输入 响应一下确认按钮3. EditorWindow 编辑对话框4. Editor 绘制ui函数的各种空间GUIGUILayoutEditorGUI Editor下专用的各种控件,动画曲线什么的Edi... 阅读全文
posted @ 2017-11-24 20:37 Hichy 阅读(1131) 评论(0) 推荐(0) 编辑
摘要: 追踪弹路径为了实现上图比较平滑的追踪,又要保证追踪子弹能命中目标,增加一个变量记录追踪的力度,并且力度随时间成长,用追踪力度决定子弹原本方向的改变大小,特殊的,为了防止子弹在目标点附近打圈,在距离目标较近时,直接设置方向演示代码 private void Update() { if (IsArrive()) { Destroy(gameObject); return; }... 阅读全文
posted @ 2017-11-24 19:30 Hichy 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 最主要使用的类: AssetDatabase代码改变Texture属性,读取标记改为True string path = AssetDatabase.GetAssetPath(BulletTrack); TextureImporter A = (TextureImporter)AssetImporter.GetAtPath(path); A.... 阅读全文
posted @ 2017-11-24 19:22 Hichy 阅读(267) 评论(0) 推荐(0) 编辑