ฉันจะสร้างวัสดุพิซซ่าชีสแบบยืดและแตกได้อย่างไร


21

ฉันต้องการสร้างพิซซ่าที่เหมือนจริงและอนุญาตให้ผู้ใช้โต้ตอบกับมัน

สิ่งที่ฉันต้องการ:

ภาพพิซซ่าพร้อมยกชิ้นขึ้น

สิ่งที่ฉันสร้าง:

สกรีนช็อตของพิซซ่าที่แสดงผลโดยไม่มีชิ้น

ฉันสร้างโมเดลของพิซซ่า (8 ชิ้น) ใน Blender จากนั้นนำเข้าสู่ Unity ชิ้นส่วนของพิซซ่าดูเหมือนประดิษฐ์มากส่วนใหญ่เป็นเพราะ "สามเหลี่ยมแข็ง"

ฉันจะทำให้ชีสยืดและแตกเมื่อผู้ใช้ย้ายชิ้นส่วนได้อย่างไร


1
แบบจำลองที่ดีขึ้นพื้นผิวที่ดีขึ้นและเฉดสีที่ดีขึ้น ง่ายเหมือนที่
API-Beast

คุณต้องการให้ชีสยืดและแตกออกจริง ๆ หรือไม่? หากคุณอาจเฉพาะเจาะจงมากขึ้นเกี่ยวกับแง่มุมที่คุณต้องการให้สมจริงยิ่งขึ้นนั่นจะช่วย จำกัด ขอบเขตของคำถามให้แคบลง
MichaelHouse

2
@ Byte56 ฉันเข้าใจว่าฉันสามารถปรับปรุงคุณภาพของพิซซ่าผ่านการปรับปรุงแบบจำลองพื้นผิวและเฉดสี แต่ฉันสนใจในชีส ใช่ฉันต้องการให้ยืดหยุ่นและแตกหักได้ เหมือนชีสจริง
Peter Burenkov

6
โดยส่วนตัวแล้วฉันจะดูการจำลองผ้าแบบเรียลไทม์และดูว่าคุณสามารถได้รับผ้าจากชีสถึงวิธีการปรับแต่งค่าพารามิเตอร์ ฉันจัดการกับชั้นชีสของพิซซ่าเป็นตาข่ายแยกและใช้แบบจำลองสปริง / มวลเพื่อคำนวณการเสียรูป ฉันเคยเห็นระบบผ้ามาก่อนด้วยซึ่งจะช่วยให้คุณแยกผ้าออกจากกันซึ่งคุณอยากได้ชีสด้วย รวมสิ่งนี้เข้ากับเครื่องผสมที่ผสมจากเนื้อแข็งของชีสเข้ากับเนื้อชีสที่เป็นริ้ว / ฉีกขาดตามแรงที่ใช้กับโหนดของแบบจำลองสปริง / มวลและควรให้ผลลัพธ์ที่เรียบร้อย
Invor

เพียงแค่เล่นทนายของปีศาจที่นี่คุณแน่ใจหรือไม่ว่าคุณต้องมีภาพเคลื่อนไหวประเภทนี้ ฉันรู้ว่ามันฟังดูแปลกที่จะถาม แต่คุณควรเห็นจากคำตอบที่ได้รับไปแล้วนี่เป็นเอฟเฟกต์ที่ค่อนข้างซับซ้อนที่คุณตั้งเป้าหมายไว้ เห็นได้ชัดว่ามันขึ้นอยู่กับเกม (ฉันไม่รู้ว่าคุณกำลังทำพิซซ่าจำลองหรือไม่ (ฉันรู้ว่าคนที่จ่ายเงินอย่างดีสำหรับคนหนึ่ง)) แต่คุณควรถามตัวเองว่างานที่คุณใส่เข้าไปจะเป็นเช่นไรจริงๆเพิ่มพอที่จะปรับความพยายามของคุณ แม้ว่าคุณจะมีเวลามาก แต่การอุทิศมันในที่อื่นอาจจะจ่ายมากขึ้นในระยะยาว ...
Selali Adobor

คำตอบ:


28

วิธีง่ายๆ

เพิ่มรูปสี่เหลี่ยมที่เชื่อมต่อชิ้นส่วนที่อยู่ติดกัน พื้นผิวนี้ด้วยเนื้อชีสที่ดีละลายพร้อมรู เมื่อชิ้นส่วนถูกเคลื่อนออกไปรูปสี่เหลี่ยมจะถูกยืดออกอย่างเป็นธรรมชาติและทำให้ยืดและเอียงเนื้อ

