Unity 6.3
0 онлайн 0 гостей 3 в системе
Вход

PhysicsShapeGroup2D.SetShapeVertex

Declaration

public void SetShapeVertex(int shapeIndex, int vertexIndex, Vector2 vertex);

Параметры

Параметр Описание
shapeIndex Индекс фигуры, хранящейся в PhysicsShapeGroup2D. Индекс фигуры основан на нуле с группой фигур, имеющей количество фигур, указанное shapeCount.
vertexIndex Индекс вершины формы, хранящийся в PhysicsShapeGroup2D. Индекс вершины основан на нуле, при этом форма имеет количество вершин, указанное PhysicsShape2D.vertexCount.
вершина Значение, которое должно быть установлено для вершины формы.

Описание

Задает одну вершину фигуры.

NOTE: При доступе к нескольким вершинам более эффективно выполнять одно из следующих действий:

  • Получить все вершины фигуры с помощью GetShapeVertices
  • Получить все вершины группы фигур с помощью GetShapeData
  • Создание PhysicsShapeGroup2D с явными фигурами и списками вершин с помощью группы фигур Constructor

Дополнительные ресурсы: ,GetShapeVertex,.

using UnityEngine;
using UnityEngine.Assertions;

public class Example : MonoBehaviour { void Start() { // Create a shape group. var shapeGroup = new PhysicsShapeGroup2D();

// Add a Capsule to the shape group. var shapeIndex = shapeGroup.AddCapsule ( vertex0: Vector2.down, vertex1: Vector2.up, radius: 0.5f );

// Fetch the shape vertices from the shape group. var vertex0 = shapeGroup.GetShapeVertex(shapeIndex, vertexIndex: 0); var vertex1 = shapeGroup.GetShapeVertex(shapeIndex, vertexIndex: 1);

// Validate the Capsule vertices. Assert.AreEqual(Vector2.down, vertex0); Assert.AreEqual(Vector2.up, vertex1);

// Set the shape vertices in the shape group. shapeGroup.SetShapeVertex(shapeIndex, vertexIndex: 0, vertex: Vector2.left); shapeGroup.SetShapeVertex(shapeIndex, vertexIndex: 1, vertex: Vector2.right);

// Fetch the shape vertices from the shape group. vertex0 = shapeGroup.GetShapeVertex(shapeIndex, vertexIndex: 0); vertex1 = shapeGroup.GetShapeVertex(shapeIndex, vertexIndex: 1);

// Validate the Capsule vertices. Assert.AreEqual(Vector2.left, vertex0); Assert.AreEqual(Vector2.right, vertex1); } }