Actually, IMHO Blender has the best 3D view navigation on the market and I simply love it. I realize that and I cry every time when I have to manipulate some other 3D App views. I don't mind to have a set of widgets that would help, but current shortcut key based navigation is priceless. Only thing that I would like to have is ability to manipulate with cam (or object) view in the same way as I manipulate with every other view.
On 27 April 2011 08:01, Daniel Salazar - 3Developer.com <zan...@gmail.com> wrote: > Yes Ive been thinking in something like that, I think the navigation > is overall too hard and hotkey oriented, lots of local rotations and > grabs without the widgets there to help. I wonder if we could design a > set of in camera view widgets? > > Daniel Salazar > 3Developer.com > > > > On Tue, Apr 26, 2011 at 11:59 PM, Damir Prebeg <blend.fact...@gmail.com> > wrote: >> How bout a pin icon in one corner of camera view so when activated, >> cam view (or any object view) would act as regular view? >> And ALT could be a shortcut key that would temporary glue cam to the >> view (Alt+MMB would rotate cam, CTRL+ALT+MMB would move camera forward >> or backward and SHIFT+ALT+MMB would pan camera?) >> >> On 27 April 2011 07:36, Mats Holmberg <mats.holmb...@2me.fi> wrote: >>> And if this would work for the camera, then it should also work for >>> anything else (lamps mainly). The script didn't work for me on osx - the >>> view is not locked to the camera view and trackballing around loses the >>> camera lock alltogether =) >>> >>> Cheers, >>> -mats >>> >>> On 27.4.2011, at 1.39, Daniel Salazar - 3Developer.com wrote: >>> >>>> @dfelinto(pto): nope, it would need to *stay* in camera view when panning >>>> and dollying around :) >>>> >>>> Daniel Salazar >>>> 3Developer.com >>>> >>>> >>>> >>>> On Tue, Apr 26, 2011 at 12:58 PM, Dalai Felinto <dfeli...@gmail.com> wrote: >>>>>> Below you can find some code for (...) Lock camera to view. >>>>> Isn't this what Ctrl+Alt+Numpad0 do? (align camera to view -- which >>>>> even takes care of non-perspective views) >>>>> >>>>> On my understanding what people are ranting is for the lack of options >>>>> to move while "inside" the camera mode. >>>>> >>>>> -- >>>>> Dalai >>>>> >>>>> 2011/4/26 bartius crouch <bartius.cro...@gmail.com>: >>>>>>> Also a lock camera to view option would be great so we can just move >>>>>>> the camera like we move any other viewport >>>>>> >>>>>> Like Campbell said, that isn't very hard to do in python. Below you can >>>>>> find >>>>>> some code for it. >>>>>> Copy the text below into the text-editor, Run Script (alt+P), go to >>>>>> 3d-view, >>>>>> search (spacebar) for Lock camera to view. >>>>>> >>>>>> >>>>>> >>>>>> import bpy >>>>>> import mathutils >>>>>> >>>>>> >>>>>> class ModalOperator(bpy.types.Operator): >>>>>> '''Move camera along with the viewport''' >>>>>> bl_idname = "view3d.lock_camera" >>>>>> bl_label = "Lock camera to view" >>>>>> >>>>>> @classmethod >>>>>> def poll(cls, context): >>>>>> camera = context.scene.camera >>>>>> if not camera: >>>>>> return(False) >>>>>> return(camera.name in context.scene.objects) >>>>>> >>>>>> def modal(self, context, event): >>>>>> camera = context.scene.camera >>>>>> rv3d = context.space_data.region_3d >>>>>> >>>>>> # rotation + location >>>>>> camera.matrix_world = rv3d.view_matrix.copy().inverted() >>>>>> >>>>>> # override location to take view_distance into account >>>>>> rotation = rv3d.view_matrix.copy().to_3x3().inverted() >>>>>> z_normal = mathutils.Vector([0.0, 0.0, 1.0]) * rotation >>>>>> camera.location = rv3d.view_location + (rv3d.view_distance * >>>>>> z_normal) >>>>>> >>>>>> # handle events >>>>>> if event.type in ['LEFTMOUSE', 'NUMPAD_ENTER', 'RET']: >>>>>> context.area.header_text_set() >>>>>> return {'FINISHED'} >>>>>> elif event.type == 'ESC': >>>>>> camera.matrix_world = self.camera_matrix >>>>>> context.area.header_text_set() >>>>>> return {'CANCELLED'} >>>>>> >>>>>> return {'PASS_THROUGH'} >>>>>> >>>>>> def invoke(self, context, event): >>>>>> context.window_manager.modal_handler_add(self) >>>>>> self.camera_matrix = context.scene.camera.matrix_world.copy() >>>>>> context.space_data.region_3d.view_perspective = 'PERSP' >>>>>> context.area.header_text_set("ESC to cancel, ENTER or LMB to >>>>>> confirm") >>>>>> return {'RUNNING_MODAL'} >>>>>> >>>>>> >>>>>> def register(): >>>>>> bpy.utils.register_class(ModalOperator) >>>>>> >>>>>> >>>>>> def unregister(): >>>>>> bpy.utils.unregister_class(ModalOperator) >>>>>> >>>>>> >>>>>> if __name__ == "__main__": >>>>>> register() >>>>> _______________________________________________ >>>>> Bf-committers mailing list >>>>> Bf-committers@blender.org >>>>> http://lists.blender.org/mailman/listinfo/bf-committers >>>>> >>>> _______________________________________________ >>>> Bf-committers mailing list >>>> Bf-committers@blender.org >>>> http://lists.blender.org/mailman/listinfo/bf-committers >>> >>> _______________________________________________ >>> Bf-committers mailing list >>> Bf-committers@blender.org >>> http://lists.blender.org/mailman/listinfo/bf-committers >>> >> _______________________________________________ >> Bf-committers mailing list >> Bf-committers@blender.org >> http://lists.blender.org/mailman/listinfo/bf-committers >> > _______________________________________________ > Bf-committers mailing list > Bf-committers@blender.org > http://lists.blender.org/mailman/listinfo/bf-committers > _______________________________________________ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers