You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ursina框架中Mesh线模式绘制六边形出现断线问题求助

解决Ursina绘制宽线六边形时线段断裂的问题

问题描述:绘制无填充六边形,设置thickness大于1时,线段之间出现断裂缺口。

问题原因

你当前通过triangles=[[0,1],[1,2],[2,3],[3,4], [4,5], [5,0]]定义了6条独立线段,当线宽增大时,独立线段的端点没有自动衔接处理,就会出现连接处的断裂缺口。

解决方案

直接改用mode='line_loop'模式,让引擎自动处理闭合线的端点衔接,不需要手动定义独立线段:

修改后的完整代码:

from ursina import *

OUTER_RADIUS = 1
INNER_RADIUS = OUTER_RADIUS * 0.866025404

# 保留6个顶点即可,无需重复第一个顶点
HEX_CORNERS = [
        Vec3(0, 0, OUTER_RADIUS),
        Vec3(INNER_RADIUS, 0, 0.5 * OUTER_RADIUS),
        Vec3(INNER_RADIUS, 0, -0.5 * OUTER_RADIUS),
        Vec3(0, 0, -OUTER_RADIUS),
        Vec3(-INNER_RADIUS, 0, -0.5 * OUTER_RADIUS),
        Vec3(-INNER_RADIUS, 0, 0.5 * OUTER_RADIUS),
       ]

hex = Mesh(
    vertices=HEX_CORNERS,
    # line_loop会自动按顺序连接顶点,并闭合最后一个顶点到第一个顶点
    mode='line_loop',
    thickness=10
)

Entity(
    model=hex,
    color=color.black
)

EditorCamera()

app.run()

原理说明

line_loop模式会将所有顶点按顺序串联成一条连续的闭合折线,引擎会自动处理线段端点的重叠衔接,从根源上避免了宽线情况下的断裂问题,比手动定义独立线段更高效且效果更稳定。

内容的提问来源于stack exchange,提问作者klobaska soslaninou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 02:42:18