신축성이 있고 깨지기 쉬운 피자 치즈 재료를 만들려면 어떻게해야합니까?


21

현실적인 피자를 만들고 사용자와 상호 작용할 수있게하려고합니다.

내가 원하는 것 :

슬라이스 되 고 피자 사진

내가 만든 것 :

슬라이스가없는 렌더링 된 피자의 스크린 샷

Blender에서 피자 모델 (8 개)을 만든 다음 Unity로 가져 왔습니다. 피자 조각은 대부분 "단단한 삼각형"이기 때문에 매우 인위적으로 보입니다.

사용자가 조각을 움직일 때 치즈를 늘리거나 깰 수 있습니까?


1
더 나은 모델, 더 나은 질감 및 더 나은 쉐이더. 저것과 같이 쉬운.
API-Beast

실제로 치즈가 늘어나고 부서지기를 원합니까? 보다 현실적인 측면을 구체적으로 설명 할 수 있다면 질문의 범위를 좁히는 데 도움이됩니다.
MichaelHouse

2
@ Byte56, 나는 모델, 질감 및 쉐이더를 개선하여 피자의 품질을 향상시킬 수 있다는 것을 이해하지만 치즈에 관심이 있습니다. 예, 나는 그것이 신축성과 깨지기 쉽기를 원합니다. 진짜 치즈처럼
피터 부렌 코프

6
개인적으로, 나는 실시간 천 시뮬레이션을 살펴보고 매개 변수를 조정하여 천에서 치즈까지 얼마나 멀리 갈 수 있는지 봅니다. 피자의 치즈 층을 별도의 메쉬로 처리하고 스프링 / 질량 모델을 사용하여 변형을 계산합니다. 또한 천 시스템을 보았습니다. 천 시스템을 분리하여 치즈에도 사용할 수 있습니다. 이것을 스프링 / 질량 모델의 ​​노드에 적용되는 힘을 기반으로 솔리드 치즈 텍스처에서 스트레치 / 리핑 치즈 텍스처로 혼합되는 셰이더와 결합하면 매우 깔끔한 결과를 얻을 수 있습니다.
Invor

여기서 악마의 옹호자 를하기 위해서 이런 종류의 애니메이션이 필요 합니까? 나는 그것이 이상하게 들린다는 것을 알고 있지만 이미 주어진 답변에서보아야합니다. 이것은 당신이 목표로하는 상당히 복잡한 효과입니다. 분명히 그것은 게임에 달려 있습니다 (나는 당신이 피자 만들기 시뮬레이터를 만들고 있는지 모르겠습니다 (나는 돈을 많이 지불하는 사람들을 알고 있습니다)), 당신은 이것에 넣을 작품이 있는지 스스로에게 물어봐야합니다 정말 당신의 노력을 정당화하기에 충분를 추가합니다. 많은 시간이 있더라도 다른 곳에서 헌신하면 장기적으로 더 많은 돈을 지불 할 수 있습니다.
Selali Adobor

답변:


28

간단한 방법

인접한 슬라이스를 서로 연결하는 쿼드를 추가하십시오. 잘 녹은 치즈 질감으로 구멍을냅니다. 슬라이스가 멀어짐에 따라 쿼드는 자연스럽게 늘어나므로 텍스처가 늘어나거나 왜곡됩니다.

휴식은 없지만 합리적으로 보일 것입니다. 여기서해야 할 일은 텍스처를 애니메이션 처리하는 것입니다. 시간 대신 쿼드 영역 (또는 슬라이스 사이의 거리)을 기준으로 애니메이션을 반복합니다. 멀어 질수록 애니메이션 진행으로 인해 더 많은 구멍이 나타납니다.

결국 거리 임계 값에 도달하면 쿼드를 두 개로 분할하고 프로그래밍 방식으로 두 개의 쿼드를 연결된 슬라이스 방향으로 축소하여 조금 축소하고 스냅을 보여주는 애니메이션을 계속 재생합니다. 끝에 애니메이션을 고정시킵니다.

좀 더 역 동성을 위해 물리 엔진의 조인트를 사용하여 쿼드를 두 슬라이스에 연결할 수 있습니다.

어려운 방법

연체 물리 엔진을 사용하거나 작성하십시오. 슬라이스 사이에 헝겊 섹션을 정의하고 치즈로 텍스쳐를 만듭니다. 물리 엔진이 재료 스트레칭 및 스냅의 역학을 모델링 할 수 있도록합니다.

이것은 훨씬 더 집중적이지만 일반적으로 적용 가능한 방법입니다. 또한 제어하기가 쉽지 않지만 전반적으로 더 강력한 효과가 될 수 있습니다.


3
첫 번째 접근법을 전적으로 제안합니다.
jhocking

