Version: 2023.2

PhysicsShape2D.vertexStartIndex

切换到手册
public int vertexStartIndex ;

描述

The start index for the geometry of this shape within the PhysicsShapeGroup2D.

Multiple PhysicsShape2D in a PhysicsShapeGroup2D are represented as a single list of vertices. This index is the start of this shape within that list.

Additional resources: GetShapeVertex, GetShapeVertices.

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 capsuleShapeIndex = shapeGroup.AddCapsule ( vertex0: Vector2.down, vertex1: Vector2.up, radius: 0.5f );

// Add a Circle to the shape group. var circleShapeIndex = shapeGroup.AddCircle ( center: new Vector2(-2f, 3f), radius: 1f );

// Fetch the shapes. var capsuleShape = shapeGroup.GetShape(capsuleShapeIndex); var circleShape = shapeGroup.GetShape(circleShapeIndex);

// Validate the shape vertex count. Assert.AreEqual(2, capsuleShape.vertexCount); Assert.AreEqual(1, circleShape.vertexCount);

// Validate the Capsule vertex start index. // NOTE: The Capsule is the first shape so its index is 0. // It has 2 vertices at indices 0 and 1. Assert.AreEqual(0, capsuleShape.vertexStartIndex);

// Validate the Circle vertex start index. // NOTE: The Circle is the second shape so its index is 0. // It comes after the Capsule which has 2 vertices at indices 0 and 1 so // the Circle start index is 2. Assert.AreEqual(2, circleShape.vertexStartIndex); } }