首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我使用LineRenderer只得到两条线,而不是三条线来创建三角形?

为什么我使用LineRenderer只得到两条线,而不是三条线来创建三角形?
EN

Stack Overflow用户
提问于 2020-04-04 00:11:31
回答 1查看 85关注 0票数 0
代码语言:javascript
复制
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DrawLines : MonoBehaviour
{
    private LineRenderer lineRenderer;

    // Start is called before the first frame update
    void Start()
    {
        lineRenderer = GetComponent<LineRenderer>();

        Vector3[] positions = new Vector3[3] { new Vector3(0, 0, 0), new Vector3(-1, 1, 0), new Vector3(1, 1, 0) };
        DrawTriangle(positions);
    }

    // Update is called once per frame
    void Update()
    {

    }

    void DrawTriangle(Vector3[] vertexPositions)
    {
        lineRenderer.positionCount = 3;
        lineRenderer.SetPositions(vertexPositions);
    }
}

检查器中的LineRenderer组件:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-04 00:26:01

你的数组中只有3个位置。

线1从0,0,0绘制到-1,1,0,然后线2从-1,1,0绘制到1,1,0。

此时,您没有更多的位置可供绘制。

基本上,你需要两个位置来画一条线。线条渲染器绘制从a到b,b到c,c到d等...

您还可以检查循环布尔值,以便线渲染器绘制从最后一点到第一点的最后一条线,从而形成一个具有3个位置的三角形。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61016032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档