Hvorfor er det vigtigt at anvende transformation til et objekt data?

Jeg har set flere tutorials og meget ofte anvendte de placeringen, rotation eller skala på objektet, når de transformerede det i Object Mode. De sagde altid det er vigtigt, men hvorfor?

Kommentarer

Svar

For en stiv kropsfysiksimulering kan ekstreme ikke-anvendte skala-transformationer forårsage meget mærkbare mærkelige resultater, såsom unaturligt hurtige eller langsomme rotationer, afhængigt af om objektet skaleres op eller ned:

indtast billedbeskrivelse her

Fra wiki :

Hvis dynamisk skalering ikke er nødvendig, skal stive kropsobjekter have skalaen anvendes ved hjælp af “Apply Scale” -operatøren.

Ikke anvendt rotation har en tendens til at gøre simuleringen mere ustabil:

indtast billedbeskrivelse her

Kommentarer

  • Ok tak. Så det er kun nødvendigt for fysik?
  • @ BlenderShark Nej, der er også andre tilfælde, f.eks. eksporterer. Selvom de fleste eksportørscript skal have mulighed for at gøre dette for dig.
  • @ gandalf3 Hvordan anvender du skala og rotation? Så vidt jeg ser i disse simuleringer, synes objekterne at have samme rotation og skala. Jeg tror, at jeg ' ikke er sikker på, hvad skala og rotation betyder i denne sammenhæng.
  • @Amir Ctrl+A. Hvert objekt har en skala, rotation og position, hvormed de underliggende mesh-data transformeres, før de vises. Anvendelse af en given komponent transformerer mesh-data permanent og nulstiller objekt-transformation til 0.
  • @ gandalf3 ser jeg. Tak skal du have. Her ' hvordan folk kan gøre det via Python: 1) vælg dit objekt, så bpy.context.scene.objects.active peger på det 2) bpy.ops.object.transform_apply(location = False, scale = True, rotation = True)

Svar

Kort svar: det afhænger af .

Anvendelse af transformation kan være vigtig, men det kommer hovedsageligt ned til, hvad du har til hensigt at gøre med objekterne.

Ser man på dette fra et forenklet synspunkt, ville det ideelt set ikke have noget at gøre, og alt ville fungere fint, selv når det skaleres / drejes.

En god tommelfingerregel er:

Anvend rotation og skalering på dine modeller, medmindre du har en grund til ikke at gøre det.

Transformation opdeles i oversættelse / rotation / skala, generaliserende på Blenders support:

  • roterede objekter (godt understøttet)
  • oversatte objekter (godt understøttet)
  • skalerede objekter (godt understøttet)
  • ikke-ensartede skalerede objekter
  • negative skalerede objekter

De sidste 2 kan forårsage problemer med modifikatorer, begrænsninger og nogle værktøjer. Selvom det til grundlæggende operationer fungerer fint, er der sjældent en god grund til at have negativ skala.

Overvejelser:

  • De fleste modifikatorer anvendes før skalering. Så effekten af en skråning eller størkning kan være klemt med ikke-ensartet skala. Armatur- og krogmodifikatorer er en undtagelse fra dette regel.
  • Negativ skala vender objektets normaler (når et ulige antal akser vendes) .
  • Mest redigeringstilstand værktøjer som glat underinddeling tager ikke hensyn til ikke-ensartet skala.
  • Rotation og skala kan forårsage problemer med armaturer, især når de eksporteres til forskellige formater.
  • Stiv kropsfysik understøtter ikke skalerede objekter godt (dette kan ses som en fejl, alligevel, som det står, fungerer det ikke godt) .
  • Skala anvendt efter forældre vil blive anvendt på børn, hvis du har komplekse forældre / barn opsætninger – det er mindre problemer, hvis du kun skalerer objekter når det er nødvendigt.
  • Ekstreme skalaværdier >1000.0 eller <0.0001 (et stort objekt nedskaleret eller et lille objekt skaleret op ) kan forårsage problemer med matematisk præcision med flydende punkt i redigeringstilstand, også til andre beregninger.

Områder, der skaleres / transformerede objekter er fine:

  • Statisk landskab ( måske vil du have sten i forskellige størrelser). Objekter, der ikke bevæger sig eller interagerer med andre objekter via modifikatorer, begrænsninger osv.
  • Når det er forsætligt – et objekt strækker sig (animer skala med en hoppende bold).

Kommentarer

  • Jeg vil ikke ' t anbefale at anvende rotation som en generel regel. Ofte er det nyttigt at ALT + D (link duplikere) et objekt, ryd det ' s rotation med ALT + R og rediger den i den ' s oprindelige tilstand.

Svar

Det er også vigtigt at anvende skala, når du udfører UV-indpakning. Når du skalerer et objekt i objekttilstand, ser UV-udpakningen ikke skalaen, det pakker masken ud som om du havde ikke skaleret.

Skala ikke anvendt

indtast billedebeskrivelse her indtast billedbeskrivelse her

Anvendt skala

indtast billedebeskrivelse her indtast billedbeskrivelse her

Kommentarer

  • Dette er meget nyttigt. Hvis du bruger rutemønsteret til at kontrollere din uv-udpakning og se dårlige resultater, kan det nogle gange være, at du skal anvende transformationen. Jeg ' er ikke sikker, men jeg vil gætte, at du skal gøre det for alt, hvad du uv pakker ud

Svar

Jeg antager, mit problem om Array-modifikatoren for et roteret objekt er et nyttigt eksempel. Her er billederne af, hvad jeg havde, hvad jeg havde brug for ved at tilføje en Array-modifikator, og hvad jeg faktisk fik:

indtast billedbeskrivelse her indtast billedbeskrivelse her indtast billedbeskrivelse her

Duane Dibbley gav en god forklaring: hvis skalering / rotering ikke anvendes , Arrayen anvender ikke kun rotation med hensyn til drejning (tom), men anvender også tidligere ikke-anvendt skalering og rotation!

Svar

Jeg fandt også ud af, at hvis du er langt inde i dit projekt og ikke vil have, at alt bliver skørt, når du anvender dine transformeringer, fungerer det at bruge transformer til delta.

Jeg var næsten færdig min karakter og glemte at anvende transformationer, men hver gang jeg påførte dem, brød noget, min skygge, mine øjenlågs rotationer osv. Anvendelse på delta anvendte e transformeres, men forhindrede de fleste ting i at gå i stykker.

Du kan gøre det ved at trykke på Ctrl + A All Transforms to Deltas

Transformerer til delta

Anvendelse af transformationer til delta er også en alternativ løsning og forhindrer ting i at gå i stykker!

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *