Az objektum forgatása a tengelyen két pont között

Van egy objektumom, és két olyan ponttal kell körbeforgatnom az egész objektumot. A forgási pontokhoz két üreget hoztam létre, és el kell forgatnom egy tengely körül, amelyet a két üreg közötti vonal alkot. Próbáltam eredménytelenül hozzáadni az objektumkorlátozásokat. Az alábbi képen el kell forgatnom a háromszöget a piros vonal tengelye körül.

Megjegyzések

  • Hasonló egy másik kérdéshez. Kipróbálhatja így .
  • Mivel feltettem ezt a kérdést, a Blender 2.8 ezt bevezette megfelelő, könnyen elérhető szolgáltatásként. Görgessen lefelé a régi válaszok mellett a könnyű megoldás érdekében. (Egyébként a

t a régebbi válaszokat alulírja – azok mindenki számára hasznosak, akik a Blender régebbi verzióját használják.)

Válasz

A 3D nézetben számos transzformációs tájolás áll rendelkezésre, amelyek meghatározzák, hogy egy objektum milyen irányban mozog az adott tengely mentén.

írja ide a kép leírását

Ha ezek az opciók nem felelnek meg a feladatnak, akkor megadhat egy egyéni tájolást . Ez a beállítás a tulajdonságok sávban érhető el N

írja ide a kép leírását

egyszerűen, ha hozzáad egy objektumot, és 23,6 fokkal elforgatja azt a z tengelyen, majd egy egyedi tájolás megadására használja, akkor ezt a tájolást használhatja egy másik objektum mozgatására, elforgatására vagy méretezésére ugyanazon az x és y tengely mentén, amely 23,6 fokos távolságra az x és y világ tengelyétől.

Ennek használatához, ha két üres hely van a helyén –

  1. Válasszon ki egy emp ty-t, és nyomja meg a Shift S gombot, és válassza a Kurzor a kijelölthez elemet.
  2. Adjon hozzá egy síkot és skálázzon nullára az x tengelyen ( S X 0 Enter ).
  3. Engedélyezze a csúcsra történő kattintást írja be a kép leírását itt a 3D-s fejlécben.
  4. Győződjön meg arról, hogy a nézet egy előre beállított (bal, felső, elülső …) oldalhoz igazodik, amely egyenesen a két üreget nézi, hogy az egyetlen szög a kettő a meghatározni kívánt szög. Ha olyan tájolást szeretne meghatározni, amely egynél több tengelyt változtat, akkor a következő lépést három nézetből többször is megismételheti, hogy megfelelő legyen az igazítás.
  5. Kezdje el forgatni a síkot R és vigye a kurzort a második üres fölé. Ha az üres közepe körül egy kör látható, amely azt mutatja, hogy az bepattan, fogadja el a forgatást. A sík elforgatása most meg fog egyezni a két ürítés közötti szöggel.
  6. Mutassa meg a tulajdonságok oldalsávot, és keresse meg az Átalakítás tájolása panelt, az kép megadásával hozzon létre egy új tájolást. leírás itt.

A sík most törölhető, és az új transzformációs tájolás felhasználható más objektumok mozgatására vagy elforgatására a két ürítés közötti vonallal párhuzamos tengely mentén. .

Ha egyéni tájolás van kiválasztva, akkor a X X , Y Y és Z Z parancsikonok, amelyeket általában a helyi tengelyen mozognak, az egyedi tengelyt fogják használni a helyi tengely helyett.

Válasz

Valójában nincs szükség a két üresség létrehozására, ha csak egy képzeletbeli tengelyt akarsz alkotni. Úgy gondolom, hogy a viszonylag egyszerű és gyors művelet a következő lenne:

Ha szerkesztési módban szeretné megtenni :

  1. Jelölje ki az összes elforgatni kívánt elemet, majd tartsa lenyomva a Shift gombot, és kattintson kétszer arra az élre, hogy aktívvá váljon;
  2. Alt . (pont), Shift Numpad 1 ;
  3. R a kívánt forgatáshoz, majd Enter . Kész.

írja ide a kép leírását


