Final trueSpace 7.61 Beta 8 Unofficial Update

User avatar
Draise
Captain
Posts: 3030
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia
Contact:

Re: Final trueSpace 7.61 Beta 8 Unofficial Update

Post by Draise » 29 Aug 2018, 23:35

All these updates may require a day to go through!

User avatar
Steinie
Captain
Posts: 2775
Joined: 21 May 2009, 17:38
Type the number ten into the box: 10
Contact:

Re: Final trueSpace 7.61 Beta 8 Unofficial Update

Post by Steinie » 30 Aug 2018, 12:51

Can I assume all the other updates from years past are included in this update?
It is not often I want to change the behavior of tS when it is working well. Shouldn't I just install another version of tS with updates in another directory or will there be conflicts?
What does the iOptDetector plugin do?
I know, dumb questions...

User avatar
trueBlue
Captain
Posts: 1744
Joined: 06 Jul 2009, 22:50
Type the number ten into the box: 10

Re: Final trueSpace 7.61 Beta 8 Unofficial Update

Post by trueBlue » 30 Aug 2018, 15:09

No such thing as a dumb question. ;)
Yes this update includes all previous revisions, but it also fixes a few issues in the past updates.
Assuming we are talking about trueSpaceBeta 7.61 and installed to the default directory, what version of the update are you using?
Open the trueSpace Beta 7.61 Unofficial Update.txt located in C:\trueSpace761\tS
At the top of the text file you should see:
Revisions:
July 06, 2009
February 21, 2010
November 01, 2012

What is the last revision?
Reset your Default Context, Save a copy of it, send it to me, and I will take a look at it.

I can not recommend installing a duplicate copy of trueSpaceBeta 7.61 or any version!
For one the trueSpace installer changes the trueSpace's file(s) (RsObj. RsScn. etc...) association in the Registry Editor to the latest (any version) installation. No harm really if you are okay with that! I am not!
And secondly if you use Vray, you would have to install another copy to that directory. Not sure, if any, problems could arrise in doing so.


I personally have applied different revisions of this update a million times with zero problems. It does not do anything to your Registry. It only overwrites any provided file, with the same name, and only if you choose to do so.
Personally I install Rosetta Beta 7.61 first and then trueSpaceBeta 7.61 because of what was mentioned above.
Vray to C:\trueSpace761
Note: In the Workspace Package Manager, Install/Load the Vray_ts.rsx and reboot trueSpace.
iOptDetector to C:\
Note: In the Workspace Package Manager, Install/Load the OptDetector.dll and reboot trueSpace.
YafaRay (Standalone) to C:\Program Files

This affords me to share the iOptDetector and YafaRay (Standalone) with both versions of trueSpace, and keeping it out of the trueSpace installation directories. Easier to maintain, should you uninstall trueSpace!

The iOptDetector plugin can be found here: http://rs.siprogs.sk/p/iOptDetectorsPage
Clinton has incorporated part of that plugin into YafaRay4tS an optional viewer and is needed for Bucket Rendering.
It supports a resizable iOptDisplay window not limited by resolution or image aspect ratio.

clintonman
Captain
Posts: 2496
Joined: 21 May 2009, 21:08
Type the number ten into the box: 0
Location: California
Contact:

Re: Final trueSpace 7.61 Beta 8 Unofficial Update

Post by clintonman » 30 Aug 2018, 16:18

Should the extra items be installed before the update or does the order not really matter?
The extra items are yafaray_v3, vray and optdetectors.
Clinton Reese

http://clintons3d.com

User avatar
trueBlue
Captain
Posts: 1744
Joined: 06 Jul 2009, 22:50
Type the number ten into the box: 10

Re: Final trueSpace 7.61 Beta 8 Unofficial Update

Post by trueBlue » 30 Aug 2018, 16:51

Given that the update overwrites the Plugins.xml file, which only includes your Clintons3D Package VERSION= v.1638412 , you need to add the Vray and iOptDetector plugins after the update.
It is easier to install YafaRay first. If you do so, YafaRay4tS renders straight out of the box.
If you install the YafaRay v3.3.0 render engine after installing this update:
From Workspace in the Stack/Panel - YafaRay4tS/Setup aspect
Set the 'YafaRay Installation Path' to the yafaray-xml.exe file where you have installed YafaRay v3.3.0
Select the 'Save Settings' button.

Steps for the easiest installation:
1.) Install YafaRay (Optional)
2.) Install trueSpace 7.61
3.) Install iOptDetector (Optional)
4.) Install Vray (Optional)
5.) Install the PDF Manual for Caligari trueSpace (Optional but required before installing the Update 4)
6.) Install the Update 4
7.) Open trueSpace Install/Load Vray & iOptDetector from the Package Manager and Reset the Default Context (Required after Update 4)

