From c30c4d2928eb724e79dcbdb293a0db6cafaf6123 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Thu, 15 May 2025 14:56:55 +0200 Subject: scenetree: draw children --- exporter/src/bin/scenetree.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'exporter/src') 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!("}}"); -- cgit v1.2.3-70-g09d2