สิ่งนี้ควรดูสมเหตุสมผลแม้ว่าจะไม่มีการหยุดพัก สิ่งที่ต้องทำที่นี่คือทำให้พื้นผิวนั้นเป็นภาพเคลื่อนไหว วนซ้ำผ่านภาพเคลื่อนไหวตามพื้นที่ล่าม (หรือระยะห่างระหว่างชิ้น) แทนเวลา เมื่อมันถูกดึงออกไปไกล ๆ จะมีรูปรากฏขึ้นมากเนื่องจากการเคลื่อนไหว

ในที่สุดเมื่อตีระยะทางให้แบ่งสี่ออกเป็นสองส่วนโดยทางโปรแกรมลดขนาดสองคนลงไปในทิศทางของชิ้นส่วนที่แนบมาของพวกเขาเพื่อลดขนาดลงเล็กน้อยและเก็บภาพเคลื่อนไหวที่แสดงภาพเคลื่อนไหว ตรึงภาพเคลื่อนไหวในตอนท้าย

สำหรับพลวัตอีกเล็กน้อยคุณสามารถต่อสี่กับชิ้นสองชิ้นโดยใช้ข้อต่อในเครื่องยนต์ฟิสิกส์

วิธีที่ยาก

ใช้เอนจินฟิสิกส์แบบนุ่มนวลหรือเขียนลงไป กำหนดส่วนผ้าระหว่างชิ้นและพื้นผิวด้วยชีส อนุญาตให้เอนจินฟิสิกส์สร้างแบบจำลองพลวัตของวัสดุยืดและหัก

นี่เป็นวิธีที่เข้มข้นกว่า แต่ก็เป็นวิธีที่เหมาะสมกว่า มันอาจควบคุมไม่ได้มาก แต่อาจมีผลกระทบโดยรวมที่น่าสนใจยิ่งขึ้น


3
ฉันขอแนะนำวิธีแรกโดยสิ้นเชิง
jhocking

6
อย่างน้อยที่สุดใช้เวลาสองสามชั่วโมงในการลองวิธีแรก (คุณสามารถใช้หลาย ๆ quads) ก่อนที่คุณจะใช้เวลาสักสองสาม ...
เอาละ

3
หิวมากเห็นผลลัพธ์! โปรดอัปเดตเราเมื่อคุณดำเนินการเสร็จแล้ว
จอห์นโมเสส

2
สักพักนึงฉันคิดว่าฉันอ่าน "ใช้เครื่องยนต์ชีสนิ่ม ๆ " และคิดว่าว้าวผู้คนจะเขียนเครื่องยนต์เพื่ออะไร
โทมัส

2
ความสามัคคีมีเครื่องยนต์ฟิสิกส์ผ้าในตัวที่รองรับการยืดและฉีกดังนั้นวิธีที่ยากอาจไม่ยาก แม้ว่ามันจะมีราคาแพงกว่าการคำนวณ
Ethan Worley

2

ใช้ภาพเคลื่อนไหวที่กำหนดไว้ล่วงหน้า:

ดังนั้นสร้างแอนิเมชั่นที่กำหนดไว้ล่วงหน้าในซอฟต์แวร์การสร้างแบบจำลอง 3 มิติเช่น Maya / Blender ซึ่งมีคุณสมบัติเช่นเนื้อนุ่มและผ้าที่สามารถทำงานได้ดีในการจำลองการฉีกพิซซ่า ส่งออกทั้งพื้นผิวพิซซ่าและภาพเคลื่อนไหวของโมเดลเป็น Unity (อาจเป็นชุดของ. obj หรือบางรุ่น)

อนิเมชั่นโมเดลจะเป็นตัวแทนของชีสที่ถูกยืดออกและฉีกขาดโดยใช้รูปสามเหลี่ยมมากมายหลายรูปแบบซึ่งคุณสามารถโหลดเป็นชุดของรูปสามเหลี่ยมตาข่ายลงใน Unity พวกเขาเป็นคอลเลกชันของรัฐหลายตาข่ายแต่ละคนแสดงพิซซ่าชีสที่ตำแหน่งที่แตกต่างกันของการยืด ขึ้นอยู่กับตำแหน่งที่ผู้ใช้วางตำแหน่งชิ้นพิซซ่าคุณจะข้ามไปยัง 'สถานะตาข่าย' และแสดงรูปสามเหลี่ยมเหล่านั้น

