Skip to content

Commit fd5cf62

Browse files
authored
Merge pull request #99 from soupday/Dev
2.3.2
2 parents c29b71e + 9ed6279 commit fd5cf62

File tree

3 files changed

+20
-9
lines changed

3 files changed

+20
-9
lines changed

btp/cc.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1947,10 +1947,12 @@ def get_all_camera_light_data(no_animation=False):
19471947
}
19481948
for light in lights:
19491949
light_data = get_light_data(light)
1950-
frame_lights.append(light_data)
1950+
if light_data:
1951+
frame_lights.append(light_data)
19511952
for camera in cameras:
19521953
camera_data = get_camera_data(camera)
1953-
frame_cameras.append(camera_data)
1954+
if camera_data:
1955+
frame_cameras.append(camera_data)
19541956
all_data.append(frame_data)
19551957
else:
19561958
time, frame = begin_timeline_scan()
@@ -2103,13 +2105,14 @@ def get_light_data(light: RILight):
21032105
dir_light: RIDirectionalLight = None
21042106
point_light: RIPointLight = None
21052107
light_type = "NONE"
2106-
if type(light) is RISpotLight:
2108+
T = type(light)
2109+
if T is RISpotLight:
21072110
spot_light = light
21082111
light_type = "SPOT"
2109-
elif type(light) is RIPointLight:
2112+
elif T is RIPointLight:
21102113
point_light = light
21112114
light_type = "POINT"
2112-
elif type(light) is RIDirectionalLight:
2115+
elif T is RIDirectionalLight:
21132116
dir_light = light
21142117
light_type = "DIR"
21152118
else:
@@ -2200,6 +2203,9 @@ def get_light_data(light: RILight):
22002203

22012204

22022205
def get_camera_data(camera: RICamera):
2206+
T = type(camera)
2207+
if T is not RICamera:
2208+
return None
22032209
link_id = get_link_id(camera, add_if_missing=True)
22042210
name = camera.GetName()
22052211
time = RGlobal.GetTime()

btp/exporter.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -964,7 +964,9 @@ def export_extra_data(self):
964964
root_json = json_data.get_root_json()
965965

966966
if self.light:
967-
root_json["Object"][self.character_id]["Light"] = cc.get_light_data(self.light)
967+
light_data = cc.get_light_data(self.light)
968+
if light_data:
969+
root_json["Object"][self.character_id]["Light"] = light_data
968970

969971
if json_data is None:
970972
utils.log_error("No valid json data could be found for the export ...")

btp/link.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2897,7 +2897,8 @@ def encode_pose_frame_data(self, actors: list):
28972897

28982898
# pack animateable light data
28992899
light_data = cc.get_light_data(actor.object)
2900-
data += struct.pack("!?fffffffff",
2900+
if light_data:
2901+
data += struct.pack("!?fffffffff",
29012902
light_data["active"],
29022903
light_data["color"][0],
29032904
light_data["color"][1],
@@ -2913,7 +2914,8 @@ def encode_pose_frame_data(self, actors: list):
29132914

29142915
# pack animateable camera data
29152916
camera_data = cc.get_camera_data(actor.object)
2916-
data += struct.pack("!f?fffffff",
2917+
if camera_data:
2918+
data += struct.pack("!f?fffffff",
29172919
camera_data["focal_length"],
29182920
camera_data["dof_enable"],
29192921
camera_data["dof_focus"], # Focus Distance
@@ -2983,7 +2985,8 @@ def get_lights_data(self, actors):
29832985
for actor in actors:
29842986
if actor.is_light():
29852987
light_data = cc.get_light_data(actor.get_light())
2986-
data["lights"].append(light_data)
2988+
if light_data:
2989+
data["lights"].append(light_data)
29872990

29882991
return data
29892992

0 commit comments

Comments
 (0)