Ha a Objektum mód:

  1. Jelöljön ki egy vagy több objektumot, ellenőrizze, hogy a célobjektumot utoljára választotta-e ki. Válassza ki a céléleket Szerkesztés módban;
  2. Shift S Kurzor a kiválasztottra, . (pont), Shift Numpad 1 ;
  3. Vissza ide: Objektum mód, R forgatáshoz, Enter . Kész.

írja ide a kép leírását

PS: Természetesen megnyomhatja az Alt szóközt , hogy Normál koordinátarendszer az egyszerű megítéléshez, vagy CtrlAlt szóköz egy új transzformációs orientáció létrehozása / tárolása az alapján további felhasználás céljából, ahogy mások is említik. Csak a leggyorsabb és pontos módszert szeretném javasolni.

Megjegyzések

  • Azok számára, akik nem tudják ‘ t, Alt+. megváltoztatja a forgáspontot az aktív elemre. A többi pivot opciót az árnyékolási lehetőségek mellett található menüben láthatja.

Válasz

Kézi út

Először válassza ki az egyik kiürítést, és nyomja meg a SHIFT + S Cursor to Selected gombot. írja ide a kép leírását

majd MMB a nézet forgatásához, amíg a kettő ki nem ürül. írja ide a kép leírását

Most nyomja meg a . (pont) gombot a 3D kurzor forgáspontjának beállításához. Végül válassza ki az objektumot, és nyomja meg az R gombot a forgatáshoz.

Pythonikus út

Ez a szkript a két ürítés közötti vektort és a forgatást a 3D kurzor körül .

import bpy from mathutils import Vector def main(): C = bpy.context D = bpy.data #rotation set to 90 degrees (rotation in radians) rotation = (6.283185/4) #Save objects by their presumed names empty0 = D.objects["Empty"] empty1 = D.objects["Empty.001"] object_to_rot = D.objects["Suzanne"] #################################################### #set pivot point to be one of the empties by temporarily placing cursor there #use of Vector() here is to avoid copying reference to cursor location old_cursor_loc = Vector(CursorAccess.getCursor()) CursorAccess.setCursor( empty0.location ) CursorAccess.findSpace().pivot_point = "CURSOR" #make object the active object C.scene.objects.active = object_to_rot #get axis we rotate around rotation_axis = empty1.location - empty0.location #override the rotate operator override = get_override("VIEW_3D", "WINDOW") bpy.ops.transform.rotate( override, value=rotation, axis=rotation_axis ) #restore old cursor position CursorAccess.setCursor( old_cursor_loc ) def get_override(area_type, region_type): """Returns a dictionary which can be used to override certain bpy operators""" for area in bpy.context.screen.areas: if area.type == area_type: for region in area.regions: if region.type == region_type: override = {"area": area, "region": region} return override #error message if the area or region wasn"t found raise RuntimeError("Wasn"t able to find", region_type," in area ", area_type, "\n Make sure it"s open while executing script.") class CursorAccess: """This code allows you to set and get the cursor location. It came from the addon Cursor Control http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/3D_interaction/Cursor_Control""" @classmethod def findSpace(cls): area = None for area in bpy.data.window_managers[0].windows[0].screen.areas: if area.type == "VIEW_3D": break if area.type != "VIEW_3D": return None for space in area.spaces: if space.type == "VIEW_3D": break if space.type != "VIEW_3D": return None return space @classmethod def setCursor(cls,coordinates): spc = cls.findSpace() spc.cursor_location = coordinates @classmethod def getCursor(cls): spc = cls.findSpace() return spc.cursor_location if __name__=="__main__": main() 

Válasz

Ezt a következővel teheti meg: Mesh Align Plus (a kiegészítőm). Vagy nézze meg a GIF lépéseit, vagy olvassa el az alábbi szöveges verziót (rögzítettem a fent leírt beállítást, majd néhány általánosabb példát arra az esetre, ha hasonlót akarna csinálni):

írja ide a kép leírását

A keresett funkció a Quick Axis Forgatás operátor a 3D nézet Eszközök panel (T)> Mesh Align Plus fül n, saját paneljén.

  1. Válasszon ki egy céltengelyt szerkesztési módban (Tab) a Shift + jobb egérgombbal a két élellenőrzés kiválasztásához (hagyja őket kiválasztva, és ellenőrizze, hogy Forrás automatikus megragadása be van jelölve, alapértelmezés szerint ez van)

  2. Írja be a forgatási szöget az Összeg mezőhöz, és az objektummal, amelyet alkalmazni szeretne, forgatás a kijelöltre, nyomja meg az Alkalmazás: Objektumhoz