แน่นอนว่ามีปัญหาเล็กน้อย การโต้ตอบกับผู้ใช้ค่อนข้าง จำกัด หากชีสฉีกขาดไปเล็กน้อยคุณจะไม่สามารถกลับไปที่สถานะ 'ไม่ได้ถูกทำลาย' สำหรับพื้นที่ของชีสนั้นได้ หากภาพเคลื่อนไหวที่ตั้งไว้ล่วงหน้าจะลบส่วนที่ 1 และ 2 จากนั้นผู้ใช้จะถูกบังคับให้นำชิ้นส่วนออกตามลำดับ ขนาดของข้อมูลที่ส่งออกอาจมีขนาดใหญ่มากขึ้นอยู่กับความละเอียดของตาข่ายและระยะเวลาของภาพเคลื่อนไหวที่ฉีกขาด

แต่มันก็ดูสมจริงมากถ้าศิลปินนางแบบทำผลงานได้ดีเมื่อสร้างอนิเมชั่นที่กำหนดไว้ล่วงหน้า และคุณไม่จำเป็นต้องใช้ซอฟท์แวร์ตัวจำลอง

ใช้ความสามัคคี:

แต่ในกรณีที่คุณสนใจ Unity จะใช้ผ้า Skinnedและส่วนประกอบผ้าอินเตอร์แอกทีฟของตัวเอง ผ้าแบบโต้ตอบรองรับการฉีกขาด แต่การสนับสนุนสำหรับพวกเขานั้น จำกัด เพียงไม่กี่แพลตฟอร์มเท่านั้นที่ฉันตรวจสอบล่าสุด

ใช้คุณ:

ในท้ายที่สุดคุณสามารถใช้ซอฟท์แวร์ตัวจำลองของคุณเองได้ตลอดเวลา นี่คือตัวอย่างงานวิจัยที่ได้รับความนิยม มันสนุกมาก :) โชคดี.


1

@ คำตอบของ originalDaemon เป็นสิ่งที่ดี! ฉันคิดว่ามีทางตรงกลางที่อาจได้ผลลัพธ์ที่ดีกว่าวิธีแรกและจะใช้ความพยายามพอสมควร (อาจแตกต่างจากวิธี "The Hard Way")

สิ่งที่ฉันแนะนำคือแบบจำลอง "เว็บ" ของชีสจริง ๆ แล้วมันดูเหมือนหินย้อยกับฉันมาก ทำตัวเป็นชีสทอดยาวสองสามชิ้น วางตำแหน่งเหล่านั้นบนขอบของความอร่อยสามเหลี่ยมและปรับให้เป็น 0 y-axisและเมื่อสามเหลี่ยมถูกลบออกจาก Compadres ของพวกเขาช้าขนาดพวกเขาในแกน y กลับไปที่ขนาดที่ต้องการ

คุณอาจต้องเลือกแกนอื่นแทนyหากคุณวางแผนที่จะดึงสามเหลี่ยมออกไปเล็กน้อย ทั้งสองวิธีฉันรู้สึกว่าแม้ว่าพื้นผิวที่เรียบจะง่ายกว่าและคุ้มค่ามาก แต่การสร้างแบบจำลองของชีสสามารถทำให้เหมือนจริงมากขึ้นสำหรับการถ่ายระยะใกล้แม้ว่าเนื้ออาจทำงานได้เช่นกัน หากคุณเลือกพื้นผิวอาจใช้มากกว่าหนึ่งเลเยอร์เพื่อให้ได้ความรู้สึกที่สมจริงยิ่งขึ้น อย่าลืมเพิ่มไอน้ำเล็กน้อยเพื่อเน้นความร้อนของพิซซ่าในช็อตเด็ด

อีกสิ่งที่ฉันสังเกตเห็นคือมันดูเหมือนว่าเป็ปเปอร์โรนีเป็นเพียงพื้นผิวในขณะนี้ ฉันจะพิจารณาแบบจำลองหรือเพิ่มรายละเอียดบางอย่างในพื้นที่นั้นกับโมเดลที่มีอยู่ คุณสามารถทำให้มันเลื่อนลงด้วยชีสยืดเพื่อเพิ่มความสมจริง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.