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("冲击波", 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]