Final trueSpace7.61 Beta 8 Std Unofficial Update
Re: Final trueSpace7.61 Beta 8 Std Unofficial Update
Update 105 for trueSpace7.61 Beta 8 Standalone Unofficial Update Version 8
Final Update
Clintons3D Package VERSION=v.1638431
Rs Main Libraries/Components - Compositing
Add
Scene Color Picker
December 12, 2021
https://united3dartists.com/forum/viewt ... =55&t=3731
Instructions:
Recommend that you completely Uninstall and Install trueSpace7.61 Standalone to a clean directory
1.) Run the tS7.61B8Std.8.exe
2.) Browse [...] to where you installed C:\trueSpace761Std, select its folder and then the Extract button
3.) Select the Yes to All button
4.) Open trueSpace and select the Reset to Default Context icon
5.) In Workspace select the Default layout tab
The included Plugins.xml file has the Clintons3dPlugin, Clintons3dPluginExt and Clintons3dRsView, Installed and Loaded to the default path: C:\trueSpace761Std
WARNING: These 3 plugins are required to be Installed and Loaded when using trueSpace!
Final Update
Clintons3D Package VERSION=v.1638431
Rs Main Libraries/Components - Compositing
Add
Scene Color Picker
December 12, 2021
https://united3dartists.com/forum/viewt ... =55&t=3731
Instructions:
Recommend that you completely Uninstall and Install trueSpace7.61 Standalone to a clean directory
1.) Run the tS7.61B8Std.8.exe
2.) Browse [...] to where you installed C:\trueSpace761Std, select its folder and then the Extract button
3.) Select the Yes to All button
4.) Open trueSpace and select the Reset to Default Context icon
5.) In Workspace select the Default layout tab
The included Plugins.xml file has the Clintons3dPlugin, Clintons3dPluginExt and Clintons3dRsView, Installed and Loaded to the default path: C:\trueSpace761Std
WARNING: These 3 plugins are required to be Installed and Loaded when using trueSpace!
Re: Final trueSpace7.61 Beta 8 Std Unofficial Update
@ Clinton
I think I have an improved UnGlue script
This is my first attempt at using: util.SetNodeValueMatrix
From what I can tell this works and narrows it down to One Undo
Can you try this out?
I think I have an improved UnGlue script
This is my first attempt at using: util.SetNodeValueMatrix
From what I can tell this works and narrows it down to One Undo
Can you try this out?
Code: Select all
// 3D Unencapsulate
// Author - Clinton Reese 4/1/2021
// Update 12/15/2021
function Execute(params)
{
var sel = Node.Selection(); //list of selected nodes
if(!IsValidSelection(sel)) return;
var numSelected = Node.SelectionLength(sel); // number of selected nodes
if(numSelected < 1) return;
for (var i = 0; i < numSelected; i++)
{
var currentEncapsed = Node.SelectionGetAt(sel, i);
if(Node.IsCamera(currentEncapsed)) continue;
if(Node.IsLight(currentEncapsed)) continue;
if(Node.SubObjectCount(currentEncapsed) == 0) continue;
if(Node.IsRenderable(currentEncapsed)) continue;
if(isaNURBS(currentEncapsed)) continue;
CleanRenderAttr(currentEncapsed)
UnEncaps(currentEncapsed);
}
var scene = Space.CurrentScene();
var numTopLevel = Node.SubObjectCount(scene);
for(var i=0; i< numTopLevel; i++) {
var item = scene + "/" + Node.SubObject(scene, i);
AddOwnerName(item)
}
}
function IsValidSelection(selection)
{
if(!selection) return false;
var reWhiteSpace = /^\s/; // whitespace in first character position for cleaning selection text
var selectionArray = selection.split(";");
for(var i = 0; i < selectionArray.length; i++) {
var selClean = selectionArray[i].replace(reWhiteSpace, "");
if(!Node.Exists(selClean)) {
return false;
}
}
return true;
}
function CleanRenderAttr(currentEncapsed)
{
var numberChildren = Node.SubObjectCount(currentEncapsed);
util = System.CreateDO("Clintons3D Package/Utility functions");
//populate deletion list from unencapsed nodes
var deleteMeList = [];
var firstORA = true;
for(var i = numberChildren - 1 ;i >= 0; i--) {
var newNode = currentEncapsed + "/" + Node.SubObject(currentEncapsed, i);
if(Node.IsCamera(newNode)) continue;
if(Node.IsLight(newNode)) continue;
if(Node.ConExists(newNode, "Input Attributes")) {
var oraOriginal = Node.LinkedInputNode(newNode, "Input Attributes", 0);//hope that's right
util.Delete(newNode + "/Object Render Attributes");
util.Delete(newNode + "/RenderAttributes");
util.ConRemove(newNode, "Input Attributes");
util.ConRemove(newNode, "RenderAttributes");
var ora = util.Copy(oraOriginal, newNode);
Node.ExportConnector(ora, "RenderAttributes", "", 1, 1);
if(firstORA) {
deleteMeList.push(oraOriginal);
firstORA = false;
}
}
}
//delete nodes
for(var i = 0; i < deleteMeList.length; i++) {
util.Delete(deleteMeList[i]);
}
}
function UnEncaps(currentEncapsed)
{
var parent = Node.Owner(currentEncapsed);
var originalNumberChildren = Node.SubObjectCount(parent);
util = System.CreateDO("Clintons3D Package/Utility functions");
LE.Unencapsulate(currentEncapsed);
var newNumberChildren = Node.SubObjectCount(parent);
//populate deletion list from unencapsed nodes
var deleteMeList = [];
var firstORA = true;
for(var i = newNumberChildren - 1 ;i >= originalNumberChildren - 1; i--) {
var newNode = parent + "/" + Node.SubObject(parent, i);
//arrange in LE
util.ConRemove(newNode, "LE2Data");
if(Node.IsCamera(newNode)) continue;
if(Node.IsLight(newNode)) continue;
if(Node.IsRenderable(newNode)) continue;
//if transform node and is parent
if(Node.ConExists(newNode, "WldMatrix") && Node.LinkedOutputNodeCount(newNode, "WldMatrix") > 0) {
deleteMeList.push(newNode);
continue;
}
if(Node.ConExists(newNode, "AnimData")) {
deleteMeList.push(newNode);
}
if(Node.ConExists(newNode, "Pivot") && Node.SubObjectCount(newNode) < 1) {
deleteMeList.push(newNode);
}
if(Node.ConExists(newNode, "Input Attributes")) {
var oraOriginal = Node.LinkedInputNode(newNode, "Input Attributes", 1);//hope that's right
util.Delete(newNode + "/Object Render Attributes");
util.Delete(newNode + "/RenderAttributes");
util.ConRemove(newNode, "Input Attributes");
util.ConRemove(newNode, "RenderAttributes");
var ora = util.Copy(oraOriginal, newNode);
Node.ExportConnector(ora, "RenderAttributes", "", 1, 1);
if(firstORA) {
deleteMeList.push(oraOriginal);
firstORA = false;
}
}
}
//process unencapsed nodes
for(var i = newNumberChildren - 1 ;i >= originalNumberChildren - 1; i--) {
var newNode = parent + "/" + Node.SubObject(parent, i);
if(Node.IsCamera(newNode)) continue;
if(Node.IsLight(newNode)) continue;
if(Node.IsRenderable(newNode)) continue;
if(isaNURBS(newNode)) continue;
//if transform node and is parent
if(Node.ConExists(newNode, "WldMatrix") && Node.LinkedOutputNodeCount(newNode, "WldMatrix") > 0) {
DisownChildren(newNode);
}
}
//delete nodes
for(var i = 0; i < deleteMeList.length; i++) {
util.Delete(deleteMeList[i]);
}
util.SetStatusMessage("3D Unencapsulate complete", 4000);
}
function DisownChildren(theTransform)
{
var transformMatrix = System.CreateDO("Math Package/Matrix Float Data");
var worldMat = System.CreateDO("Math Package/Matrix Float Data");
var childMatrix = System.CreateDO("Math Package/Matrix Float Data");
var identityMatrix = System.CreateDO("Math Package/Matrix Float Data");
var numLinkedChildren = Node.LinkedOutputNodeCount(theTransform, "WldMatrix");
util = System.CreateDO("Clintons3D Package/Utility functions");
//-> Gather list of child nodes, nodes connected to the transform WldMatrix connector
var children = [];
for(var i = 0; i < numLinkedChildren; i++) {
var child = Node.LinkedOutputNode(theTransform, "WldMatrix", i)
children.push(child);
}
transformMatrix = Node.Value(theTransform, "Matrix");
var numMatrixParents = Node.LinkedInputNodeCount(theTransform, "OwnerMatrix");
identityMatrix.LoadIdentity();
//<-
for(var i = 0; i < children.length; i++) {
var currentChild = children[i];
//disconnect the parent from the child
// Node.DisconnectAllInputs(currentChild, "OwnerMatrix");
util.DisconnectAll(currentChild + "/OwnerMatrix");
//merge OwnerMatrix into the Matrix value by
//multiply child matrix by the parent matrix and clear the OwnerMatrix value
if(isaNURBS(currentChild)) {
childMatrix = Node.Value(currentChild + "/controlPointMesh", "Matrix");
} else {
childMatrix = Node.Value(currentChild, "Matrix");
}
childMatrix.Mult(transformMatrix);
if(isaNURBS(currentChild)) {
// Node.Value(currentChild + "/controlPointMesh", "Matrix") = childMatrix;
util.SetNodeValueMatrix(currentChild + "/controlPointMesh", "Matrix", childMatrix.GetAt(0,0), childMatrix.GetAt(1,0), childMatrix.GetAt(2,0), childMatrix.GetAt(3,0), childMatrix.GetAt(0,1), childMatrix.GetAt(1,1), childMatrix.GetAt(2,1), childMatrix.GetAt(3,1), childMatrix.GetAt(0,2), childMatrix.GetAt(1,2), childMatrix.GetAt(2,2), childMatrix.GetAt(3,2),childMatrix.GetAt(0,3), childMatrix.GetAt(1,3), childMatrix.GetAt(2,3), childMatrix.GetAt(3,3))
} else {
// Node.Value(currentChild, "Matrix") = childMatrix;
util.SetNodeValueMatrix(currentChild, "Matrix", childMatrix.GetAt(0,0), childMatrix.GetAt(1,0), childMatrix.GetAt(2,0), childMatrix.GetAt(3,0), childMatrix.GetAt(0,1), childMatrix.GetAt(1,1), childMatrix.GetAt(2,1), childMatrix.GetAt(3,1), childMatrix.GetAt(0,2), childMatrix.GetAt(1,2), childMatrix.GetAt(2,2), childMatrix.GetAt(3,2),childMatrix.GetAt(0,3), childMatrix.GetAt(1,3), childMatrix.GetAt(2,3), childMatrix.GetAt(3,3))
}
// Node.Value(currentChild, "OwnerMatrix") = identityMatrix;
util.SetNodeValueMatrix(currentChild, "OwnerMatrix", identityMatrix.GetAt(0,0), identityMatrix.GetAt(1,0), identityMatrix.GetAt(2,0), identityMatrix.GetAt(3,0), identityMatrix.GetAt(0,1), identityMatrix.GetAt(1,1), identityMatrix.GetAt(2,1), identityMatrix.GetAt(3,1), identityMatrix.GetAt(0,2), identityMatrix.GetAt(1,2), identityMatrix.GetAt(2,2), identityMatrix.GetAt(3,2),identityMatrix.GetAt(0,3), identityMatrix.GetAt(1,3), identityMatrix.GetAt(2,3), identityMatrix.GetAt(3,3))
//if still inside a group, connect to transform node
if(numMatrixParents > 0) {
var newParentTransform = Node.LinkedInputNode(theTransform, "OwnerMatrix", 0);
if(Node.ConExists(newParentTransform, "WldMatrix")) {
//Node.ConnectTo(children[i], "OwnerMatrix", newParentTransform, "WldMatrix");
util.ConnectTo(newParentTransform, "WldMatrix", currentChild, "OwnerMatrix");
}
}
}
}
function isaNURBS(currentNode)
{
var nodeOwner = Node.Owner(currentNode);
//child of nurbs selected
if(Node.ConExists(nodeOwner, "isaCurve")) return true;
if(Node.Exists(nodeOwner + "/CP to patch CP")) return true;
//nurbs direct selected
if(Node.ConExists(currentNode, "isaCurve")) return true;
if(Node.Exists(currentNode + "/CP to patch CP")) return true;
return false;
}
function AddOwnerName(curNode)
{
var util = System.CreateDO("Clintons3D Package/Utility functions");
if(Node.Exists(curNode + "/Object Render Attributes") && Node.ConExists(curNode + "/Object Render Attributes", "Object_Name")) {
var str = Node.ShortName(curNode)
util.SetNodeValueString(curNode + "/Object Render Attributes", "Object_Name", str)
return;
}
if(Node.IsRenderable(curNode) || Node.IsCamera(curNode) || Node.IsLight(curNode)) return;
var numChildren = Node.SubObjectCount(curNode);
for(var i=0; i< numChildren ; i++) {
var child = curNode+ "/" + Node.SubObject(curNode, i);
AddOwnerName(child);
}
}
- clintonman
- Captain
- Posts: 5422
- Joined: 21 May 2009, 21:08
- Type the number ten into the box: 0
- Location: California
- Contact:
Re: Final trueSpace7.61 Beta 8 Std Unofficial Update
Seems to work. I recommend the following changes
move the SetNodeValueMatrix into a function so there is less typing and code
change format of that command so it's not so wide
define util only once at the start without var so it's available everywhere
recommended changes below
move the SetNodeValueMatrix into a function so there is less typing and code
change format of that command so it's not so wide
define util only once at the start without var so it's available everywhere
recommended changes below
Code: Select all
// 3D Unencapsulate
// Author - Clinton Reese 4/1/2021
// Update 12/15/2021
function Execute(params)
{
util = System.CreateDO("Clintons3D Package/Utility functions");
var sel = Node.Selection(); //list of selected nodes
if(!IsValidSelection(sel)) return;
var numSelected = Node.SelectionLength(sel); // number of selected nodes
if(numSelected < 1) return;
for (var i = 0; i < numSelected; i++)
{
var currentEncapsed = Node.SelectionGetAt(sel, i);
if(Node.IsCamera(currentEncapsed)) continue;
if(Node.IsLight(currentEncapsed)) continue;
if(Node.SubObjectCount(currentEncapsed) == 0) continue;
if(Node.IsRenderable(currentEncapsed)) continue;
if(isaNURBS(currentEncapsed)) continue;
CleanRenderAttr(currentEncapsed)
UnEncaps(currentEncapsed);
}
var scene = Space.CurrentScene();
var numTopLevel = Node.SubObjectCount(scene);
for(var i=0; i< numTopLevel; i++) {
var item = scene + "/" + Node.SubObject(scene, i);
AddOwnerName(item)
}
}
function IsValidSelection(selection)
{
if(!selection) return false;
var reWhiteSpace = /^\s/; // whitespace in first character position for cleaning selection text
var selectionArray = selection.split(";");
for(var i = 0; i < selectionArray.length; i++) {
var selClean = selectionArray[i].replace(reWhiteSpace, "");
if(!Node.Exists(selClean)) {
return false;
}
}
return true;
}
function CleanRenderAttr(currentEncapsed)
{
var numberChildren = Node.SubObjectCount(currentEncapsed);
//util = System.CreateDO("Clintons3D Package/Utility functions");
//populate deletion list from unencapsed nodes
var deleteMeList = [];
var firstORA = true;
for(var i = numberChildren - 1 ;i >= 0; i--) {
var newNode = currentEncapsed + "/" + Node.SubObject(currentEncapsed, i);
if(Node.IsCamera(newNode)) continue;
if(Node.IsLight(newNode)) continue;
if(Node.ConExists(newNode, "Input Attributes")) {
var oraOriginal = Node.LinkedInputNode(newNode, "Input Attributes", 0);//hope that's right
util.Delete(newNode + "/Object Render Attributes");
util.Delete(newNode + "/RenderAttributes");
util.ConRemove(newNode, "Input Attributes");
util.ConRemove(newNode, "RenderAttributes");
var ora = util.Copy(oraOriginal, newNode);
Node.ExportConnector(ora, "RenderAttributes", "", 1, 1);
if(firstORA) {
deleteMeList.push(oraOriginal);
firstORA = false;
}
}
}
//delete nodes
for(var i = 0; i < deleteMeList.length; i++) {
util.Delete(deleteMeList[i]);
}
}
function UnEncaps(currentEncapsed)
{
var parent = Node.Owner(currentEncapsed);
var originalNumberChildren = Node.SubObjectCount(parent);
//util = System.CreateDO("Clintons3D Package/Utility functions");
LE.Unencapsulate(currentEncapsed);
var newNumberChildren = Node.SubObjectCount(parent);
//populate deletion list from unencapsed nodes
var deleteMeList = [];
var firstORA = true;
for(var i = newNumberChildren - 1 ;i >= originalNumberChildren - 1; i--) {
var newNode = parent + "/" + Node.SubObject(parent, i);
//arrange in LE
util.ConRemove(newNode, "LE2Data");
if(Node.IsCamera(newNode)) continue;
if(Node.IsLight(newNode)) continue;
if(Node.IsRenderable(newNode)) continue;
//if transform node and is parent
if(Node.ConExists(newNode, "WldMatrix") && Node.LinkedOutputNodeCount(newNode, "WldMatrix") > 0) {
deleteMeList.push(newNode);
continue;
}
if(Node.ConExists(newNode, "AnimData")) {
deleteMeList.push(newNode);
}
if(Node.ConExists(newNode, "Pivot") && Node.SubObjectCount(newNode) < 1) {
deleteMeList.push(newNode);
}
if(Node.ConExists(newNode, "Input Attributes")) {
var oraOriginal = Node.LinkedInputNode(newNode, "Input Attributes", 1);//hope that's right
util.Delete(newNode + "/Object Render Attributes");
util.Delete(newNode + "/RenderAttributes");
util.ConRemove(newNode, "Input Attributes");
util.ConRemove(newNode, "RenderAttributes");
var ora = util.Copy(oraOriginal, newNode);
Node.ExportConnector(ora, "RenderAttributes", "", 1, 1);
if(firstORA) {
deleteMeList.push(oraOriginal);
firstORA = false;
}
}
}
//process unencapsed nodes
for(var i = newNumberChildren - 1 ;i >= originalNumberChildren - 1; i--) {
var newNode = parent + "/" + Node.SubObject(parent, i);
if(Node.IsCamera(newNode)) continue;
if(Node.IsLight(newNode)) continue;
if(Node.IsRenderable(newNode)) continue;
if(isaNURBS(newNode)) continue;
//if transform node and is parent
if(Node.ConExists(newNode, "WldMatrix") && Node.LinkedOutputNodeCount(newNode, "WldMatrix") > 0) {
DisownChildren(newNode);
}
}
//delete nodes
for(var i = 0; i < deleteMeList.length; i++) {
util.Delete(deleteMeList[i]);
}
util.SetStatusMessage("3D Unencapsulate complete", 4000);
}
function DisownChildren(theTransform)
{
var transformMatrix = System.CreateDO("Math Package/Matrix Float Data");
var worldMat = System.CreateDO("Math Package/Matrix Float Data");
var childMatrix = System.CreateDO("Math Package/Matrix Float Data");
var identityMatrix = System.CreateDO("Math Package/Matrix Float Data");
var numLinkedChildren = Node.LinkedOutputNodeCount(theTransform, "WldMatrix");
//util = System.CreateDO("Clintons3D Package/Utility functions");
//-> Gather list of child nodes, nodes connected to the transform WldMatrix connector
var children = [];
for(var i = 0; i < numLinkedChildren; i++) {
var child = Node.LinkedOutputNode(theTransform, "WldMatrix", i)
children.push(child);
}
transformMatrix = Node.Value(theTransform, "Matrix");
var numMatrixParents = Node.LinkedInputNodeCount(theTransform, "OwnerMatrix");
identityMatrix.LoadIdentity();
//<-
for(var i = 0; i < children.length; i++) {
var currentChild = children[i];
//disconnect the parent from the child
// Node.DisconnectAllInputs(currentChild, "OwnerMatrix");
util.DisconnectAll(currentChild + "/OwnerMatrix");
//merge OwnerMatrix into the Matrix value by
//multiply child matrix by the parent matrix and clear the OwnerMatrix value
if(isaNURBS(currentChild)) {
childMatrix = Node.Value(currentChild + "/controlPointMesh", "Matrix");
} else {
childMatrix = Node.Value(currentChild, "Matrix");
}
childMatrix.Mult(transformMatrix);
if(isaNURBS(currentChild)) {
// Node.Value(currentChild + "/controlPointMesh", "Matrix") = childMatrix;
//util.SetNodeValueMatrix(currentChild + "/controlPointMesh", "Matrix", childMatrix.GetAt(0,0), childMatrix.GetAt(1,0), childMatrix.GetAt(2,0), childMatrix.GetAt(3,0), childMatrix.GetAt(0,1), childMatrix.GetAt(1,1), childMatrix.GetAt(2,1), childMatrix.GetAt(3,1), childMatrix.GetAt(0,2), childMatrix.GetAt(1,2), childMatrix.GetAt(2,2), childMatrix.GetAt(3,2),childMatrix.GetAt(0,3), childMatrix.GetAt(1,3), childMatrix.GetAt(2,3), childMatrix.GetAt(3,3))
SetNodeMatrix(currentChild + "/controlPointMesh", "Matrix", childMatrix);
} else {
// Node.Value(currentChild, "Matrix") = childMatrix;
//util.SetNodeValueMatrix(currentChild, "Matrix", childMatrix.GetAt(0,0), childMatrix.GetAt(1,0), childMatrix.GetAt(2,0), childMatrix.GetAt(3,0), childMatrix.GetAt(0,1), childMatrix.GetAt(1,1), childMatrix.GetAt(2,1), childMatrix.GetAt(3,1), childMatrix.GetAt(0,2), childMatrix.GetAt(1,2), childMatrix.GetAt(2,2), childMatrix.GetAt(3,2),childMatrix.GetAt(0,3), childMatrix.GetAt(1,3), childMatrix.GetAt(2,3), childMatrix.GetAt(3,3))
SetNodeMatrix(currentChild, "Matrix", childMatrix);
}
// Node.Value(currentChild, "OwnerMatrix") = identityMatrix;
//util.SetNodeValueMatrix(currentChild, "OwnerMatrix", identityMatrix.GetAt(0,0), identityMatrix.GetAt(1,0), identityMatrix.GetAt(2,0), identityMatrix.GetAt(3,0), identityMatrix.GetAt(0,1), identityMatrix.GetAt(1,1), identityMatrix.GetAt(2,1), identityMatrix.GetAt(3,1), identityMatrix.GetAt(0,2), identityMatrix.GetAt(1,2), identityMatrix.GetAt(2,2), identityMatrix.GetAt(3,2),identityMatrix.GetAt(0,3), identityMatrix.GetAt(1,3), identityMatrix.GetAt(2,3), identityMatrix.GetAt(3,3))
SetNodeMatrix(currentChild, "OwnerMatrix", identityMatrix);
//if still inside a group, connect to transform node
if(numMatrixParents > 0) {
var newParentTransform = Node.LinkedInputNode(theTransform, "OwnerMatrix", 0);
if(Node.ConExists(newParentTransform, "WldMatrix")) {
//Node.ConnectTo(children[i], "OwnerMatrix", newParentTransform, "WldMatrix");
util.ConnectTo(newParentTransform, "WldMatrix", currentChild, "OwnerMatrix");
}
}
}
}
function isaNURBS(currentNode)
{
var nodeOwner = Node.Owner(currentNode);
//child of nurbs selected
if(Node.ConExists(nodeOwner, "isaCurve")) return true;
if(Node.Exists(nodeOwner + "/CP to patch CP")) return true;
//nurbs direct selected
if(Node.ConExists(currentNode, "isaCurve")) return true;
if(Node.Exists(currentNode + "/CP to patch CP")) return true;
return false;
}
function AddOwnerName(curNode)
{
//var util = System.CreateDO("Clintons3D Package/Utility functions");
if(Node.Exists(curNode + "/Object Render Attributes") && Node.ConExists(curNode + "/Object Render Attributes", "Object_Name")) {
var str = Node.ShortName(curNode)
util.SetNodeValueString(curNode + "/Object Render Attributes", "Object_Name", str)
return;
}
if(Node.IsRenderable(curNode) || Node.IsCamera(curNode) || Node.IsLight(curNode)) return;
var numChildren = Node.SubObjectCount(curNode);
for(var i=0; i< numChildren ; i++) {
var child = curNode+ "/" + Node.SubObject(curNode, i);
AddOwnerName(child);
}
}
function SetNodeMatrix(node, conn, matrix)
{
util.SetNodeValueMatrix(node, conn, matrix.GetAt(0,0), matrix.GetAt(1,0), matrix.GetAt(2,0), matrix.GetAt(3,0),
matrix.GetAt(0,1), matrix.GetAt(1,1), matrix.GetAt(2,1), matrix.GetAt(3,1),
matrix.GetAt(0,2), matrix.GetAt(1,2), matrix.GetAt(2,2), matrix.GetAt(3,2),
matrix.GetAt(0,3), matrix.GetAt(1,3), matrix.GetAt(2,3), matrix.GetAt(3,3));
}
Re: Final trueSpace7.61 Beta 8 Std Unofficial Update
Update 106 for trueSpace7.61 Beta 8 Standalone Unofficial Update Version 8
Final Update
NURBSScripts Update: Author - Clinton Reese December 14, 2021
freezeNURBS - Add: RsApp.ClearHistory()
Unglue.xml - Add Utility Function commands
Cut.xml - Add Utility Function command
Show Object Attribs.xml - Fix for NURBS Group
View Widget Transparency
Encircle 'Green' i + Move cursor opens the View Widget Help and View Widget Transparency panel
Before After .
December 16, 2021
https://united3dartists.com/forum/viewt ... =55&t=3731
Instructions:
Recommend that you completely Uninstall and Install trueSpace7.61 Standalone to a clean directory
1.) Run the tS7.61B8Std.8.exe
2.) Browse [...] to where you installed C:\trueSpace761Std, select its folder and then the Extract button
3.) Select the Yes to All button
4.) Open trueSpace and select the Reset to Default Context icon
5.) In Workspace select the Default layout tab
The included Plugins.xml file has the Clintons3dPlugin, Clintons3dPluginExt and Clintons3dRsView, Installed and Loaded to the default path: C:\trueSpace761Std
WARNING: These 3 plugins are required to be Installed and Loaded when using trueSpace!
Final Update
NURBSScripts Update: Author - Clinton Reese December 14, 2021
freezeNURBS - Add: RsApp.ClearHistory()
Unglue.xml - Add Utility Function commands
Cut.xml - Add Utility Function command
Show Object Attribs.xml - Fix for NURBS Group
View Widget Transparency
Encircle 'Green' i + Move cursor opens the View Widget Help and View Widget Transparency panel
Before After .
December 16, 2021
https://united3dartists.com/forum/viewt ... =55&t=3731
Instructions:
Recommend that you completely Uninstall and Install trueSpace7.61 Standalone to a clean directory
1.) Run the tS7.61B8Std.8.exe
2.) Browse [...] to where you installed C:\trueSpace761Std, select its folder and then the Extract button
3.) Select the Yes to All button
4.) Open trueSpace and select the Reset to Default Context icon
5.) In Workspace select the Default layout tab
The included Plugins.xml file has the Clintons3dPlugin, Clintons3dPluginExt and Clintons3dRsView, Installed and Loaded to the default path: C:\trueSpace761Std
WARNING: These 3 plugins are required to be Installed and Loaded when using trueSpace!
Re: Final trueSpace7.61 Beta 8 Std Unofficial Update
Update 108 for trueSpace7.61 Beta 8 Standalone Unofficial Update Version 8
Final Update
Removed - D3D Render
Bake Keyframes - Add Shrink Play Range button script
Animation Preferences/Shrink Play Range button script
December 23, 2021
https://united3dartists.com/forum/viewt ... =55&t=3731
Instructions:
Recommend that you completely Uninstall and Install trueSpace7.61 Standalone to a clean directory
1.) Run the tS7.61B8Std.8.exe
2.) Browse [...] to where you installed C:\trueSpace761Std, select its folder and then the Extract button
3.) Select the Yes to All button
4.) Open trueSpace and select the Reset to Default Context icon
5.) In Workspace select the Default layout tab
The included Plugins.xml file has the Clintons3dPlugin, Clintons3dPluginExt and Clintons3dRsView, Installed and Loaded to the default path: C:\trueSpace761Std
WARNING: These 3 plugins are required to be Installed and Loaded when using trueSpace!
Final Update
Removed - D3D Render
Bake Keyframes - Add Shrink Play Range button script
Animation Preferences/Shrink Play Range button script
December 23, 2021
https://united3dartists.com/forum/viewt ... =55&t=3731
Instructions:
Recommend that you completely Uninstall and Install trueSpace7.61 Standalone to a clean directory
1.) Run the tS7.61B8Std.8.exe
2.) Browse [...] to where you installed C:\trueSpace761Std, select its folder and then the Extract button
3.) Select the Yes to All button
4.) Open trueSpace and select the Reset to Default Context icon
5.) In Workspace select the Default layout tab
The included Plugins.xml file has the Clintons3dPlugin, Clintons3dPluginExt and Clintons3dRsView, Installed and Loaded to the default path: C:\trueSpace761Std
WARNING: These 3 plugins are required to be Installed and Loaded when using trueSpace!
Re: Final trueSpace7.61 Beta 8 Std Unofficial Update
Update 109 for trueSpace7.61 Beta 8 Standalone Unofficial Update Version 8
Final Update
Bake Keyframes - Fixed typo in the Help panel
December 25, 2021
https://united3dartists.com/forum/viewt ... =55&t=3731
Instructions:
Recommend that you completely Uninstall and Install trueSpace7.61 Standalone to a clean directory
1.) Run the tS7.61B8Std.8.exe
2.) Browse [...] to where you installed C:\trueSpace761Std, select its folder and then the Extract button
3.) Select the Yes to All button
4.) Open trueSpace and select the Reset to Default Context icon
5.) In Workspace select the Default layout tab
The included Plugins.xml file has the Clintons3dPlugin, Clintons3dPluginExt and Clintons3dRsView, Installed and Loaded to the default path: C:\trueSpace761Std
WARNING: These 3 plugins are required to be Installed and Loaded when using trueSpace!
Final Update
Bake Keyframes - Fixed typo in the Help panel
December 25, 2021
https://united3dartists.com/forum/viewt ... =55&t=3731
Instructions:
Recommend that you completely Uninstall and Install trueSpace7.61 Standalone to a clean directory
1.) Run the tS7.61B8Std.8.exe
2.) Browse [...] to where you installed C:\trueSpace761Std, select its folder and then the Extract button
3.) Select the Yes to All button
4.) Open trueSpace and select the Reset to Default Context icon
5.) In Workspace select the Default layout tab
The included Plugins.xml file has the Clintons3dPlugin, Clintons3dPluginExt and Clintons3dRsView, Installed and Loaded to the default path: C:\trueSpace761Std
WARNING: These 3 plugins are required to be Installed and Loaded when using trueSpace!
Re: Final trueSpace7.61 Beta 8 Std Unofficial Update
Update 110 for trueSpace7.61 Beta 8 Standalone Unofficial Update Version 8
Final Update
Animation Preferences
Add - Play - Plays the Play Range
Add - Stop - Stops and sets the time to the Start of the Play Range
Bake Keyframes
Add checks for the selected object
January 16, 2022
https://united3dartists.com/forum/viewt ... =55&t=3731
Instructions:
Recommend that you completely Uninstall and Install trueSpace7.61 Standalone to a clean directory
1.) Run the tS7.61B8Std.8.exe
2.) Browse [...] to where you installed C:\trueSpace761Std, select its folder and then the Extract button
3.) Select the Yes to All button
4.) Open trueSpace and select the Reset to Default Context icon
5.) In Workspace select the Default layout tab
The included Plugins.xml file has the Clintons3dPlugin, Clintons3dPluginExt and Clintons3dRsView, Installed and Loaded to the default path: C:\trueSpace761Std
WARNING: These 3 plugins are required to be Installed and Loaded when using trueSpace!
Final Update
Animation Preferences
Add - Play - Plays the Play Range
Add - Stop - Stops and sets the time to the Start of the Play Range
Bake Keyframes
Add checks for the selected object
January 16, 2022
https://united3dartists.com/forum/viewt ... =55&t=3731
Instructions:
Recommend that you completely Uninstall and Install trueSpace7.61 Standalone to a clean directory
1.) Run the tS7.61B8Std.8.exe
2.) Browse [...] to where you installed C:\trueSpace761Std, select its folder and then the Extract button
3.) Select the Yes to All button
4.) Open trueSpace and select the Reset to Default Context icon
5.) In Workspace select the Default layout tab
The included Plugins.xml file has the Clintons3dPlugin, Clintons3dPluginExt and Clintons3dRsView, Installed and Loaded to the default path: C:\trueSpace761Std
WARNING: These 3 plugins are required to be Installed and Loaded when using trueSpace!
Re: Final trueSpace7.61 Beta 8 Std Unofficial Update
Update 111 for trueSpace7.61 Beta 8 Standalone Unofficial Update Version 8
Final Update
Widgets
Point Edit widget
Object Navigation widget
Add
XYZ Locks to Scale and Rotate
Alt + LMB On|Off
View widget
Rotate X 'Blue'
Add
Ctrl + LMB - Open Select Cycle
Rotate YZ 'Red'
Ctrl + LMB - Open Animation toolbar
Cube View widget
Changed Active Highlight color from Yellow to White on all meshes
Applied a darker color for Left, Back and Bottom
Add Right click gesture command RsTool.Arrow() where no Right click gesture existed 'Stops Point Edit mode when an object is selected'
Toolbars
Camera toolbar
Add
Cycle Camera Views CustomAnimToolbar CustomCommands
Update
Keyframe Interpolation Author - Clinton Reese 2/9/2022
Clintons3dPlugin.rsx v.1638433 Select
Add
Cycle aspect Commands
Add
CycleCameras.xml Author - Clinton Reese
Animation scripts library
Random Color
Random Number
Random Integer
Counter
Active
Vibrator
My Anim Clips library
100 Vibrations.RsClip
Status Message
Update Author - Clinton Reese
Shortcuts
Anim View
Add
Ctrl + U = Clear Selection
February 10, 2022
https://united3dartists.com/forum/viewt ... =55&t=3731
Instructions:
Recommend that you completely Uninstall and Install trueSpace7.61 Standalone to a clean directory
1.) Run the tS7.61B8Std.8.exe
2.) Browse [...] to where you installed C:\trueSpace761Std, select its folder and then the Extract button
3.) Select the Yes to All button
4.) Open trueSpace and select the Reset to Default Context icon
5.) In Workspace select the Default layout tab
The included Plugins.xml file has the Clintons3dPlugin, Clintons3dPluginExt and Clintons3dRsView, Installed and Loaded to the default path: C:\trueSpace761Std
WARNING: These 3 plugins are required to be Installed and Loaded when using trueSpace!
Final Update
Widgets
Point Edit widget
Object Navigation widget
Add
XYZ Locks to Scale and Rotate
Alt + LMB On|Off
View widget
Rotate X 'Blue'
Add
Ctrl + LMB - Open Select Cycle
Rotate YZ 'Red'
Ctrl + LMB - Open Animation toolbar
Cube View widget
Changed Active Highlight color from Yellow to White on all meshes
Applied a darker color for Left, Back and Bottom
Add Right click gesture command RsTool.Arrow() where no Right click gesture existed 'Stops Point Edit mode when an object is selected'
Toolbars
Camera toolbar
Add
Cycle Camera Views CustomAnimToolbar CustomCommands
Update
Keyframe Interpolation Author - Clinton Reese 2/9/2022
Clintons3dPlugin.rsx v.1638433 Select
Add
Cycle aspect Commands
Add
CycleCameras.xml Author - Clinton Reese
Animation scripts library
Random Color
Random Number
Random Integer
Counter
Active
Vibrator
My Anim Clips library
100 Vibrations.RsClip
Status Message
Update Author - Clinton Reese
Shortcuts
Anim View
Add
Ctrl + U = Clear Selection
February 10, 2022
https://united3dartists.com/forum/viewt ... =55&t=3731
Instructions:
Recommend that you completely Uninstall and Install trueSpace7.61 Standalone to a clean directory
1.) Run the tS7.61B8Std.8.exe
2.) Browse [...] to where you installed C:\trueSpace761Std, select its folder and then the Extract button
3.) Select the Yes to All button
4.) Open trueSpace and select the Reset to Default Context icon
5.) In Workspace select the Default layout tab
The included Plugins.xml file has the Clintons3dPlugin, Clintons3dPluginExt and Clintons3dRsView, Installed and Loaded to the default path: C:\trueSpace761Std
WARNING: These 3 plugins are required to be Installed and Loaded when using trueSpace!
Re: Final trueSpace7.61 Beta 8 Std Unofficial Update
Update 112 for trueSpace7.61 Beta 8 Standalone Unofficial Update Version 8
Final Update
Toolbars
AnimationBar/Flat
CustomAnimToolbar
Update LMB & RMB commands use:
util.SetNodeValueString
CustomCommands
Keyframe Interpolation Author - Clinton Reese 2/9/2022
Update
recordKey & modifyKeys scripts use:
util.SetNodeValueInt
Switch aspect buttons
RMB = Open - Interpolation Toolbar
Add
if(!Node.Exist... Open toolbar
February 11, 2022
https://united3dartists.com/forum/viewt ... =55&t=3731
Instructions:
Recommend that you completely Uninstall and Install trueSpace7.61 Standalone to a clean directory
1.) Run the tS7.61B8Std.8.exe
2.) Browse [...] to where you installed C:\trueSpace761Std, select its folder and then the Extract button
3.) Select the Yes to All button
4.) Open trueSpace and select the Reset to Default Context icon
5.) In Workspace select the Default layout tab
The included Plugins.xml file has the Clintons3dPlugin, Clintons3dPluginExt and Clintons3dRsView, Installed and Loaded to the default path: C:\trueSpace761Std
WARNING: These 3 plugins are required to be Installed and Loaded when using trueSpace!
Final Update
Toolbars
AnimationBar/Flat
CustomAnimToolbar
Update LMB & RMB commands use:
util.SetNodeValueString
CustomCommands
Keyframe Interpolation Author - Clinton Reese 2/9/2022
Update
recordKey & modifyKeys scripts use:
util.SetNodeValueInt
Switch aspect buttons
RMB = Open - Interpolation Toolbar
Add
if(!Node.Exist... Open toolbar
February 11, 2022
https://united3dartists.com/forum/viewt ... =55&t=3731
Instructions:
Recommend that you completely Uninstall and Install trueSpace7.61 Standalone to a clean directory
1.) Run the tS7.61B8Std.8.exe
2.) Browse [...] to where you installed C:\trueSpace761Std, select its folder and then the Extract button
3.) Select the Yes to All button
4.) Open trueSpace and select the Reset to Default Context icon
5.) In Workspace select the Default layout tab
The included Plugins.xml file has the Clintons3dPlugin, Clintons3dPluginExt and Clintons3dRsView, Installed and Loaded to the default path: C:\trueSpace761Std
WARNING: These 3 plugins are required to be Installed and Loaded when using trueSpace!
Re: Final trueSpace7.61 Beta 8 Std Unofficial Update
Update 113 for trueSpace7.61 Beta 8 Standalone Unofficial Update Version 8
Final Update
Widgets/Object Rotate
Ctrl + LB - Rotate selected object +45 degrees
Alt + LB - Rotate selected object -45 degrees
Fixed error with Mutiple selected objects
Use First selected only
Edit
Removed support for Cameras, Spot, & Projector lights
February 13, 2022
https://united3dartists.com/forum/viewt ... =55&t=3731
Instructions:
Recommend that you completely Uninstall and Install trueSpace7.61 Standalone to a clean directory
1.) Run the tS7.61B8Std.8.exe
2.) Browse [...] to where you installed C:\trueSpace761Std, select its folder and then the Extract button
3.) Select the Yes to All button
4.) Open trueSpace and select the Reset to Default Context icon
5.) In Workspace select the Default layout tab
The included Plugins.xml file has the Clintons3dPlugin, Clintons3dPluginExt and Clintons3dRsView, Installed and Loaded to the default path: C:\trueSpace761Std
WARNING: These 3 plugins are required to be Installed and Loaded when using trueSpace!
Final Update
Widgets/Object Rotate
Ctrl + LB - Rotate selected object +45 degrees
Alt + LB - Rotate selected object -45 degrees
Fixed error with Mutiple selected objects
Use First selected only
Edit
Removed support for Cameras, Spot, & Projector lights
February 13, 2022
https://united3dartists.com/forum/viewt ... =55&t=3731
Instructions:
Recommend that you completely Uninstall and Install trueSpace7.61 Standalone to a clean directory
1.) Run the tS7.61B8Std.8.exe
2.) Browse [...] to where you installed C:\trueSpace761Std, select its folder and then the Extract button
3.) Select the Yes to All button
4.) Open trueSpace and select the Reset to Default Context icon
5.) In Workspace select the Default layout tab
The included Plugins.xml file has the Clintons3dPlugin, Clintons3dPluginExt and Clintons3dRsView, Installed and Loaded to the default path: C:\trueSpace761Std
WARNING: These 3 plugins are required to be Installed and Loaded when using trueSpace!