#!BPY """ Name: 'Empty-Tracking Camera' Blender: 246 Group: 'Add' Tooltip: 'A simple target-tracking camera' """ __author__= "Adhi Hargo" __url__= ["blender.org", "adhihargo.net", "blenderindonesia.org"] __version__= "1.00" __bpydoc__= """ """ from Blender import Camera, Constraint, Mathutils, Mesh, Object, Scene, Window from Blender.Mathutils import Vector, Rand def main(): scn = Scene.GetCurrent() scn.objects.selected = [] add_camera(scn) Window.RedrawAll(1) def assign_constraints(cam_obj, trg_obj): cam_obj.constraints.append(Constraint.Type.TRACKTO) cam_track = cam_obj.constraints[-1] cam_track.name = 'Melacak' cam_track[Constraint.Settings.TARGET] = trg_obj cam_track[Constraint.Settings.BONE] = 'Target' cam_track[Constraint.Settings.TRACK] = Constraint.Settings.TRACKNEGZ cam_track[Constraint.Settings.UP] = Constraint.Settings.UPY def add_camera(scn): cx, cy, cz = Window.GetCursorPos() # Target trg_obj = scn.objects.new('Empty') trg_obj.setName('T_ETCamera') trg_obj.nameMode = True trg_obj.setLocation(cx, cy, cz) trg_obj.setEuler(0, 0, 0) trg_obj.emptyShape = Object.EmptyShapes.AXES scn.objects.selected = [] # Camera cam_data = Camera.New('persp', 'ETCamera') cam_data.drawPassepartout = True cam_data.alpha = 0.8 # cam_obj = scn.objects.new(cam_data, 'ETCamera') cam_obj.setEuler(cx, cy, cz) cam_obj.setLocation(cx + 5, cy - 5, cz + 5) # Kalau tanpa kursor kamera cam_obj.nameMode = True print(dir(cam_data)) assign_constraints(cam_obj, trg_obj) scn.objects.camera = cam_obj scn.objects.active = cam_obj scn.update() Window.PoseMode(1) main()