diff options
-rw-r--r-- | exporter/src/bin/scenetree.rs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/exporter/src/bin/scenetree.rs b/exporter/src/bin/scenetree.rs index 091fda2..71f0db6 100644 --- a/exporter/src/bin/scenetree.rs +++ b/exporter/src/bin/scenetree.rs @@ -1,4 +1,8 @@ -use std::{env::args, fs::File, io::BufReader}; +use std::{ + env::{args, var}, + fs::File, + io::BufReader, +}; use unity_tools::{assetbundle::AssetBundle, classes::transform::Transform}; fn main() -> anyhow::Result<()> { @@ -6,6 +10,7 @@ fn main() -> anyhow::Result<()> { let file = BufReader::new(File::open(args().nth(1).unwrap()).unwrap()); let mut bundle = AssetBundle::open(file, "samples")?; + let draw_children = var("DRAW_CHILDREN").is_ok(); println!("digraph {{"); for ob in bundle.all_toplevel_of_class("Transform") { let i = ob.path_id; @@ -23,6 +28,13 @@ fn main() -> anyhow::Result<()> { let j = tr.father.path_id; println!("n{j} -> n{i};") } + if draw_children { + for ch in tr.children { + assert_eq!(ch.file_id, 0); + let j = ch.path_id; + println!("n{i} -> n{j} [color=red];") + } + } } println!("}}"); |