Using UV Map
If that's a NASA mars projection, chances are it's an equirectangular, ie longs -180 to 180 mapped 0 to 1 in U and lats -90 to 90 0 to 1 in V. To make it rotate around the pole to pole axis increment, ie translate (not rotate) the U coordinate. The default uv sphere UV is pretty much the equirectangular projection.
Result with default UV map ...
The most straight forward and "useful" thing that I managed to find online is as follows:
Select the 3D Cursor tool
Open the properties tab (N), check "surface select" and select "Geometry"
Click on a face: the cursor will stick to that face and orient itself so it's normal to the face
Go to edit mode and select the "Add Box" tool
Click and drag
Similarly to the answer to Convert mouse movement into rotation value (not in bge), customized to make the all selected objects rotate about the active object.
Need to subtract the pivot point of the rotation, which gives the "pivot arm" vector for the rotation. In the previous answer, where just the active object was being rotated it had been hard coded ...
You cannot manipulate keyframes in local transform, they are stored and displayed in global transform only.
But you can parent the plane to an Empty and orient the plane through it. The plane's global animation is then transformed into local space of the Empty. This might be useful for simple short movements, but non-usable for larger animations. With more ...
You have to change the frame in your for-loop via Scene.frame_set():
By the way, I would not use obj.location, rotation_euler etc. because they do not contain the final location, rotation and so on.
For example, parent your camera to an object, then rotate the object - the camera.rotation_euler will not change.
You should ...
Nevermind. I discovered the solution. All manipulation tools have their own definition of Trasform Orientations that will only respect the TO of the viewport if it is as 'default'.
As my Move Tool was with Transform Orientations = Normal, it was no use changing the TO of the viewport. Just set to 'default' to resolve.
Thank you. I'll leave the topic to ...
Yeah that exists in Blender 2.8 as well as in 2.7.
Just select the object or objects you want to apply the rotation to first (press shift to select multiple objects).
Then also select the object you want to copy the rotation from at the very last.
Then open the Properties Region (menue on the right side , shortcut [n]).
There you hover over the rotation ...
Snap 3D cursor to camera
Set pivot point to be the 3D cursor
You don't want to just move them, scaling take into account how far you are from the camera so that your cube will look exactly the same from the camera perspective.
GG can actually extend edges beyond existing bounds.
Either: drag slightly inwards to establish the edges you're sliding along, and then hit C or hold Alt while dragging outwards along the (now displayed) extended edges,
Or Go into the 'Adjust Last Operation' panel, and uncheck 'Clamp'
It's always worth checking operator options displayed at the bottom ...
You can move the camera exactly as your would move the viewport by just enabling "Lock Camera to View" in the view section of the properties panel (n), and then move your viewport: your camera will automatically follow.
The first job is to get the origin of the Collection Instance in the right location and orientation with respect to its component objects.
When a Collection Instance is created, all its component objects retain their World Transforms, with respect to the collection's origin (represented by an Empty). While you can move the origin of a collection using the ...
There is no functionality for that in Blender currently, however you can construct some geometry with knife project tool for snapping to it:
If you separate parts of geometry you can then undo changes for the mesh currently in edit mode and separated objects remain in case it is complex geometry you would be working with and it would not be practical to ...
Exactly... You can easily solve this using the 3d cursor...
First be sure that you set the pivot point to the 3d cursor (in object mode):
Back in edit mode you select the edge where you want the center of rotation and hit Shift+S to set the 3d cursor to that edge:
Problem solved, if your cursor is at the right place you can rotate everything around that ...
there is a keyframe set on your object. That's why it moves back to original location and scales down.
You will need to open the N-Panel (see below) by hitting N and then right-click on any illumined fields and choose "Clear Keyframes"
As for not being able to apply the location, your object is a multi-user (it shares data with other objects). You will ...
You have some more options depending on your needs...
Shrink/Fatten with Alt-S (displaces vertices along normals) If you need even thickness modify with Alt.
Or Set the Transform Orientation to Normal and move the face.
In Edit Mode, create a Custom Orientation from the face. (That's the '+' in the orientation dropdown at the top of the view, in 2.8 .) Check 'Use After Creation'..Then back in Object Mode, use it, with SZZ
However, it's probably better to A select the whole mesh in Edit mode, and scale that, because non-uniform scaling of the object (giving the object a ...
Applying rotation accumulates
As I was poorly trying to point out in comment applying the translation matrix from value will have a cumulative effect. (no matter what direction)
Use the delta value calculated from previous value.
Other minor changes, use self in the setter getter, rather than relying on bpy.context.object is self If you want context ...
The pose (location and orientation) of the circles was already contained within the math. The reason why the code wasn't adding the correct orientation (only location) was because of my poor coding. After I coded it, I re-coded some portions and didn't adjust the math properly. Specifically, I bisected the sphere at a different location to be able to ...
How have you rotated the cube?
Local transform orientations do follow the object's transforms.
But If you've rotated the cube in edit mode instead of object mode, then you have rotated only the mesh inside the object. Not the object itself, which rotations haven't changed.
Yay! I actually managed myself to make a brute-force artist-made stupid script that seemed to actually work well for the many types of situations one faces with 100s of different polygon-objects.
Select an object with less polygons than 2000 (otherwise it takes ages, 500 polys takes like 30 seconds)
Run the script
# WARNING: This is quite a heavy ...
With the armature selected switch to Edit Mode, select the bone you want, and the location of the point it rotates around is displayed in the Properties panel (N) under Head:
To automate this open a Text Editor window and run this code:
obj = bpy.context.active_object
if obj.mode is not 'OBJECT': bpy.ops.object.set_object_mode()
for bone in ...
Tell me if this is what you want:
Create you first object and rotate it.
Create your second object, put its origine on its base (with Cursor to Selected then Origin to Cursor).
Activate the Snap tool of your horizontal menu bar, choose Face mode, enable all options.
Grab your second object, it will snap on the surface of the first one.
You can assign an ...
You should just be able to correct bone roll in edit mode, which won't deform the mesh. This may still cause issues if you have some constraints specified in world space, but should otherwise be fine. In python this would be changing the EditBone, not the PoseBone.
Snap Shift+S the cursor to vertices that will align it where you want the object to be (e.g., four corner vertices that are equally spaced apart vertically and/or horizontally).
Snap Shift+S the object to the cursor position.
Note: this assumes that the origin is at the center of the single plane. If not, you could set the origin to the center with Shift+...