Unity 는 EzySlice 를 사용 하여 모델 다각형 순서 절단 을 실현 합 니 다.
낡은 규칙,직접 코드 올 리 기:
메모:스 크 립 트 탑재 와 필요 한 재질 공 및 절단 배열 충전
EzySlice 다각형 순서 절단
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using EzySlice;
public class SplitterModel_ZH : MonoBehaviour
{
//
public Material _NewMaterial;
//
public List<GameObject> _ListGamPreFab;
//
private int _ListInt = 0;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
StartCoroutine(SlicedModel());
}
}
public IEnumerator SlicedModel()
{
if (_ListGamPreFab != null)
{
//
Collider[] _Colliders = Physics.OverlapBox(_ListGamPreFab[_ListInt].transform.position, new Vector3(4, 0.00005f, 4), _ListGamPreFab[_ListInt].transform.rotation, ~LayerMask.GetMask("Solid"));
foreach (var item in _Colliders)
{
//
Destroy(item.gameObject);
//
SlicedHull _SlicedHull = item.gameObject.Slice(_ListGamPreFab[_ListInt].transform.position, _ListGamPreFab[_ListInt].transform.up);
if (_SlicedHull != null)
{
//
GameObject _Lower = _SlicedHull.CreateLowerHull(item.gameObject, _NewMaterial);
//
GameObject _Upper = _SlicedHull.CreateUpperHull(item.gameObject, _NewMaterial);
//
Destroy(_Lower);
//
_Upper.AddComponent<MeshCollider>();
// ( )
_ListGamPreFab[_ListInt].gameObject.SetActive(false);
#region
//for (int i = 0; i < _objs.Length; i++)
//{
// _objs[i].AddComponent<Rigidbody>();
// _objs[i].AddComponent<MeshCollider>().convex = true;
// //
// if ((i & 1) != 0)
// {
// }
//}
#endregion
}
}
}
_ListInt++;
//
yield return new WaitForSeconds(0.5f);
//
if (_ListInt == _ListGamPreFab.Count)
{
//
StopCoroutine(SlicedModel());
}
else
{
StartCoroutine(SlicedModel());
}
}
}
보충 점:현재 절단 배열 을 확장 할 수 있 습 니 다.LineRender 그림 으로 사용자 정의 할 수 있 습 니 다.다만 저 는 쓸 시간 이 없습니다.그 큰 신 이 쓰 셨 다 면 저 를 좀 차 주세요.하하 하.
링크:Unity LineRender 회화
초기 상태:
스 크 립 트 탑재 상황:
최종 효과:
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
nginx 의 자동 로그 절단 - 스 크 립 트 가 아 닙 니 다.이전에 설치 한 nginx 는 모두 스스로 컴 파일 하여 설치 한 후에 rpm 패키지 로 만 들 었 다.새 회 사 를 옮 긴 후에 서버 의 nginx 가 모두 yum 에 설치 되 어 있 는 것 을 발 견 했 습 니 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.