User avatar
trueBlue
Captain
Posts: 1744
Joined: 06 Jul 2009, 22:50
Type the number ten into the box: 10

Re: Final trueSpace 7.61 Beta 8 Unofficial Update

Post by trueBlue » 31 Aug 2018, 19:03

@ Clinton
Ever notice that the Un encapsulate = LE.Unencapsulate('') crashes trueSpace if you run it on an object that does not have any sub objects? As an example, select a script and run the command. Bada Boom!
Also there is an unwanted behavior if you run it on any object, it will un encapsulate all of it's nodes.
As an example, select a Light and run the command.
Trying to come up with button command to over come all of the above.
Best I can do is as follows:

Code: Select all

if (Node.ConExists('', 'WldMatrix') && !Node.ConExists('', 'Camera') && !Node.ConExists('', 'LightAttributes')) {LE.Unencapsulate('');Node.DisconnectAll(Space.CurrentScene() + "/Transform", 'WldMatrix');Node.DisconnectAll(Space.CurrentScene() + "/Transform, 1", 'WldMatrix');Node.DisconnectAll(Space.CurrentScene() + "/Transform, 2", 'WldMatrix');Node.DisconnectAll(Space.CurrentScene() + "/Transform, 3", 'WldMatrix');Node.DisconnectAll(Space.CurrentScene() + "/Transform, 4", 'WldMatrix');Node.Delete(Space.CurrentScene() + "/Transform");Node.Delete(Space.CurrentScene() + "/Transform, 1");Node.Delete(Space.CurrentScene() + "/Transform, 2");Node.Delete(Space.CurrentScene() + "/Transform, 3");Node.Delete(Space.CurrentScene() + "/Transform, 4");}
This does stop trueSpace from crashing.

Limitations with the above code
1.) Still has the unwanted behavior if you run it on any object, it will un encapsulate all of it's nodes.
2.) If your selection includes a light or camera, it will not un encapsulate.


Have any suggestions on better solution?

The goal would be to put this code into the LMB command in the Unencapsulate icon.
And LE.Unencapsulate('') in the RMB command as it does have some value, just not the crash!


It would be nice if this Un encapsulate only worked on grouped objects.

clintonman
Captain
Posts: 2496
Joined: 21 May 2009, 21:08
Type the number ten into the box: 0
Location: California
Contact:

Re: Final trueSpace 7.61 Beta 8 Unofficial Update

Post by clintonman » 01 Sep 2018, 20:35

trueBlue wrote:
31 Aug 2018, 19:03
@ Clinton
Ever notice that the Un encapsulate = LE.Unencapsulate('') crashes trueSpace if you run it on an object that does not have any sub objects? As an example, select a script and run the command. Bada Boom!
Also there is an unwanted behavior if you run it on any object, it will un encapsulate all of it's nodes.
As an example, select a Light and run the command.
Trying to come up with button command to over come all of the above.
Best I can do is as follows:

Code: Select all

if (Node.ConExists('', 'WldMatrix') && !Node.ConExists('', 'Camera') && !Node.ConExists('', 'LightAttributes')) {LE.Unencapsulate('');Node.DisconnectAll(Space.CurrentScene() + "/Transform", 'WldMatrix');Node.DisconnectAll(Space.CurrentScene() + "/Transform, 1", 'WldMatrix');Node.DisconnectAll(Space.CurrentScene() + "/Transform, 2", 'WldMatrix');Node.DisconnectAll(Space.CurrentScene() + "/Transform, 3", 'WldMatrix');Node.DisconnectAll(Space.CurrentScene() + "/Transform, 4", 'WldMatrix');Node.Delete(Space.CurrentScene() + "/Transform");Node.Delete(Space.CurrentScene() + "/Transform, 1");Node.Delete(Space.CurrentScene() + "/Transform, 2");Node.Delete(Space.CurrentScene() + "/Transform, 3");Node.Delete(Space.CurrentScene() + "/Transform, 4");}
This does stop trueSpace from crashing.

Limitations with the above code
1.) Still has the unwanted behavior if you run it on any object, it will un encapsulate all of it's nodes.
2.) If your selection includes a light or camera, it will not un encapsulate.


Have any suggestions on better solution?

The goal would be to put this code into the LMB command in the Unencapsulate icon.
And LE.Unencapsulate('') in the RMB command as it does have some value, just not the crash!


