1
얼굴을 만드는 데 필요한 3 점을 얻는 Maxscript는 어떻게 작성합니까?얼굴과 얼굴 사이의 각을 향한 3D 공간상의 점은 어느 것입니까?
그래서 당신 얼굴이 100면이라고합니다. 그런 다음 스크립트는 각 포인트를 형성하는 포인트를 알려 주어야합니다.
또한 두 개의 인접한면이 서로를 가지고 있다는 것을 알고 싶습니다. 사전
얼굴을 만드는 데 필요한 3 점을 얻는 Maxscript는 어떻게 작성합니까?얼굴과 얼굴 사이의 각을 향한 3D 공간상의 점은 어느 것입니까?
그래서 당신 얼굴이 100면이라고합니다. 그런 다음 스크립트는 각 포인트를 형성하는 포인트를 알려 주어야합니다.
또한 두 개의 인접한면이 서로를 가지고 있다는 것을 알고 싶습니다. 사전
에서
덕분에이 정말로 두 개의 질문이 있습니다, 그러나 여기 간다 :
이 기능은 얼굴 인덱스로 구성된 배열을 반환하며, 생성 정점의 인덱스를 묘사하는 POINT3 값 저 얼굴.
fn GetAllFaceVertices meshObj =
(
for v = 1 to m.numVerts collect #(v, getFace v)
)
이 기능은 두 얼굴 사이의 각도를 반환합니다. 그것은 각면의 법선을 얻은 다음 두 법선의 내적에 대한 아크 코사인을 반환합니다. 이러한 기능의 모두가 editable mesh
객체를 기대
fn GetFaceAngles meshObj faceA faceB =
(
local nA = getFaceNormal meshObj faceA
local nB = getFaceNormal meshObj faceB
acos (dot nA nB)
)
참고. editable poly
개체에서 작동해야하는 경우 polyop
구조체를 사용하는 비슷한 방법이 있습니다.
나는 polyop을 사용하여 문제를 해결했습니다. 한 가지는 : 각도의 방향을 어떻게 결정합니까? 그것이 법선을 바깥쪽으로 향하고 있다는 것을 이해함에 따라, 90 °가 가우다인지 범프인지를 어떻게 결정합니까? – Zurechtweiser