Indices로 Vertices를 정의하여 Box2D로 다각형을 만드는 방법이 있습니까?
OpenGL을 사용하고 있기 때문에 어쨌든 꼭짓점과 인덱스를 정의해야합니다. Box2D에서 메쉬를 만드는 것과 같은 방법으로 본문 (모양)을 만드는 방법이 없다는 것에 놀랐습니다. . 나는 뭔가를 놓치고 있는가, 아니면 이것은 일반적으로 다르게 수행 되는가?Box2D에서 색인을 사용합니까?
1
A
답변
0
AS3에서는 B2D 2.1a 버전을 사용할 수 있습니다.
package org.pf.constructor.shapes
{
import Box2D.Collision.Shapes.b2PolygonShape;
import Box2D.Common.Math.b2Vec2;
/**
* ...
* @author zeksa'
*/
public class PFb2dConvexShape extends b2PolygonShape
{
private var _vertices:Array = new Array();
public function PFb2dConvexShape(vertices:Array)
{
for (var i:int = 0; i < vertices.length; i++)
{
_vertices.push(new b2Vec2(vertices[i][0]/30, vertices[i][1]/30));
}
SetAsArray(_vertices, _vertices.length);
}
}
}
나는 이렇게했습니다. C++에서도 똑같이 만들 수 있다고 생각하십시오. Box2D는 볼록한 모양 만 지원합니다. 오목한 모양을 원한다면, this article가 도움이 될 것이라고 생각합니다. AS3 만 =). C++에서이 작업을 수행하는 방법을 알기를 바랍니다. 재미있게 보내세요!
0
당신은 poly2tri 도서관에서 모습이 있어야합니다 http://code.google.com/p/poly2tri/
그것은 제한된 들로네 삼각 측량 (http://en.m.wikipedia.org/wiki/Constrained_Delaunay_triangulation)을 수행하는 매우 빠르고 효율적인 LIB입니다. 입력 정점 (결국 Steiner 점)에서 삼각형의지도를 출력하지만 세련된 Delaunay를 가지거나 lib의 C 버전을 사용하려면 직접 계산해야합니다. 그러면 다음과 같이 정착 물을 만들 수 있습니다. 그들. 내가 여기에 무슨 짓을했는지
하면 LIB가 자기 교차 다각형, 중복 포인트 또는 동일 선상에 포인트를 채택하지 않도록주의하십시오. 삼각 측량을 계산하기 전에이를 확인해야합니다.
glib 라이브러리에 익숙하다면 C 버전을 구현해야한다고 생각하지만 직접 시도하지 않았으므로 알 수 없습니다. C++보다 훨씬 빠르다고 생각합니다. 그리고 정제를 구현합니다. 메쉬에 유용 할 수 있습니다.
관련 문제
- 1. HBase는 기본 색인을 사용합니까?
- 2. 왜 MySQL은 잘못된 색인을 사용합니까?
- 3. Bing Search API는 Bing 색인을 사용합니까?
- 4. Box2D에서 수면 시체의 단점
- 5. Box2d에서 조인트를 만드는 방법
- 6. Box2D에서 밀도를 설정할 수 없습니다.
- 7. Box2D에서 사용자 정의 폴리곤 그리기
- 8. box2d에서 모션을 수직으로 제한하는 방법
- 9. iOS의 Box2D에서 이미지로 캐릭터 만들기
- 10. body.GetPosition, body.GetWorldCenter는 Box2D에서 무엇을 의미합니까?
- 11. box2d에서 충돌 위치를 얻는 방법
- 12. cocos2d + box2d에서 게임 개체 설정
- 13. Box2D에서 포장 세계를 만드는 방법
- 14. Box2D에서 세계의 연락처 수신기 받기
- 15. box2d에서 충돌하는 물체를 제거하는 방법은 무엇입니까?
- 16. box2d에서 회전 원에 객체를 연결하는 방법 cocos2d?
- 17. box2d에서 동적으로 본문의 그룹 인덱스를 변경하는 방법
- 18. Box2d에서 백그라운드의 고르지 않은 부분을 어떻게 설정합니까?
- 19. iPhone의 Box2d에서 스프라이트의 위치를 얻는 방법
- 20. iphone을위한 box2d에서 호 모양을 만드는 방법
- 21. Box2D에서 객체의 sleepTime을 설정하는 방법은 무엇입니까?
- 22. Box2D에서 "지상 몸체"의 목적은 무엇입니까?
- 23. Box2D에서 AS3 v2.1a에 해당하는 b2XForm은 무엇입니까?
- 24. Cocos2d Android가있는 Box2D에서 충돌이 제대로 작동하지 않습니다.
- 25. Box2d에서 총알 시간을 구현하는 방법은 무엇입니까?
- 26. 다각형을 숨기거나 box2d에서 다각형의 zOrder 설정하기
- 27. Box2D에서 "원"을 만드는 방법은 무엇입니까?
- 28. Box2d에서 어떤 속도 측정 값이 나왔습니까?
- 29. box2d에서 타원 모양을 만드는 방법은 무엇입니까?
- 30. 충돌을 어떻게 탐지 하나 box2d에서 충돌하지 않습니까?
왜 필요한가요? 어쩌면 내가 마지막으로봤을 때부터 뭔가 바뀌었을 지 모르지만 내가 아는 것에서는 틀릴 수도 있지만 Box2D는 볼록한 모양 만 지원합니다. 따라서 꼭지점 목록을 제공하면 볼록 선체가 생성됩니다. – Bart
실제로는 볼록한 모양 만 지원하며 내 지형 모양은 볼록하지 않습니다. 그 때문에 삼각형 (더 큰 모양을 만들기 위해 여러 개의 볼록한 모양)으로 그것을 분리하고 싶었습니다. – user717572
정확합니다. 그러나 분리 된 볼록한 모양의 꼭지점을 지나치기 만하면됩니다. 인덱스 방식을 사용하여 여러 개의 볼록한 모양을 직접 생성하는 방법은 없다고 생각합니다. 아마도 누군가는 나를 틀리게 증명할 것이고, 대답이 아니라 논평이 될 것입니다. :) – Bart