2013-07-12 3 views
0

메타 볼을 사용하여 메쉬를 생성하는 오픈 소스 메타 볼 스킨 시스템을 만들거나 찾고 싶습니다. 나는 C \ C++와 OpenGL에서 3 년의 경험을 가지고있다. 그러나 나는이 시스템을 다루는 방법에 대해 생각하지 못하고있다. 내가 원했던 것은 이와 같은 시스템을 구현하는 방법 또는 시스템을 구성하는 방법입니다. 어떤 아이디어/생각? http://chrishecker.com/My_liner_notes_for_sporeOpenGL에서 메타 볼 스킨 시스템 만들기 및 구현

답변

0

내가 C \ C에서 삼년 경험 ++ 및 OpenGL을 있습니다

다음은이 시스템을 사용하는 엔진에 일하는 사람의 라이너 노트의 링크입니다. 그러나 나는이 시스템을 다루는 방법에 대해 생각하지 못하고있다.

나는 이것을 매우 믿기 힘듭니다.

당신이 필요가있는 무엇 :

  1. Marching cubes algorithm.Or marching tetrahedra을, 당신이 특허에 대해 걱정합니다.
  2. Meta balls formula

메타 입자 시스템 "에너지", "방출"몇몇 "메타 볼」로 구성된다. "에너지"는 meteball에 의해 양성/음성 일 수 있으며, 일반적으로 metaball과의 거리를두고 떨어집니다. Falloff는 Point Light 대신 Point Light 대신 Point of Mathematical Body를 사용할 수 있다는 점을 제외하고는 비슷합니다 (거리를 계산할 수있는 한).

대사계의 "에너지"는 시스템의 모든 메타 몸체의 모든 에너지 (예 : 거리와 함께 떨어지며 기억합니까?)의 합계 일 수 있습니다.

이제이 "에너지 장"을 보면 이소 체 표면 (또는 다른 절차 적 표면)을 시각화하는 것처럼 메타 보디 시스템을 시각화 할 수 있습니다.

"에너지"가 특정 thresold보다 낮 으면이 지점은 메타 입자에 의해 형성된 "메쉬"외부에 있습니다. "에너지"가 thresold보다 높으면 포인트는 메타 입자에 의해 형성된 "메쉬"안에 있습니다.

두 점은 선분을 제공하며 선분을 알면 선분이 메쉬의 "곡면"을 교차하는 점을 계산할 수 있습니다.

"행진 큐브 (marching cubes)"알고리즘을 사용하여 공간의 특정 영역을 걷기 만하면 메쉬가 생깁니다.

법선은 메쉬 표면에있는 점의 작은 오프셋 (예 : x/y/z + - 0.01)에서 샘플링 에너지 레벨로 계산됩니다.

이 설명이 어렵다면, nvidia sdk가 행진 큐브 알고리즘에 대한 예제를 가지고 있다고 생각합니다. 예를 들어, 메타 입자에 같은 아이디어를 적용하십시오. enter image description here

+0

감사 :

다음은이 알고리즘으로 무엇을 얻을 수 있습니다. 죄송합니다. 나는 독학했다. 나는 그것을 구현할 수 있었다. 지금 나는 그것으로 실시간 조작을 시도하고있다. – Boodz