8818513 发表于 3 天前

TXT实战课程,自定义技能进阶版

<h1><a href="https://fanm37t2tx.feishu.cn/minutes/obcn3wkaa3i62vnt39ehorfa?from=from_copylink">视频课程</a></h1>
<h3>游戏自定义技能进阶教案(阶段性范围伤害与多方向技能开发)</h3>
<p>​<strong>​课程主题​</strong>​:游戏自定义技能进阶开发——阶段性范围伤害与多方向技能实现<br />
​<strong>​适用对象​</strong>​:已掌握基础自定义技能配置的游戏开发者(需熟悉技能表、特效表、属性表等基础表结构)<br />
​<strong>​课时​</strong>​:1课时(45分钟)</p>
<hr />
<h3>​<strong>​一、课程目标​</strong>​</h3>
<p>通过本节课学习,掌握游戏中“阶段性范围伤害技能”(如泰坦一技能三波爆炸)与“多方向范围技能”(如寒冰射箭、地狱雷光)的开发流程,能够独立完成以下任务:</p>
<ol>
<li>配置自定义技能表,实现阶段性伤害(分波次、范围递增);</li>
<li>使用引擎工具自定义攻击范围(多方向、不规则形状);</li>
<li>联动脚本解决自动释放技能无伤害问题;</li>
<li>调整技能特效,优化技能展示效果;</li>
<li>排查技能开发中的常见问题(如无伤害、范围异常)。</li>
</ol>
<hr />
<h3>​<strong>​二、重点知识讲解​</strong>​</h3>
<h4>​<strong>​模块1:技能需求分析与设计​</strong>​</h4>
<p>​<strong>​1. 典型技能案例​</strong>​</p>
<ul>
<li>​<strong>​泰坦一技能​</strong>​:分三波爆炸,每波范围递增(小圈→中圈→大圈),非同时伤害;</li>
<li>​<strong>​寒冰射箭(W技能)​</strong>​:多方向(如8方向)发射箭矢,每方向独立范围;</li>
<li>​<strong>​地狱雷光​</strong>​:以自身为中心的大范围群体伤害。</li>
</ul>
<p>​<strong>​2. 核心设计要点​</strong>​</p>
<ul>
<li>​<strong>​阶段性伤害​</strong>​:需分波次触发伤害(非同时),依赖脚本控制技能释放顺序;</li>
<li>​<strong>​多方向范围​</strong>​:需自定义不同方向的攻击范围(如8方向、扇形、鸡爪形);</li>
<li>​<strong>​技能联动​</strong>​:主技能触发副技能(如主技能释放后自动释放后续技能)。</li>
</ul>
<h4>​<strong>​模块2:自定义技能表配置​</strong>​</h4>
<p>​<strong>​1. 基础参数设置​</strong>​</p>
<ul>
<li>​<strong>​攻击目标​</strong>​:必须设置为“群体攻击”(非单体),否则无法覆盖范围目标;</li>
<li>​<strong>​伤害模式​</strong>​:选择“伤害型”,威力方式根据技能类型(如魔法伤害、物理伤害);</li>
<li>​<strong>​攻击范围​</strong>​:初步设置较大范围(需大于自定义攻击范围,否则无法触发);</li>
<li>​<strong>​是否显示特效​</strong>​:根据需求设置(如“每个目标显示特效”可关闭,避免特效重叠)。</li>
</ul>
<p>​<strong>​2. 关键列说明​</strong>​</p>
<ul>
<li>​<strong>​自定义攻击范围编号​</strong>​:关联引擎中自定义的攻击范围配置(如编号1对应“鸡爪形”,编号2对应“8方向”);</li>
<li>​<strong>​附加效果​</strong>​:可配置中毒、减速等状态(如寒冰箭附加绿毒)。</li>
</ul>
<h4>​<strong>​模块3:自定义攻击范围配置(引擎工具)​</strong>​</h4>
<p>​<strong>​1. 工具路径​</strong>​:引擎→工具→自定义技能攻击范围配置。</p>
<p>​<strong>​2. 配置步骤​</strong>​</p>
<ul>
<li>​<strong>​新增范围​</strong>​:点击“新增”,命名范围(如“鸡爪形”“8方向”);</li>
<li>​<strong>​绘制范围​</strong>​:在网格中通过方向键(上下左右)绘制攻击范围(如鸡爪形需绘制3个方向的扇形);</li>
<li>​<strong>​保存配置​</strong>​:每个方向(如方向0、方向1)需单独绘制并保存,确保多方向覆盖。</li>
</ul>
<p>​<strong>​示例:鸡爪形范围配置​</strong>​</p>
<ul>
<li>方向0:绘制1格(中心)+ 右侧2格(共3格);</li>
<li>方向1:绘制1格(中心)+ 上方2格(共3格);</li>
<li>方向2:绘制1格(中心)+ 下方2格(共3格)。</li>
</ul>
<h4>​<strong>​模块4:脚本联动实现阶段性伤害​</strong>​</h4>
<p>​<strong>​1. 问题背景​</strong>​:引擎表配置暂不支持“分波次伤害”,需通过脚本触发后续技能。</p>
<p>​<strong>​2. 实现逻辑​</strong>​</p>
<ul>
<li>​<strong>​主技能(10001)​</strong>​:释放时触发特效(如冲击波),并通过脚本延迟释放后续技能;</li>
<li>​<strong>​副技能(10002、10003)​</strong>​:分别对应第二波、第三波伤害,通过脚本调用并设置延迟(如500ms)。</li>
</ul>
<p>​<strong>​示例脚本(魔法攻击触发)​</strong>​</p>
<pre><code>-- 主技能10001释放时触发
function OnMagicAttack(skillId)
    if skillId == 10001 then
      -- 释放主技能特效
      PlayEffect(&quot;冲击波&quot;, Caster:GetPos())
      -- 延迟500ms释放第二波伤害(10002)
      DelayCall(500, function()
            CastSkill(10002, Caster)
      end)
      -- 再延迟500ms释放第三波伤害(10003)
      DelayCall(1000, function()
            CastSkill(10003, Caster)
      end)
    end
