@@ -44,6 +44,7 @@ def create_task(self, context):
44
44
if cars [0 ].loco_graphics_helper_vehicle_properties .is_airplane :
45
45
self .task_builder .set_cast_shadows (
46
46
True )
47
+ self .task_builder .set_palette (self .palette_manager .get_shadow_palette ())
47
48
self .add_airplane_shadow_render_angles (cars [0 ])
48
49
else :
49
50
bogies = [x for x in context .scene .objects if x .loco_graphics_helper_object_properties .object_type == "BOGIE" ]
@@ -74,6 +75,7 @@ def should_render_feature(self, key, props):
74
75
def add_render_angles (self , car_object ):
75
76
props = car_object .loco_graphics_helper_vehicle_properties
76
77
is_bogie = car_object .loco_graphics_helper_object_properties .object_type == "BOGIE"
78
+ target_object = car_object
77
79
animation_frames = props .number_of_animation_frames
78
80
roll_frames = 1 if props .roll_angle == 0 else 3
79
81
@@ -107,6 +109,14 @@ def add_render_angles(self, car_object):
107
109
108
110
start_output_index = self .task_builder .output_index
109
111
112
+
113
+ if track_section [2 ] < 0 and props .is_airplane :
114
+ # We don't want to render anything so we are setting the target
115
+ # to the rig (could use anything though that can't render)
116
+ target_object = bpy .data .objects ['Rig' ]
117
+ else :
118
+ target_object = car_object
119
+
110
120
for i in range (num_viewing_angles ):
111
121
if roll_frames != 1 :
112
122
roll_angles = [0 , props .roll_angle , - props .roll_angle ]
@@ -115,19 +125,19 @@ def add_render_angles(self, car_object):
115
125
self .task_builder .set_rotation (
116
126
base_view_angle , roll_angle , vertical_angle = track_section [2 ])
117
127
self .task_builder .add_frame (
118
- frame_index , num_viewing_angles , i , j , rotation_range , car_object )
128
+ frame_index , num_viewing_angles , i , j , rotation_range , target_object )
119
129
else :
120
130
number_of_animated_and_other_frames = animation_frames + props .braking_lights
121
131
for j in range (animation_frames ):
122
132
frame_index = start_output_index + i * number_of_animated_and_other_frames + j
123
133
self .task_builder .add_frame (
124
- frame_index , num_viewing_angles , i , j , rotation_range , car_object )
134
+ frame_index , num_viewing_angles , i , j , rotation_range , target_object )
125
135
126
136
if props .braking_lights :
127
137
self .task_builder .set_layer ("Braking Lights" )
128
138
frame_index = start_output_index + i * number_of_animated_and_other_frames + animation_frames
129
139
self .task_builder .add_frame (
130
- frame_index , num_viewing_angles , i , 0 , rotation_range , car_object )
140
+ frame_index , num_viewing_angles , i , 0 , rotation_range , target_object )
131
141
self .task_builder .set_layer ("Editor" )
132
142
133
143
def add_airplane_shadow_render_angles (self , car_object ):
@@ -140,7 +150,7 @@ def add_airplane_shadow_render_angles(self, car_object):
140
150
self .task_builder .set_rotation (
141
151
base_view_angle , 0 , vertical_angle = track_section [2 ])
142
152
143
- num_viewing_angles = int (props .flat_viewing_angles )
153
+ num_viewing_angles = int (int ( props .flat_viewing_angles ) / 2 )
144
154
145
155
rotational_symmetry = props .rotational_symmetry
146
156
0 commit comments