凸网格裁剪第2部分

이전보기

시작하기전에

지난리는기자르이자르다루었다。

  • 서덜랜드-호그만알고리즘
  • 计算交叉点(교차점연산)
    –勒普(선형보간법)
    –点积(벡터의내적)
    –普通(법선벡터)
  • 脸部剔除(CCW,…)

삼각형이용하여1성공하였다。 3D로응용해보자。

三角形网格

Mesh(纹理)를이다。 第1部分。이다다이다。 따라이늘어남에따라이평면의다。

정리하자면,3D Mesh각각의다는각각의2D나누고,분리하여이다。

2D→3D

第1部分:된된루었다다다다다다다다다다다다다다다다다다다다다다다

평면(飞机)

2D직선으로잘랐다면,3D평면으로잘라야다。 세점 a, b, c 하면정하면정있다。 。법선벡터을을진진.。 n (跨产品)용하여이용하여이쉽게다。

수직하는수직하는수직하는수직하는만들었만들었로법선벡터다。

3D计算相交

루는이루는세점세점법선벡터로삼각형으육면체가가가가

이번에도가리가교차점다이다。 이번에도Lerp와용하여이다이다。

normal점((((normal(normal의의의의의의의의의。있있。。。

감이오는가? 三角形숫자는顶点각索引。이다。 Culling CC(CCW방향으로)원리이다。

Unity.Mesh产品,Clipping和WMesh产品,下载Unity.Mesh导出导出产品。

Unity평면구조체구조체구현하구현하구현하구현하않아도다구현하다된다。 。이평면을로바있다。

public Plane (Vector3 a , Vector3 b , Vector3 c );

역시있역시e e。。。。。 물론Unity엔지니어들의지믿다면된다된。(굳이;;;)

public float GetDistanceToPoint (Vector3 inPt );

결과값인진진진값으값으값으나오는데나오는데,,,,,지,,평면의를。있있있있있있다。

,하여루는하는하는,,,,,,,,,교차점을rp rp rp rp rp rp rp rp rp rp rp rp

중간정리

WMesh.cs的올리겠다。 Plane 으로작동부분이다。 Intersect Lerp 같다 Intersect

끝?

。다。 음이남아있어다음Part 3어이어가도록다。

참조

维基百科-‘평면’,’벡터곱’
Unity脚本API-“网格”