end
</code></pre>
<h4>​<strong>​模块5:技能特效优化​</strong>​</h4>
<p>​<strong>​1. 特效配置要点​</strong>​</p>
<ul>
<li>​<strong>​施法特效​</strong>​:主技能释放时的视觉效果(如地面冲击波);</li>
<li>​<strong>​飞行特效​</strong>​:箭矢/技能弹道的飞行效果(如寒冰箭的冰蓝色轨迹);</li>
<li>​<strong>​击中特效​</strong>​:目标被命中时的反馈(如爆炸火花、中毒光效)。</li>
</ul>
<p>​<strong>​2. 调整技巧​</strong>​</p>
<ul>
<li>匹配技能节奏:根据技能释放速度调整特效播放时长(如快速技能使用短特效);</li>
<li>统一风格:特效颜色、粒子密度需与技能主题一致(如冰系技能用蓝白色粒子)。</li>
</ul>
<h4>​<strong>​模块6:常见问题与排查​</strong>​</h4>
<table>
<thead>
<tr>
<th>问题现象</th>
<th>可能原因</th>
<th>解决方法</th>
</tr>
</thead>
<tbody>
<tr>
<td>技能无伤害</td>
<td>1. 攻击范围小于自定义攻击范围;2. 脚本未正确触发副技能;3. 魔法攻击力未配置。</td>
<td>1. 检查技能表“攻击距离”是否≥自定义范围;2. 调试脚本,确保副技能被调用;3. 在属性表中添加魔法攻击力。</td>
</tr>
<tr>
<td>范围显示异常(如偏移)</td>
<td>自定义攻击范围配置错误(方向绘制错位)。</td>
<td>重新在引擎工具中绘制范围,确保每个方向的坐标与技能表编号匹配。</td>
</tr>
<tr>
<td>特效重叠/不显示</td>
<td>特效播放时长过长或坐标错误。</td>
<td>缩短特效播放时长(如从2000ms改为1000ms),检查特效挂载坐标是否为目标位置。</td>
</tr>
</tbody>
</table>
<hr />
<h3>​<strong>​三、实战任务(课后练习)​</strong>​</h3>
<ol>
<li>​<strong>​泰坦一技能复刻​</strong>​:
<ul>
<li>配置自定义技能表,实现三波爆炸(范围1格→2格→3格);</li>
<li>使用引擎工具绘制“同心圆”攻击范围(方向0-7均为圆形);</li>
<li>编写脚本实现分波次伤害(每波间隔500ms)。</li>
</ul>
</li>
<li>​<strong>​寒冰射箭(W技能)开发​</strong>​:
<ul>
<li>自定义“8方向”攻击范围(每个方向延伸4格);</li>
<li>配置飞行特效(冰箭轨迹)与击中特效(冰晶碎裂);</li>
<li>测试技能范围,确保8个方向均能命中目标。</li>
</ul>
</li>
</ol>
<hr />
<h3>​<strong>​四、总结与注意事项​</strong>​</h3>
<ol>
<li>​<strong>​核心规则​</strong>​:
<ul>
<li>自定义攻击范围需通过引擎工具绘制,且编号与技能表严格对应;</li>
<li>阶段性伤害依赖脚本联动,需设置合理的延迟时间;</li>
<li>技能范围需≥自定义攻击范围,否则无法触发伤害。</li>
</ul>
</li>
<li>​<strong>​优化建议​</strong>​:
<ul>
<li>使用完整特效素材(如动态光效、粒子轨迹)提升技能表现力;</li>
<li>封装通用函数(如<code>CastWaveSkill</code>),减少重复脚本代码;</li>
<li>测试时使用“范围刷怪”工具,验证不同位置目标的命中情况。</li>
</ul>
</li>
</ol>
<p>​<strong>​课后思考​</strong>​:如何通过脚本实现“技能范围随等级提升扩大”?(提示:在技能表中添加“等级”参数,脚本中根据等级动态调整攻击范围。)</p>
页: [1]
查看完整版本: TXT实战课程,自定义技能进阶版