6
최소한 몇 시간을 사용하기 전에 첫 번째 접근 방식 (여러 개의 쿼드를 쉽게 사용할 수 있음)을 시도하는 데 몇 시간을 소비해야합니다. 몇 초 ... 물리 엔진을 작성하는 데 몇 달이
걸리는 것입니다

3
결과가 너무 배가 고파요! 완료되면 업데이트하십시오.
John Moses

2
잠시 동안 나는 "소프트 바디 치즈 엔진 사용"이라고 생각하고 사람들은 무엇이든 엔진을 쓸 것이라고 생각했습니다.
Thomas

2
Unity에는 내장 된 물리학 엔진이있어 스트레칭과 찢어짐을 지원하므로 어려운 방법은 어렵지 않습니다. 훨씬 계산 비용이 많이 들지만.
Ethan Worley

2

사전 설정 애니메이션 사용 :

따라서 Maya / Blender와 같은 3D 모델링 소프트웨어에서 사전 설정 애니메이션을 만들 수 있습니다. Maya / Blender는 부드러운 바디 및 천과 같은 기능을 통해 피자 찢기를 시뮬레이션하는 데 효과적입니다. 피자 텍스처와 모델 애니메이션을 모두 Unity로 (아마도 .obj 모델 세트 등) 내 보냅니다.

모델 애니메이션은 많은 삼각형을 사용하여 늘어나고 찢겨진 치즈를 나타내며 Unity에 트라이 메시 세트로로드 할 수 있습니다. 그것들은 다양한 메쉬 상태의 모음이며, 각각은 스트레칭의 다른 위치에서 치즈 피자를 나타냅니다. 사용자가 피자 슬라이스를 배치하는 위치에 따라 해당 '메시 상태'로 이동하여 해당 삼각형을 표시합니다.

물론 몇 가지 문제가 있습니다. 사용자 상호 작용은 약간 제한되어 있습니다. 치즈가 이미 약간 찢어지면 해당 치즈 영역의 '비정형'상태로 돌아갈 수 없습니다. 사전 설정 애니메이션이 슬라이스 1과 2를 제거하면 사용자는 해당 순서대로 슬라이스를 제거해야합니다. 메시의 세분화 정도와 찢는 애니메이션의 지속 시간에 따라 내 보낸 데이터의 크기가 상당히 커질 수 있습니다.

그러나 사전 설정된 애니메이션을 만들 때 모델 아티스트가 잘 작동하면 매우 사실적으로 보일 수 있습니다. 그리고 소프트 바디 시뮬레이터를 구현할 필요가 없습니다.

Unity 사용하기 :

그러나 관심이 있으신 경우 Unity는 자체 스킨 천대화 형 천 구성 요소를 구현합니다 . 대화 형 천은 찢김을 지원합니다. 그러나 그들에 대한 지원은 마지막으로 확인한 몇 가지 플랫폼으로 제한됩니다.

당신을 사용하여 :

결국, 항상 자신 만의 소프트 바디 시뮬레이터를 구현할 수 있습니다. 다음은 매우 인기있는 샘플 연구 논문입니다. 많은 재미입니다 :). 행운을 빕니다.


1

@originalDaemon의 답변이 좋습니다! 나는 첫 번째 접근법보다 더 나은 결과를 얻을 있는 중간 방법이 있다고 생각 하며 합리적인 노력을 기울일 것입니다.

내가 제안하는 것은 실제로 치즈 "웹"을 모델링하는 것인데, 그것은 나에게 종유석처럼 보입니다. 신축성있는 치즈 몇 조각을 모델링합니다. 맛있게 삼각형의 가장자리에 무작위로 배치하고 0에서 스케일을 조정하고 y-axis삼각형을 비교에서 제거하면 y 축에서 필요한 크기로 다시 스케일링하십시오.

y삼각형을 약간 잡아 당기려면 대신 다른 축을 선택해야 할 수도 있습니다. 어느 쪽이든, 평평한 질감이 훨씬 쉽고 비용 효과적이지만, 치즈를 모델링하면 질감이 작동하더라도 클로즈업에 더 현실적인 것으로 판명 될 수 있다고 생각합니다. 텍스처를 선택하면 더 사실적인 느낌을 얻기 위해 둘 이상의 레이어를 사용할 수 있습니다. 또한 샷에서 피자의 뜨거움을 강조하기 위해 약간의 증기를 넣는 것을 잊지 마십시오.

내가 알았던 또 다른 것은 그것이 페퍼로니가 단지 질감 일뿐이라는 것입니다. 나는 그것을 모델링하거나 해당 영역의 세부 사항을 기존 모델에 추가하는 것을 고려할 것입니다. 신축성있는 치즈로 아래로 밀어내어 현실감을 더할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.