Taxi demo update with sedan
This commit is contained in:
@@ -2,7 +2,9 @@ project(vehicles)
|
||||
|
||||
set(VEHICLES_SRC boat-big.blend boat.blend
|
||||
boat-gobbot.blend boat-sails.blend
|
||||
raft.blend tiny-boat.blend)
|
||||
raft.blend tiny-boat.blend
|
||||
forklift.blend crate.blend pad.blend
|
||||
wall.blend sedan-a.blend sedan-taxi.blend)
|
||||
set(VEHICLE_OUTPUT_FILES)
|
||||
|
||||
foreach(VEHICLE_FILE ${VEHICLES_SRC})
|
||||
@@ -22,4 +24,46 @@ foreach(VEHICLE_FILE ${VEHICLES_SRC})
|
||||
list(APPEND VEHICLE_OUTPUT_FILES ${VEHICLE_OUTPUT_FILE} ${CMAKE_BINARY_DIR}/resources/vehicles/${FILE_NAME}.scene)
|
||||
endforeach()
|
||||
|
||||
# Convention-built drivable vehicles: same mesh/material export plus a
|
||||
# generated scene-entity JSON fragment (<name>.vehicle.json, see
|
||||
# assets/blender/scripts/gen_vehicle.py and vehicles/CAR_MODELING.md).
|
||||
set(VEHICLES_GEN_SRC sedan-v2.blend)
|
||||
|
||||
foreach(VEHICLE_FILE ${VEHICLES_GEN_SRC})
|
||||
get_filename_component(FILE_NAME ${VEHICLE_FILE} NAME_WE)
|
||||
set(VEHICLE_OUTPUT_FILE ${CMAKE_BINARY_DIR}/resources/vehicles/${FILE_NAME}.glb)
|
||||
set(VEHICLE_JSON_FILE ${CMAKE_BINARY_DIR}/resources/vehicles/${FILE_NAME}.vehicle.json)
|
||||
add_custom_command(
|
||||
OUTPUT ${VEHICLE_OUTPUT_FILE} ${CMAKE_BINARY_DIR}/resources/vehicles/${FILE_NAME}.scene ${VEHICLE_JSON_FILE}
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/resources/vehicles
|
||||
COMMAND ${BLENDER} ${CMAKE_CURRENT_SOURCE_DIR}/${VEHICLE_FILE}
|
||||
-b -Y -P
|
||||
${CMAKE_SOURCE_DIR}/assets/blender/scripts/gen_vehicle.py
|
||||
-- ${VEHICLE_OUTPUT_FILE} ${VEHICLE_JSON_FILE}
|
||||
COMMAND ${CMAKE_COMMAND} -D FILE=${CMAKE_BINARY_DIR}/resources/vehicles/${FILE_NAME}.glb -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/check_file_size.cmake
|
||||
COMMAND ${CMAKE_COMMAND} -D FILE=${CMAKE_BINARY_DIR}/resources/vehicles/${FILE_NAME}.scene -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/check_file_size.cmake
|
||||
COMMAND touch ${VEHICLE_OUTPUT_FILE}
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${VEHICLE_FILE} ${CMAKE_SOURCE_DIR}/assets/blender/scripts/gen_vehicle.py)
|
||||
list(APPEND VEHICLE_OUTPUT_FILES ${VEHICLE_OUTPUT_FILE} ${CMAKE_BINARY_DIR}/resources/vehicles/${FILE_NAME}.scene ${VEHICLE_JSON_FILE})
|
||||
endforeach()
|
||||
|
||||
add_custom_target(import_vehicles ALL DEPENDS ${VEHICLE_OUTPUT_FILES})
|
||||
|
||||
# One-step vehicle refresh: re-export changed .blend files (import_vehicles),
|
||||
# re-stage the resources for the editScene runtime and re-merge the generated
|
||||
# vehicle entity JSONs into the demo-taxi scenes. NOTE: the merge step EDITS
|
||||
# the source scene JSONs under src/features/editScene/demos/demo-taxi (that is
|
||||
# the point - merge_vehicle.py preserves entity id/name/transform, so hand
|
||||
# edits to placement survive). Run after editing a vehicle .blend:
|
||||
# cmake --build <build-dir> --target update_vehicles
|
||||
set(DEMO_TAXI_DIR ${CMAKE_SOURCE_DIR}/src/features/editScene/demos/demo-taxi)
|
||||
add_custom_target(update_vehicles
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
${CMAKE_BINARY_DIR}/resources
|
||||
${CMAKE_BINARY_DIR}/src/features/editScene/resources
|
||||
COMMAND python3 merge_vehicle.py demo_scene_vehicletest.json
|
||||
${CMAKE_BINARY_DIR}/resources/vehicles/sedan-v2.vehicle.json sedan1
|
||||
COMMAND python3 merge_vehicle.py demo_scene_exterior.json
|
||||
${CMAKE_BINARY_DIR}/resources/vehicles/sedan-v2.vehicle.json sedan_plain
|
||||
WORKING_DIRECTORY ${DEMO_TAXI_DIR}
|
||||
DEPENDS import_vehicles)
|
||||
|
||||
Reference in New Issue
Block a user