Válasz

Válasszon céltengelyt (élt) Szerkesztés módban.

Pattintsa a 3D kurzort a kijelölt élre ( Shif t + S és kattintson a Kurzor a kiválasztottra elemre.

Állítsa a 3D kurzort forgópontként ( billentyűzetidőszak gomb ).

Nyissa meg a Tulajdonságok polcot N , és lépjen a Tranfsorm Orientation bevezetésre a panel.

Kattintson a “plusz” gombra az új transzformációs tájolás létrehozásához (vagy nyomja meg a Ctrl + Alt + szóköz billentyűt) .
Ellenőrizze, hogy a létrehozott tájolás aktív-e.

Most a R és a Y + Y megnyomásával elforgathatja az élet. (az adott él helyi Y tengelye mentén).

Válasz

Turmixgép 2.8+

Ez a Blender legújabb kiadásaiban lényegesen egyszerűbb.

Videó bemutatása

Szerkesztési módban válassza ki a két pontját (a Vertex Select módban) vagy az élét ( Edge Select módban).

Nyissa meg az Transformation orientation felugró ablakot:

Átalakítás tájolása

Ezután kattintson a Tájolás létrehozása + ” gomb:

Tájolás létrehozása

Ez létrehoz egy egyéni transzformációs tájolást, valószínűleg alapértelmezés szerint ” Edge ” nevet kap. Győződjön meg róla, hogy ki van jelölve, ha használni szeretné, vagy ha végzett, váltson vissza a Globális alapértelmezett értékére. Az egyéni átalakítási tájolást a ” X ” a neve mellett:

Egyéni átalakítás

Amikor az egyéni átalakítási tájolás aktív, forgathat Y tengelye mentén a R Y gombbal, vagy használhatja a Forgatás gizmot:

Gizmo forgatása A használatban lévő gizmo forgatása

Válasz

Nem szeretem a meglévő válaszokat. Először elmondom, miért. Ezután felajánlom a saját megoldásomat.

Először is, ez nem olyan, amihez bármilyen kiegészítőre van szükség, és ha telepíthető, akkor egyszerűen nem szükséges telepíteni.

Másodszor, a forgópontok körüli forgatás furcsa interpolációt ad, ha animációban használják. Ennek oka az, hogy nem egyenes forgatás, hanem a forgatás és a fordítás kombinációja. Van, hogy a helyi tengelyektől függően jól fog működni, de előfordul, hogy zavaróan rosszul fog működni.

Harmadszor, az önkényes tengelyek körüli forgatás furcsa interpolációt is eredményezhet, ha az Euler-szögeket használjuk (és a képen csontok hiánya azt sugallja, hogy az Euler-szögeket használja transzformációihoz.) A tetszőleges tengelyek körüli elfordulás az Euler-szögek használatakor könnyen megkaphatja a zavaró furcsaságokat is. Ezt legjobban a ” rubik “kocka bizonyítja ” animációk.

Szóval, mi a megoldás, amelyet támogatnék? Alapvetően azzal, amivel kezdett, de nem tudta befejezni: egy pár ürítés és megkötés. Kezdje azzal a pár ürítéssel, amely rendelkezik, az egyik bármelyik pontban, amely meghatározza a tengelyét. Még nincs semmi szülő. Ezután adjon egy üresnek egy nedves nyomon követi a másik üres célzását. Végül szülőd be azt az objektumot, amelyet el akarsz forgatni a korlátozott üresre. Az objektum elforgatásához forgasd üresen a szülőt a Y Y tengelyében. tengelyek és esetleg fordítás / skála; érdemes beállítani deltákat is hozzá.)

Ehhez nincs szükség kiegészítőkre, csak a szabványos Blender eszközöket használva, és jó interpolációt biztosít transzformációs módtól és tengelyektől függetlenül, mert az összes elforgatás egy üres tengelye lesz.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük