Created attachment 385 [details] modified version of platform file to track moving truck instead There is an issue with the tracking mount that seems to be best summarized as: When objects other than the specific object referenced by the tracking mount have a non-zero translation, instance they affect the ability of the tracking mount to work correctly. Example: TrackingMount1 demo scenario with two changes: 1. demo.platform: change the mount target from "EnemyFighter" to "EnemyTruck" in order to track the moving truck 2. tracking.glist: change the translation of the EnemyFighter object from <point><x>0</x><y>0</y><z>0</z></point> to <point><x>2000</x><y>5000</y><z>0</z></point> the result is the tracking mount pointing points to a non-nonsensical location. The only way I can get the tracking mount to correctly track a moving object, is to ensure that *all* instances of *all* other objects have 0,0,0 translation. I have attached a ZIP archive of the 2 modifications of TrackingMount1 demo scene.
Created attachment 386 [details] modified version of platform file to track moving truck instead
I tried a few earlier versions of DIRSIG on the network, and DIRSIG-4.7.0 seems to work correctly (tracking not influenced by other scene geometry), but DIRSIG-4.7.1 has the same errant behavior as 4.7.2 i.e. a change between 4.7.0 and 4.7.1 is the likely culprit
In March I added some code to handle tracking instances that were buried in an instancing stack. That was r16554, which would have been between 4.7.0 and 4.7.1, which agrees with your testing. I must have somehow introduced the bug at that time. I'm looking into it right now.
There was a tragic flaw in the recursive traversal of the geometry that would essentially accumulate the transforms of all the instances it checked before finding the named geometry. So technically not every instance needed to be an identity transform, just the all ones before we found the one we were looking for. :) Testing a fix now.
Fixed confirmed and will be available in the 4.7.2 final release.