It would be nice if this Un encapsulate only worked on grouped objects.
Yep, crash verified
Truespace has Encapsulate, 3D Encapsulate and UnEncapsulate. UnEncapsulate works the way I would expect it to except for the crashing. It sounds like you are trying to make a new 3D UnEncapsulate.

Here are some alternate tests you can run in your if statement:

Code: Select all

Node.IsCamera('')
Node.IsLight('')
Node.SubObjectCount('') > 0
You may also want to find a way to merge the values of the OwnerMatrix back into the Matrix otherwise animation could be unexpected.
This is code from the UnParent script, theChild would be the node connected to the transforms wldmatrix:

Code: Select all

		//save world position
		worldMat = Node.Value(theChild,"WldMatrix");
		//disconnect the parent from the child
		Node.DisconnectAllInputs(theChild,"OwnerMatrix");
		//reset the owner matrix - no roation, translation, scale=1
		Node.ConReset(theChild,"OwnerMatrix");
		//set back into position in world space
		Node.Value(theChild,"Matrix") = worldMat;
Clinton Reese

http://clintons3d.com

User avatar
trueBlue
Captain
Posts: 1744
Joined: 06 Jul 2009, 22:50
Type the number ten into the box: 10

Re: Final trueSpace 7.61 Beta 8 Unofficial Update

Post by trueBlue » 02 Sep 2018, 17:13

Thanks!
Node.SubObjectCount('') > 0 was the missing part I could not figure out how to do previously.

Using your UnParent script, this is the best I could come up with so far.

Code: Select all

function Execute(params)
{
//		RsTool.SelectChildObj();
//		RsTool.SelectNextObj();

	sel = Node.Selection(); //list of selected nodes
	numsel = Node.SelectionLength(sel); // number of selected nodes
	worldMat = System.CreateDO("Math Package/Matrix Float Data");
Parent = RsTool.SelectParentObj();

	for (i = 0; i < numsel; i++)
	{
		Child = Node.SelectionGetAt(sel, i);
if(!Node.SubObjectCount(Child) > 0) return;
if(Node.ConExists(Child,"Camera")) return;
if(Node.ConExists(Child,"LightAttributes")) return;
		if(!Node.ConExists(Child,"WldMatrix")) continue;
		if(!Node.ConExists(Child,"Matrix")) continue;
		if(!Node.ConExists(Child,"OwnerMatrix")) continue;

		//save world position
		worldMat = Node.Value(Child,"WldMatrix");
		//disconnect the parent from the child
		Node.DisconnectAllInputs(Child,"OwnerMatrix");
		//reset the owner matrix - no roation, translation, scale=1
		Node.ConReset(Child,"OwnerMatrix");
		//set back into position in world space
		Node.Value(Child,"Matrix") = worldMat; 
RsFileIO.SaveObject(System.GetMainDir() + '\\RS Data\\Child.RsObj', Child)
Node.Delete(Child)
RsFileIO.LoadObject(System.GetMainDir() + '\\RS Data\\Child.RsObj', Space.CurrentScene())
	}
Node.Delete(Parent)
}

Limitation
You have to select the Child objects.
If you select only one Child object in the group, the Parent object is deleted along with the other none selected Child objects.
Wished I could figure out how to add all the Child objects to the selection.
Clinton quoted "UnEncapsulate works the way I would expect it to except for the crashing"
The way it is now with the Transfom node hooked up to the unencapsulated objects, does not seem to be what you would expect from an UnEncapsulate feature. You are still left with what your Unparenting script fixes.
Never the less, at least this stops trueSpace from crashing

Code: Select all

if (Node.SubObjectCount('') > 0){LE.Unencapsulate('');}

clintonman
Captain
Posts: 2496
Joined: 21 May 2009, 21:08
Type the number ten into the box: 0
Location: California
Contact:

Re: Final trueSpace 7.61 Beta 8 Unofficial Update

Post by clintonman » 02 Sep 2018, 17:52

Just thought of one more test for the 3D UnEncapsulate.

Code: Select all

!Node.IsRenderable('')
I'll take a look at your script later.
Clinton Reese

http://clintons3d.com

User avatar
trueBlue
Captain
Posts: 1744
Joined: 06 Jul 2009, 22:50
Type the number ten into the box: 10

Re: Final trueSpace 7.61 Beta 8 Unofficial Update

Post by trueBlue » 02 Sep 2018, 18:11

Thanks, that would be great!

On a side note with regards to the params.SetTerminationFlag();
I found the real Author of the Interactive Replace Tool script.
Same author of the Mines Game, Peter Malcovsky.
Check out the Evaluate Click script.
He uses the params.SetTerminationFlag(); on almost all of his if statements.
Also uses Control Flow(s) and Local in the Attributes.

Post Reply