Varför är det viktigt att tillämpa transformation på objektdata?

Jag har sett flera självstudier och mycket ofta använde de platsen, rotationen eller skalan på objektet när de transformerade det i Objektläge. De sa alltid det är viktigt, men varför?

Kommentarer

Svar

För en styv kroppsfysiksimulering kan extrema otillämpade skaltransformationer orsaka mycket märkbara konstiga resultat, som onaturligt snabba eller långsamma rotationer beroende på om objektet skalas upp eller ner:

ange bildbeskrivning här

Från wiki :

Om dynamisk skalning inte behövs, bör styva kroppsobjekt ha skalan tillämpas med hjälp av ”Apply Scale” -operatören.

Otillämpad rotation tenderar att göra simuleringen mer instabil:

ange bildbeskrivning här

Kommentarer

  • Okej tack. Så det behövs bara för fysik?
  • @BlenderShark Nej, det finns också andra fall, t.ex. exporterar. Även om de flesta exportörsskript borde ha möjlighet att göra detta åt dig.
  • @ gandalf3 Hur tillämpar du skala och rotation? Så vitt jag ser i dessa simuleringar verkar objekten ha samma rotation och skala. Jag tror att jag ' inte vet vad skala och rotation betyder i det här sammanhanget.
  • @Amir Ctrl+A. Varje objekt har en skala, rotation och position med vilken den underliggande nätdata transformeras innan de visas. Att tillämpa en viss komponent transformerar maskdata permanent och återställer objekttransformationen till 0.
  • @ gandalf3 ser jag. Tack. Här ' hur människor kan göra det via Python: 1) välj ditt objekt så att bpy.context.scene.objects.active pekar på det 2) bpy.ops.object.transform_apply(location = False, scale = True, rotation = True)

Svar

Kort svar: det beror på .

Att tillämpa transformation kan vara viktigt men det handlar mest om vad du tänker göra med objekten.

Om man tittar på detta ur en förenklad synvinkel skulle det helst inte ha någon roll och allt skulle fungera bra även när det skalades / roteras.

En bra tumregel är:

Tillämpa rotation och skala på dina modeller såvida du inte har en anledning att inte göra det.

Transformation delas upp i översättning / rotation / skala, generaliseras på Blenders support:

  • roterade objekt (väl stödda)
  • översatta objekt (väl stödda)
  • skalade objekt (väl stödda)
  • icke-enhetliga skalade objekt
  • negativt skalade objekt

De två sista kan orsaka problem med modifierare, begränsningar och vissa verktyg. Även om det för grundläggande operationer fungerar bra finns det sällan en god anledning att ha negativ skala.

Överväganden:

  • De flesta modifierare tillämpas före skalan. Så effekten av en fasning eller stelning kan vara klämd med icke-enhetlig skala. Armatur och krokmodifierare är ett undantag från detta regel.
  • Negativ skala vänder objektets normaler (när ett udda antal axlar vänds) .
  • Mest redigeringsläge verktyg som jämn underdelning tar inte hänsyn till ojämn skala.
  • Rotation och skala kan orsaka problem med armaturer, särskilt när de exporteras till olika format.
  • Styv kroppsfysik stöder inte skalade objekt väl (detta kan ses som ett fel, men som det står fungerar det inte bra) .
  • Skala tillämpad efter föräldraskap kommer att tillämpas på barn, om du har komplexa föräldra / barn-inställningar – det är mindre problem om du bara skalar objekt vid behov.
  • Extrema skalvärden >1000.0 eller <0.0001 (ett stort objekt nedskalat eller ett litet objekt uppskalat ) kan orsaka problem med matematisk precision i flytande punkt i redigeringsläge, även för andra beräkningar.

Områden som skalas / transformerade objekt är fina:

  • Statiskt landskap ( kanske du vill ha stenar av olika storlek). Objekt som inte rör sig eller interagerar med andra objekt via modifierare, begränsningar etc.
  • När det är avsiktligt – ett objekt sträcker sig (animera skalan med en studsande boll).

Kommentarer

  • Jag skulle inte ' rekommenderar att du använder rotation som en allmän regel. Ofta är det bra att ALT + D (länk duplicera) ett objekt, rensa det ' s rotation med ALT + R och modifiera den i den ' s ursprungliga tillstånd.

Svar

Det är också viktigt att använda skalan när man gör UV-avpakning. När du skalar ett objekt i objektläge ser UV-avvikelsen inte skalan, det kommer att packa upp nätet som om du hade har inte skalats.

Skalan tillämpas inte

ange bildbeskrivning här ange bildbeskrivning här

Skala tillämpad

ange bildbeskrivning här ange bildbeskrivning här

Kommentarer

  • Detta är mycket hjälpsam. Om du använder rutmönstret för att kontrollera din uv-packning och se dåliga resultat kan det ibland vara så att du behöver använda transformeringen. Jag ' är inte säker men jag antar att du borde göra det för allt du uv packar upp

Svar

Jag antar att mitt problem om Array-modifieraren för ett roterat objekt är ett bra exempel. Här är bilderna på vad jag hade, vad jag behövde få genom att lägga till en Array-modifierare och vad jag faktiskt fick:

ange bildbeskrivning här ange bildbeskrivning här ange bildbeskrivning här

Duane Dibbley gav en bra förklaring: om skalning / rotering inte tillämpas , tillämpar Array inte ”bara rotation med avseende på pivoten (Tom), men tillämpar också tidigare icke-tillämpad skalning och rotering!

Svar

Jag fann också att om du är långt in i ditt projekt och inte vill att allt ska bli galet när du tillämpar dina transformationer, fungerar det att använda transformer till delta.

Jag var nästan klar min karaktär och glömde att applicera transformationer, men varje gång jag applicerade dem gick det sönder, min skuggning, mina ögonlock roterar osv. e förvandlas, men hindrade det mesta från att gå sönder.

Du kan göra det genom att trycka på Ctrl + A All Transforms to Deltas

Omvandlar till Delta

Tillämpa omvandlingar till delta är också en alternativ lösning och hindrar saker från att gå sönder!

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *