I'd like to increase the reflected light from the two rotating stars off of Suzanne the satellite, without making them appear brighter to the camera so that the pulsing of the two colors is noticeable.
I'd also like to darken the overall scene so there isn't so much "stray light" reflecting off of un-illuminated faces, and so that deep space looks closer to black.
note: I've left the default sun so I can see what I'm doing, I may like to keep it on at least low, to help with depth perception. Camera is 512pix square f=20mm at [7.5, -2, 1.5].
Original light blue color for satellite - The dot is half way between saturated (no red) and the center(equal values) but since that scale is quite non-linear, the value is low, only 0.24 here. Based on suggestions from @Matt I'm changing the color to 100% white [1, 1, 1] now.
import bpy
import numpy as np
pi = np.pi
n_frames = 150 # 5 seconds
binary_period = 30
th_bin = 2 * pi * np.arange(n_frames, dtype=float) / float(binary_period)
rbin = 1.0
x_sat = np.linspace(-5, 5, n_frames)
y_sat = np.zeros_like(x_sat)
z_sat = 3.5 - 0.2*x_sat**2 # parabolic (but velocity not correct yet)
aloc = 0.8*np.vstack((np.cos(th_bin), np.sin(th_bin), np.zeros_like(th_bin))).T
bloc = -aloc
sloc = np.vstack((x_sat, y_sat, z_sat)).T
makeit = True
if makeit:
# create the universe
asiz, bsiz, ssiz = 0.55, 0.55, 0.5
ok = bpy.ops.mesh.primitive_ico_sphere_add(subdivisions=4, size=asiz, location=aloc[0])
a = bpy.context.active_object
a.name = 'a'
ok = bpy.ops.mesh.primitive_ico_sphere_add(subdivisions=3, size=bsiz, location=bloc[0])
b = bpy.context.active_object
b.name = 'b'
ok = bpy.ops.mesh.primitive_monkey_add(radius=ssiz, location=sloc[0])
s = bpy.context.active_object
s.name = 's'
s.rotation_euler = [0, 0, 0.5*pi]
bpy.context.scene.frame_end = n_frames
for i_frame in range(n_frames):
for obj, loc in zip([a, b, s], [aloc, bloc, sloc]):
# print (i_frame, obj.name, loc[i_frame])
obj.location = loc[i_frame]
obj.keyframe_insert(data_path="location", frame=i_frame+1, index=-1)
renderit = True
if renderit:
# from: http://blender.stackexchange.com/a/17840/5334
scene = bpy.context.scene
scene.render.engine = 'CYCLES'
fp = scene.render.filepath # get existing output path
scene.render.image_settings.file_format = 'PNG' # set output format to .png
ffracs = [0.1, 0.5, 0.95]
for i_frame in range(n_frames):
# set current frame to frame 5
scene.frame_set(i_frame+1)
# set output path so render won't get overwritten
scene.render.filepath = fp + 'f01_' + str(i_frame)
bpy.ops.render.render(write_still=True) # render still
# restore the filepath
scene.render.filepath = fp