<div dir="auto">I can plainly see what Blender does in the GUI. I can make +Y up and +Z coming out at you in one view, but not all views apparently you can assign objects floor constraints. What I’m looking for is a way to independently move the world space and the stage space.</div><div dir="auto"><br></div><div dir="auto">Thanks.</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Oct 15, 2024 at 8:37 PM Joe D Williams <<a href="mailto:joedwil@earthlink.net">joedwil@earthlink.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div style="font-family:arial,sans-serif;font-size:12pt;color:rgb(0,0,0)"><p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif">Forward / Up Axis<br>Since many applications use a different axis for ‘Up’, these are axis conversion for these settings, Forward and Up axes – By mapping these to different axes you can convert rotations between applications default up and forward axes.</p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif">Blender uses Y Forward, Z Up (since the front view looks along the +Y direction). For example, it’s common for applications to use Y as the up axis, in that case -Z Forward, Y Up is needed.</p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"> </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"><a href="https://docs.blender.org/manual/en/2.80/addons/io_scene_obj.html" target="_blank" style="font-family:arial,sans-serif">https://docs.blender.org/manual/en/2.80/addons/io_scene_obj.html</a></p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"> </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif">not the whole story, but a start </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"> </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"> </p>
<p style="margin:0.1rem 0px;line-height:1;font-family:arial,sans-serif"> </p>
</div>
<div style="border-left-width:1px;border-left-style:solid;box-sizing:border-box;padding:10px 0px 10px 15px;margin:0px;border-left-color:rgb(170,170,170)">
<p>-----Original Message-----<br>From: John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>><br>Sent: Oct 15, 2024 5:34 PM<br>To: Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>><br>Cc: Katy Schildmeyer KS APPAREL DESIGN <<a href="mailto:katy@ksappareldesign.com" target="_blank">katy@ksappareldesign.com</a>>, X3D Ecosystem public discussion <<a href="mailto:x3d-ecosystem@web3d.org" target="_blank">x3d-ecosystem@web3d.org</a>><br>Subject: Re: Don McCurdy gave me the secret to combining animations when exporting glTF</p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<div dir="ltr">Does anyone know how to load an entire X3D scene into Blender to make a movie?
<div><br>Thanks!</div>
<div> </div>
<div>John</div>
</div>
<br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Tue, Oct 15, 2024 at 7:26 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
<div dir="ltr">What I mean by *everyone* is everyone who has a production Blender X3D/VRML import/export script using this mechanism. I hope if someone complains that the script doesn't work anymore, they come knocking on your door, Joe, and not mine!
<div> </div>
<div>But first, let's make sure we've got the HAnim loader working with other scene items.<br>
<div> </div>
<div>John</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Tue, Oct 15, 2024 at 7:19 PM John Carlson <<a href="mailto:yottzumm@gmail.com" rel="noopener" target="_blank">yottzumm@gmail.com</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
<div dir="ltr">I'm actually changing in two places:
<div> </div>
<div>global_matrix = axis_conversion(from_forward=self.axis_up,<br> from_up=self.axis_forward,<br> ).to_4x4()</div>
<div> </div>
<div>Under ImportX3D execute. And:</div>
<div> </div>
<div> global_matrix = axis_conversion(to_forward=self.axis_up,<br> to_up=self.axis_forward,<br> ).to_4x4() @ Matrix.Scale(<br> 1.0 / 0.0254 if self.file_unit == 'IN' else self.global_scale, 4)</div>
<div> </div>
<div>Under ExportX3D execute.</div>
<div> </div>
<div>I don't really know why they aren't identical.</div>
<div> </div>
<div>So we can have our cake and eat it too, we can replace the axis conversion with what we like. The issue is, that it affects *everyone* who has used X3D import/export in Blender.</div>
<div> </div>
<div>Joe, if you agree with this, I will try to get this into the Blender extension release.</div>
<div> </div>
<div>Thanks!</div>
<div> </div>
<div>John</div>
<div> </div>
<div> </div>
</div>
<br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Tue, Oct 15, 2024 at 7:12 PM John Carlson <<a href="mailto:yottzumm@gmail.com" rel="noopener" target="_blank">yottzumm@gmail.com</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
<div dir="ltr">Not really wanting to get in a huge discussion about +Yup and +Zforward. I can make the following suggestion to change the blender X3D importer, realizing this will affect *everyone" who uses the Blender plugin, hopefully in a positive way (- means remove these lines, + means add the lines). In the initialization:
<div> </div>
<div>@@ -70,8 +70,8 @@ class ImportX3D(bpy.types.Operator, ImportHelper):<br> "axis_up",<br> "filter_glob",<br> ))<br>- global_matrix = axis_conversion(from_forward=self.axis_forward,<br>- from_up=self.axis_up,<br>+ global_matrix = axis_conversion(from_forward=self.axis_up,<br>+ from_up=self.axis_forward,<br> ).to_4x4()<br> keywords["global_matrix"] = global_matrix</div>
<div> </div>
<div>The axis_conversion method is not part of the importer or exporter. We can also change the global_matrix to something else as well. This affects *everyone* who uses the blender import/export.</div>
<div> </div>
<div>With external scripts, I have only been able to change the Main view such that JinLOA4 is not lying flat on his back. I can erase the floor, but the floor looks useful I have been able to look at floor constraints on objects, but I think we need an object to set the floor constraint for. I think that's more about where the floor is for an object, not changing the "stage." Maybe that's another thing I can look up.</div>
<div> </div>
<div>We still need to test humanoids with other objects.</div>
<div> </div>
<div>John</div>
<div> </div>
<div> </div>
</div>
<br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Tue, Oct 15, 2024 at 5:02 PM Joe D Williams <<a href="mailto:joedwil@earthlink.net" rel="noopener" target="_blank">joedwil@earthlink.net</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">> export_yup=False,<br><br>I still think the only reason yup=False is in there because whatever was drawn that way in the blender. That is not going to be fun to correct in x3d, as we see.<br><br>So, this is useless for Humanoid, but probably pass for common geometry that needs to be transformed anyway. <br><br>So, me still say this is useless operation for HAnim. Get it drawn fight in Blender and then export it as we want it, yup=true, +x=model left, model faces +z, reference for all measurements are 0 0 0 between feet, and to 'human' scale we expect in a standard environment. <br><br>Otherwise, the export is useless for hanim because hard to fix, plus animations are in danger of getting messed up. <br>We would not import joekick with yup=False, right? <br><br>Overall, we really don't want the runtime to do a bunch of gyrations and transformations to get the thing in "standard' form for operation with others in 'standard' form in a 'standard' environment. This is not limiting because any authoring tool worth it will give you standard GL coordinate system to work in as well as zero functions to present the thing as expected.<br><br>Thanks for trying but please start where it needs to be started in standard GL as the host root coordinate system that is importing skeleton drawn in GL coordsys, working in GL coordsys and exporting in GL coordsys. <br>Best of Faith in the GL,<br>Joe <br><br><br><br>-----Original Message-----<br>From: John Carlson <<a href="mailto:yottzumm@gmail.com" rel="noopener" target="_blank">yottzumm@gmail.com</a>></<a href="mailto:yottzumm@gmail.com" rel="noopener" target="_blank">yottzumm@gmail.com</a>><br>Sent: Oct 15, 2024 11:54 AM<br>To: Joe D Williams <<a href="mailto:joedwil@earthlink.net" rel="noopener" target="_blank">joedwil@earthlink.net</a>>, Katy Schildmeyer KS APPAREL DESIGN <<a href="mailto:katy@ksappareldesign.com" rel="noopener" target="_blank">katy@ksappareldesign.com</a>>, Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com" rel="noopener" target="_blank">michalis.kambi@gmail.com</a>>, X3D Ecosystem public discussion <<a href="mailto:x3d-ecosystem@web3d.org" rel="noopener" target="_blank">x3d-ecosystem@web3d.org</a>>, Holger Seelig <<a href="mailto:holger.seelig@yahoo.de" rel="noopener" target="_blank">holger.seelig@yahoo.de</a>></<a href="mailto:holger.seelig@yahoo.de" rel="noopener" target="_blank">holger.seelig@yahoo.de</a>></<a href="mailto:x3d-ecosystem@web3d.org" rel="noopener" target="_blank">x3d-ecosystem@web3d.org</a>></<a href="mailto:michalis.kambi@gmail.com" rel="noopener" target="_blank">michalis.kambi@gmail.com</a>></<a href="mailto:katy@ksappareldesign.com" rel="noopener" target="_blank">katy@ksappareldesign.com</a>></<a href="mailto:joedwil@earthlink.net" rel="noopener" target="_blank">joedwil@earthlink.net</a>><br>Subject: Don McCurdy gave me the secret to combining animations when exporting glTF<br><br>Blender Python script for exporting glb as a single, combined animation: bpy.ops.export_scene.gltf(<br>filepath=os.path.join(".", f"JoeSkinTexcoordDisplacerKickUpdate2Export.glb"),<br>export_yup=False,<br># export_format="GLTF_SEPARATE",<br>export_format="GLB",<br>export_nla_strips_merged_animation_name='Animation',<br>export_animation_mode="ACTIVE_ACTIONS", #"SCENE",<br>export_influence_nb=40,<br>export_all_influences=True,<br>use_active_collection=True<br>)<br><br><br></blockquote>
</div>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div>
<p style="margin:0.1rem 0px;line-height:1"> </p></blockquote></div></div>