Files
daluandou/双路资源点地图示意.html
T
huadexuan 53d95802e5 ```
feat(gameplay): 更新单位属性和材质配置

- 调整多个单位的基础生命值和攻击力数值平衡
- 修改CoreBattleGround材质的纹理缩放比例
- 更新地砖材质颜色为白色
- 优化纹理资源设置,调整最大纹理尺寸并添加PlayableAds平台支持
- 修复弓箭手技能目标查找逻辑,改用统一的敌人检测方法
- 为水晶矿添加中立阵营设置和光球视觉效果同步
- 调整预制体中的全局缩放参数
- 为狼人和石巨人添加NavMeshAgent组件支持
- 优化水晶矿血条显示位置计算方式
```
2026-09-20 21:52:31 +08:00

132 lines
9.3 KiB
HTML

<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>召唤之战:双路与资源点布局</title>
<style>
:root { --bg:#101722; --panel:#182332; --ink:#e8eef5; --muted:#a9b6c5; --blue:#3da5ff; --red:#ff5c68; --road:#637386; --side:#d9a441; --bad:#da6870; --good:#54c48a; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
main { max-width:1100px; margin:0 auto; padding:32px 20px 56px; }
h1 { margin:0 0 8px; font-size:30px; }
h2 { margin:28px 0 10px; font-size:22px; }
p { margin:8px 0; color:var(--muted); }
.intro { margin-bottom:22px; }
.panel { background:var(--panel); border:1px solid #2c3a4c; border-radius:8px; padding:18px; margin-top:18px; }
.map-wrap { display:grid; grid-template-columns:minmax(0, 1fr) 260px; gap:18px; align-items:start; }
svg { display:block; width:100%; height:auto; background:#dce5d1; border-radius:6px; }
.legend { display:grid; gap:10px; color:var(--muted); font-size:14px; }
.legend div { display:flex; align-items:center; gap:8px; }
.swatch { width:25px; height:12px; border-radius:3px; display:inline-block; flex:0 0 auto; }
.swatch.main { background:var(--road); }
.swatch.side { background:var(--side); }
.swatch.blue { background:var(--blue); }
.swatch.red { background:var(--red); }
.good { border-left:4px solid var(--good); padding-left:12px; }
.warn { border-left:4px solid var(--bad); padding-left:12px; }
table { width:100%; border-collapse:collapse; margin-top:12px; }
th,td { text-align:left; padding:9px 10px; border-bottom:1px solid #304052; }
th { color:#fff; background:#223044; }
td { color:var(--muted); }
code { color:#ffd77a; }
@media (max-width:760px) { .map-wrap { grid-template-columns:1fr; } h1 { font-size:25px; } }
</style>
</head>
<body>
<main>
<h1>《召唤之战》双路与资源点布局</h1>
<p class="intro">这张图回答一个核心问题:<strong>资源点不是必经路上的收费站,而是主路旁边的可选目标。</strong></p>
<section class="panel">
<h2>推荐布局:两条主路 + 两个侧向资源支路</h2>
<div class="map-wrap">
<svg viewBox="0 0 700 900" role="img" aria-label="双路资源点布局俯视图">
<defs>
<marker id="arrowBlue" markerWidth="9" markerHeight="9" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 Z" fill="#1976d2"/></marker>
<marker id="arrowRed" markerWidth="9" markerHeight="9" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 Z" fill="#d83242"/></marker>
<marker id="arrowGold" markerWidth="9" markerHeight="9" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 Z" fill="#a97909"/></marker>
</defs>
<rect x="22" y="22" width="656" height="856" rx="12" fill="#b9cba9" stroke="#73866d" stroke-width="3"/>
<text x="350" y="55" text-anchor="middle" font-size="18" font-weight="700" fill="#263728">敌方区域</text>
<text x="350" y="860" text-anchor="middle" font-size="18" font-weight="700" fill="#263728">我方区域</text>
<!-- two independent main roads -->
<path d="M205 790 L205 120" stroke="#415164" stroke-width="86" stroke-linecap="round"/>
<path d="M495 790 L495 120" stroke="#415164" stroke-width="86" stroke-linecap="round"/>
<path d="M205 790 L205 120 M495 790 L495 120" stroke="#7e8da0" stroke-width="4" stroke-dasharray="15 13"/>
<text x="205" y="475" text-anchor="middle" font-size="18" font-weight="700" fill="#fff" transform="rotate(-90 205 475)">左主路:可直接推向敌方城堡</text>
<text x="495" y="475" text-anchor="middle" font-size="18" font-weight="700" fill="#fff" transform="rotate(90 495 475)">右主路:可直接推向敌方城堡</text>
<!-- resource side pockets -->
<path d="M205 355 C155 355 115 350 82 315" fill="none" stroke="#d9a441" stroke-width="34" stroke-linecap="round"/>
<path d="M495 545 C545 545 585 550 618 585" fill="none" stroke="#d9a441" stroke-width="34" stroke-linecap="round"/>
<path d="M205 355 C155 355 115 350 82 315 M495 545 C545 545 585 550 618 585" fill="none" stroke="#ffe29a" stroke-width="3" stroke-dasharray="10 9"/>
<!-- resource nodes -->
<circle cx="70" cy="302" r="43" fill="#e8b94e" stroke="#895f0a" stroke-width="5"/>
<circle cx="630" cy="598" r="43" fill="#e8b94e" stroke="#895f0a" stroke-width="5"/>
<text x="70" y="298" text-anchor="middle" font-size="16" font-weight="700" fill="#3e2d08">水晶矿</text>
<text x="70" y="319" text-anchor="middle" font-size="13" fill="#3e2d08">可选目标</text>
<text x="630" y="594" text-anchor="middle" font-size="16" font-weight="700" fill="#3e2d08">混沌之门</text>
<text x="630" y="615" text-anchor="middle" font-size="13" fill="#3e2d08">可选目标</text>
<!-- castles -->
<rect x="145" y="755" width="120" height="70" rx="12" fill="#3189d7" stroke="#14558d" stroke-width="5"/>
<rect x="435" y="75" width="120" height="70" rx="12" fill="#e34b58" stroke="#962b35" stroke-width="5"/>
<text x="205" y="797" text-anchor="middle" font-size="18" font-weight="700" fill="#fff">我方城堡</text>
<text x="495" y="117" text-anchor="middle" font-size="18" font-weight="700" fill="#fff">敌方城堡</text>
<!-- blue / red direct routes -->
<path d="M205 745 L205 160" fill="none" stroke="#1976d2" stroke-width="5" marker-end="url(#arrowBlue)"/>
<path d="M495 155 L495 740" fill="none" stroke="#d83242" stroke-width="5" marker-end="url(#arrowRed)"/>
<!-- optional resource routes -->
<path d="M175 705 C135 600 115 425 78 340" fill="none" stroke="#a97909" stroke-width="4" stroke-dasharray="12 8" marker-end="url(#arrowGold)"/>
<path d="M525 195 C565 300 585 475 622 560" fill="none" stroke="#a97909" stroke-width="4" stroke-dasharray="12 8" marker-end="url(#arrowGold)"/>
<text x="94" y="520" font-size="14" font-weight="700" fill="#6c5009" transform="rotate(-78 94 520)">主动去争夺资源点</text>
<text x="607" y="390" font-size="14" font-weight="700" fill="#6c5009" transform="rotate(78 607 390)">主动去争夺资源点</text>
<!-- labels -->
<rect x="285" y="420" width="130" height="60" rx="8" fill="#eef4e9" stroke="#80947b"/>
<text x="350" y="445" text-anchor="middle" font-size="15" font-weight="700" fill="#2b3b2a">中间留出</text>
<text x="350" y="466" text-anchor="middle" font-size="15" font-weight="700" fill="#2b3b2a">独立战斗空间</text>
</svg>
<div class="legend">
<div><span class="swatch main"></span><span><strong>深灰色:</strong>两条主路。单位可以完全绕过资源点,直接推敌方城堡。</span></div>
<div><span class="swatch side"></span><span><strong>黄色:</strong>资源支路。只有玩家把目标指向资源点时,单位才会走这里。</span></div>
<div><span class="swatch blue"></span><span><strong>蓝箭:</strong>我方从下向上推进。</span></div>
<div><span class="swatch red"></span><span><strong>红箭:</strong>敌方从上向下推进。</span></div>
<div class="good"><strong>核心:</strong>两条主路不交叉,双方不会因为去资源点而必然汇合。</div>
</div>
</div>
</section>
<section class="panel">
<h2>单位有两种选择</h2>
<table>
<thead><tr><th>玩家目标</th><th>单位实际路线</th><th>结果</th></tr></thead>
<tbody>
<tr><td>敌方城堡</td><td>沿左主路或右主路直走</td><td>直接推进,不经过资源点</td></tr>
<tr><td>水晶矿</td><td>从左主路入口转入侧向支路</td><td>争夺能量收益,占领后再决定是否回主路</td></tr>
<tr><td>混沌之门</td><td>从右主路入口转入侧向支路</td><td>争夺自动出兵收益,占领后再决定是否回主路</td></tr>
<tr><td>途中遇到敌军</td><td>只在近距离视野内拦截</td><td><code>detectionRange = 8</code>,不会隔很远跨路追击</td></tr>
</tbody>
</table>
</section>
<section class="panel">
<h2>不要采用的布局</h2>
<p class="warn"><strong>资源点放在主路正中央:</strong>所有单位都必须经过资源点,资源点会变成必争的收费站,玩家无法选择速攻主城。</p>
<p class="warn"><strong>两条路在中央重新合并:</strong>即使起点分成左右两路,单位最终仍会在合流处相遇,分兵只是视觉上的分路。</p>
<p class="warn"><strong>两个资源点分别贴近己方城堡:</strong>双方到达时间不对称,资源点会天然属于距离更近的一方。</p>
</section>
<section class="panel">
<h2>推荐的 Unity 落地规则</h2>
<p>先做两条互不交叉的 NavMesh 主路。资源点放在主路外侧的凹袋中,各自连接一条短支路。支路入口与敌方主路保持足够距离,避免资源点支路直接变成双方必经的交叉口。</p>
<p>资源点占领后,单位可以回到主路,也可以继续攻击城堡。第一版不需要做复杂的路口优先级,只要保证三件事:<strong>主路能绕过、支路可选择、两条主路不交叉</strong>。</p>
</section>
</main>
</body>
</html>