Skip to main content
1-Visitor
July 8, 2019
Solved

How to change transparency of objects through script

  • July 8, 2019
  • 1 reply
  • 2282 views

Basically the title, I've been trying use the opacity value to make a model part "fade" away but when I change the value, it's reflected when I print it to console but not on the model itself. Thanks!

Best answer by jmikesell

You will need to write a loop to change the opacity in increments over time to get your fade. But there are two ways to actually change opacity value:

$scope.setWidgetProp('myObjectName', 'opacity', 0.5); //opacity values are 0-1
$scope.view.wdg['myObjectName'].opacity = 0.5;

Generally the setWidgetProp method is the most reliable at triggering a view refresh and actually showing the change you made. But you may get different results with 2D and 3D widgets.

 

I would share some code snippets of what you have so far if you want more detailed feedback.

1 reply

jmikesell1-VisitorAnswer
1-Visitor
July 9, 2019

You will need to write a loop to change the opacity in increments over time to get your fade. But there are two ways to actually change opacity value:

$scope.setWidgetProp('myObjectName', 'opacity', 0.5); //opacity values are 0-1
$scope.view.wdg['myObjectName'].opacity = 0.5;

Generally the setWidgetProp method is the most reliable at triggering a view refresh and actually showing the change you made. But you may get different results with 2D and 3D widgets.

 

I would share some code snippets of what you have so far if you want more detailed feedback.

cmodin1-VisitorAuthor
1-Visitor
July 9, 2019

I've been using a loop with: $scope.view.wdg[lbl]['opacity'] -= 0.005;

 

I'll try your two suggestions and see if that fixes it