本文章不作任何商业用途 仅作学习与交流 安利唐老狮与其他老师合作的网站,内有大量免费资源和优质付费资源,我入门就是看唐老师的课程 打好坚实的基础非常非常重要:
Unity课程 - 游习堂 - 唐老狮创立的游戏开发在线学习平台 - Powered By EduSoho
如果你发现了文章内特殊的字体格式,那是AI补充的知识,我发现原网站下面有答案,我将会把答案以不同样式穿插在回答之中
关于Lua部分,我不会Lua......还需补充学习 所以就先跳过 有需要请到原网站查看题目
目录
Unity
1. Unity中判断两个2D矩形是否相交,有几种方式?(请至少说出两种方式)
2. Unity中想要制作角色的连招功能,在制作状态机时我们一般如何处理?
3. Unity中如果想要在动作的某一时刻进行伤害检测,我们应该怎么做?(请说出两种做法)
4. Unity中想要制作自动寻路逻辑,我们应该怎么做?(请至少说出两种做法)
5. 游戏编辑器(比如 角色编辑器、关卡编辑器、地图编辑器等工具)的本质是什么?
Unity
1. Unity中判断两个2D矩形是否相交,有几种方式?(请至少说出两种方式)
不会,唐老师好像讲过 但是我怎么从来都没写过?
问一下dp:如果2D矩形是UI 有Api
Rect rect1 = new Rect(0, 0, 100, 100);
Rect rect2 = new Rect(50, 50, 100, 100);bool isIntersecting = rect1.Overlaps(rect2);
自己实现就是这种既视感:
bool RectIntersect(Rect rect1, Rect rect2)
{return rect1.xMax > rect2.xMin &&rect1.xMin < rect2.xMax &&rect1.yMax > rect2.yMin &&rect1.yMin < rect2.yMax;
}
3D世界下的2D矩形 ,如果是有碰撞体的 那么可以检测到
RaycastHit[] hits = Physics.RaycastAll(Camera.main.ScreenPointToRay(Input.mousePosition), 1000);{Debug.Log(hits.Length);}
2. Unity中想要制作角色的连招功能,在制作状态机时我们一般如何处理?
前提:逻辑层的有限状态机配合表现层的动画状态机
实现:1.武器要有碰撞体下的触发器
Unity 麦扣 x 勇士传说 全解析 之 玩家攻击分析-CSDN博客
2.可以用动画页签下的Event触发连招的一些事件
Unity动画模块 之 3D模型导入基础参数认识_unity model-CSDN博客
3.连招说明输入计数,要有计数器
4.关于下面这个缓冲机制......有时间再说实践吧 仅参考
C# x Unity 从玩家控制类去分析命令模式该如何使用_unity 命令模式-CSDN博客
3. Unity中如果想要在动作的某一时刻进行伤害检测,我们应该怎么做?(请说出两种做法)
1. 第二题中的动画事件
2. 在这一刻开启触发器,设置一个bool 捕获到伤害来源就关上,不然就自己关掉
4. Unity中想要制作自动寻路逻辑,我们应该怎么做?(请至少说出两种做法)
navmesh
新旧Navmash 寻路导航组件对比 附使用案例与实用教程链接-CSDN博客
Unity 2D寻路导航 NavMeshPlus解决方案_unity navmeshplus-CSDN博客
a*插件(我不会用a*寻路,以前学过该算法 就是三个线性表那个,学习链接如下)
【唐老狮】A星寻路算法理论基础 - 游习堂 - 唐老狮创立的游戏开发在线学习平台 - Powered By EduSoho
5. 游戏编辑器(比如 角色编辑器、关卡编辑器、地图编辑器等工具)的本质是什么?
Unity里面的话 本质是UITookit,GUI下的编辑器拓展,然后穿插了一些数据结构和算法去处理数据
Unity 两篇文章熟悉所有编辑器拓展关键类 (上)_unity 扩展类-CSDN博客
不是unity的话 见过c#的那个wpf做的读表工具,其实wpf也值得学习
因为我没有学完而且编辑器拓展都是靠ai,又快又好,因此我没资格多bb