**Another driver approach** Using the methods outlined in [Left / Right Test](https://blender.stackexchange.com/a/105226/15543) Purely checks to see if camera is on left or right of an object, where local z is up and y is forward. [![enter image description here][1]][1]<br/> *Result where shapekey is a simple 2x z scaling.* Copy the script below, paste in text editor and run script to register the driver. import bpy def drive_shapekey(name): cam = bpy.context.scene.camera obj = bpy.context.scene.objects.get(name) if not (cam and obj): print("Driver Error") return 0 mw = obj.matrix_world loc = mw.translation left = mw.to_3x3().transposed()[0] # normal to the plane left = -left if left.x < 0 else left # flip claus d = left.dot((cam.matrix_world.translation - loc).normalized()) return abs(d) bpy.app.driver_namespace["ds"] = drive_shapekey In the shape key of the object you wish to drive, type in #ds("Cube") the hash "#" signals to blender that this is a python driver expression. [![enter image description here][2]][2] to drive that shapekey based on the left or right-ness of the object named "Cube" to the scene's camera. [1]: https://i.sstatic.net/Xtp1t.gif [2]: https://i.sstatic.net/Maswx.png