<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Simulate Fluid Flow in Vuforia Studio</title>
    <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670190#M8349</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;is it possible to&amp;nbsp;&lt;SPAN&gt;represent a fluid flow just like it shown in the video?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;How can i achieve that? With JS or JS and the TML-Widget?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks you for every tip.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 08 Jun 2020 07:25:05 GMT</pubDate>
    <dc:creator>DenGrz</dc:creator>
    <dc:date>2020-06-08T07:25:05Z</dc:date>
    <item>
      <title>Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670190#M8349</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;is it possible to&amp;nbsp;&lt;SPAN&gt;represent a fluid flow just like it shown in the video?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;How can i achieve that? With JS or JS and the TML-Widget?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks you for every tip.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jun 2020 07:25:05 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670190#M8349</guid>
      <dc:creator>DenGrz</dc:creator>
      <dc:date>2020-06-08T07:25:05Z</dc:date>
    </item>
    <item>
      <title>Re: Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670195#M8350</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://www.ptcusercommunity.com/t5/user/viewprofilepage/user-id/310890"&gt;@DenGrz&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;in generally case it is very difficult to display property a fluid flow.&lt;/P&gt;
&lt;P&gt;The one possible way I know is to use a shader for the workflow with the map to texture which will move in uv direction.&lt;/P&gt;
&lt;P&gt;IN this particular example I think we need 4 different shaders where the texture should move in + and -x and +y and -y for the different parts of the pipe system. Of course we need a picture with a proper texture.&lt;/P&gt;
&lt;P&gt;I think in the community we have a post where we did similar techniques&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.ptc.com/t5/Vuforia-Studio/Water-flow-visible-after-a-time/m-p/664831#M8186" target="_blank" rel="noopener"&gt;https://community.ptc.com/t5/Vuforia-Studio/Water-flow-visible-after-a-time/m-p/664831#M8186&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;In this case we need to adapt the direction where the texture is moved according the pipe position and orientation.&lt;/P&gt;
&lt;P&gt;The pipe could be a 3D Image /only flat but in 3d space - e.g. 4 images for the different pipes/ or a model which perisist at least of 4 pipe components&lt;/P&gt;
&lt;P&gt;We can use&amp;nbsp; of course one shader but then nwe can set&amp;nbsp; different flow direction.&lt;/P&gt;
&lt;P&gt;Let me check more deeply and will give you feedback /this week&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jun 2020 07:50:54 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670195#M8350</guid>
      <dc:creator>RolandRaytchev</dc:creator>
      <dc:date>2020-06-08T07:50:54Z</dc:date>
    </item>
    <item>
      <title>Re: Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670205#M8351</link>
      <description>&lt;P&gt;I want to mention that shaders with GLSL , so far I know , are working only on mobile platforms - IOS and Android. I did not manage yet to get it working on HoloLens.&amp;nbsp; But I believe this could change.&lt;/P&gt;
&lt;P&gt;Currently shaders are possible on the HoloLens but with another tool / MRTK - API&amp;nbsp;&lt;A href="https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/GettingStartedWithTheMRTK.html" target="_blank"&gt;https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/GettingStartedWithTheMRTK.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Which is not supported in Studio yet.&amp;nbsp; Therefore, for HoloLens device I have no idea how to implement such shader. I see that dev team is considering and working on&amp;nbsp;such solution&amp;nbsp; but have no information about the implementation.&lt;/P&gt;
&lt;P&gt;If somebody have idea for the HoloLens it will be nice to share it here. Thanks!&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jun 2020 08:04:13 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670205#M8351</guid>
      <dc:creator>RolandRaytchev</dc:creator>
      <dc:date>2020-06-08T08:04:13Z</dc:date>
    </item>
    <item>
      <title>Re: Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670303#M8354</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://www.ptcusercommunity.com/t5/user/viewprofilepage/user-id/310890"&gt;@DenGrz&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;so tested it&amp;nbsp; and&amp;nbsp; on a Mobile device seem to work as I suggested in the previous post:&lt;/P&gt;
&lt;P&gt;&lt;div class="lia-vid-container video-embed-center"&gt;&lt;div id="lia-vid-6162411285001w806h540r701" class="lia-video-brightcove-player-container"&gt;&lt;video-js data-video-id="6162411285001" data-account="6058022026001" data-player="default" data-embed="default" class="vjs-fluid" controls="" data-application-id="" style="width: 100%; height: 100%;"&gt;&lt;/video-js&gt;&lt;/div&gt;&lt;script src="https://players.brightcove.net/6058022026001/default_default/index.min.js"&gt;&lt;/script&gt;&lt;script&gt;(function() {  var wrapper = document.getElementById('lia-vid-6162411285001w806h540r701');  var videoEl = wrapper ? wrapper.querySelector('video-js') : null;  if (videoEl) {     if (window.videojs) {       window.videojs(videoEl).ready(function() {         this.on('loadedmetadata', function() {           this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) {             bar.setAttribute('role', 'presentation');             bar.setAttribute('aria-hidden', 'true');           });         });       });     }  }})();&lt;/script&gt;&lt;a class="video-embed-link" href="https://www.ptcusercommunity.com/t5/video/gallerypage/video-id/6162411285001"&gt;(view in My Videos)&lt;/a&gt;&lt;/div&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So I used a shader definition from the post I mentioned before&amp;nbsp; in&amp;nbsp; :&lt;A href="https://community.ptc.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670205#M8351" target="_blank" rel="noopener"&gt;https://community.ptc.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670205#M8351&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I created a small pipeline assembly - where some of the pipes are define as modelItems and I applied there a shader. Here the shader&amp;nbsp; uses different values for u,v depending on the pipe postion:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2020-06-08_15-45-45.jpg" style="width: 987px;"&gt;&lt;img src="https://www.ptcusercommunity.com/t5/image/serverpage/image-id/27889iABC9847CC6819DE9/image-size/large?v=v2&amp;amp;px=999" role="button" title="2020-06-08_15-45-45.jpg" alt="2020-06-08_15-45-45.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I tested with the follwing code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;var debug=false
$scope.val =0;
$scope.val1 =0;
$scope.app.shaderString="texture_test;scale f 2;moveX f 0;moveY f 0;lightscale f 1.0";

$scope.$on('$ionicView.afterEnter',function(){
 
  $scope.$applyAsync()
})

$rootScope.$on('modelLoaded',function(){
  
 
  for(var i=1;i&amp;lt;6;i++){
//$scope.view.wdg['modelItem-'+i]['texture'] = "app/resources/Uploaded/water.jpg?name=Texture0&amp;amp;edge=repeat";
  $scope.view.wdg['modelItem-'+i]['texture']  = "app/resources/Uploaded/wasser.jpg?name=Texture0&amp;amp;edge=repeat";  
  $scope.view.wdg['modelItem-'+i]['opacity']  =0.5;  
  $scope.setWidgetProp('modelItem-'+i, 'shader', $scope.app.shaderString);}
  
  $scope.$applyAsync()
 
})
////////////

//========================================================
$scope.app.setShaderNew= function(widgetName,xDir,yDir,delay,duration)
{
var calldelay =3000; //3 seconds
var  callduration=10000;//10secs
var jumpInterval=5;
  
 if(delay !=undefined)    calldelay    = delay;
 if(duration !=undefined) callduration = duration;
  
$timeout( () =&amp;gt; {
  
  $interval(function() { 
  
     if($scope.val &amp;gt;500) $scope.val =0
    else $scope.val +=1
   
    var scale= 1.0;
    var moveX= $scope.val/500*xDir;
    var moveY= $scope.val/500*yDir;
    var transp= 0.75+0.25*(Math.sin(12.0*Math.PI*$scope.val/500));//6 waves

   
   $scope.app.shaderString = "texture_test;scale f "+scale+";moveX f "+moveX+";moveY f "+moveY+ ";lightscale f "+transp;
    $scope.setWidgetProp(widgetName, 'shader', $scope.app.shaderString);
      $scope.view.wdg[widgetName]['opacity'] =transp;
   if(debug) console.info( $scope.app.shaderString)
  $scope.$applyAsync()
  }, jumpInterval, callduration/jumpInterval)},calldelay);
$timeout( () =&amp;gt; {$scope.setWidgetProp(widgetName,'shader',"Default")},calldelay+callduration);
};
//
$scope.app.myButtonFunction= function( ){      
         $scope.app.setShaderNew('modelItem-1', 1.0, 0.0,2000,15000)
         $scope.app.setShaderNew('modelItem-2', 1.0, 0.0,2000,15000)
         $scope.app.setShaderNew('modelItem-3', 0.0, 1.0,2000,15000)
         $scope.app.setShaderNew('modelItem-4',-1.0, 0.0,2000,15000)
         $scope.app.setShaderNew('modelItem-5', 0.0,-1.0,2000,15000)
          
        }&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The pipeline assemy was created in Creo Parametric and exported to pvz:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2020-06-08_16-03-25.jpg" style="width: 999px;"&gt;&lt;img src="https://www.ptcusercommunity.com/t5/image/serverpage/image-id/27890i29A9F94E6E565E63/image-size/large?v=v2&amp;amp;px=999" role="button" title="2020-06-08_16-03-25.jpg" alt="2020-06-08_16-03-25.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;When assembling the pipes , I inserted the components always in the flow direction - means z-axis was in flow direction&lt;/P&gt;
&lt;P&gt;Here the shader definition in the tml Text widget:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;&amp;lt;script name="texture_test" type="x-shader/x-fragment"&amp;gt;

  precision mediump float;
uniform sampler2D Texture0;
uniform float lightscale;// light intensity
uniform float scale;
uniform float moveX;
uniform float moveY;
  // determine varying parameters
  varying vec3 N;
  varying vec4 vertexCoord;

  // determine shader input parameters
  uniform vec4 surfaceColor;
 

  const vec3 lightPos = vec3(0.5, 0.5,3.0);//light postion see the pulb in model
  const vec4 ambientColor =  vec4(0.5, 0.5, 0.5, 1.0);

  void main() {

    // calc the dot product and clamp based on light position
    // 0 -&amp;gt; 1 rather than -1 -&amp;gt; 1
      
    // ensure everything is normalized
    vec3 lightDir = -(normalize(lightPos)); 
    vec3 NN  = normalize(N);

    // calculate the dot product of the light to the vertex normal
    float dProd = max(0.0, dot(NN, -lightDir));

   
    {
      // calculate the color based on light-source and shadows on model
	  vec2 TexCoord = vec2( vertexCoord )*scale;
          TexCoord.x=TexCoord.x+moveX;
          TexCoord.y=TexCoord.y+moveY;
	  vec4 color  = texture2D(Texture0, TexCoord) ;
      gl_FragColor = (ambientColor*lightscale + vec4(dProd)) *color ;// surfaceColor;
    }
  }
&amp;lt;/script&amp;gt;

&amp;lt;script name="texture_test" type="x-shader/x-vertex"&amp;gt;

  attribute vec3 vertexPosition; 
  attribute vec3 vertexNormal;

  varying vec3 N;
  varying vec4 vertexCoord;

  uniform mat4 modelMatrix;
  uniform mat4 modelViewProjectionMatrix;

  void main() {

    vec4 vp     = vec4(vertexPosition, 1.0);
    gl_Position = modelViewProjectionMatrix * vp;
    vertexCoord = modelMatrix*vp;

    // the surface normal vector
    N = vec3(normalize(modelMatrix* vec4(vertexNormal,0.0)));
  }


&amp;lt;/script&amp;gt;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jun 2020 14:10:40 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670303#M8354</guid>
      <dc:creator>RolandRaytchev</dc:creator>
      <dc:date>2020-06-08T14:10:40Z</dc:date>
    </item>
    <item>
      <title>Re: Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670504#M8358</link>
      <description>&lt;P&gt;Yes thats looks very good!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And is it also possible to have an red flow and a blue flow e.g for the hot and cold water ?&lt;/P&gt;
&lt;P&gt;You use an jpg. for the texture ? There do you find this jpg ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks in advance.&lt;/P&gt;</description>
      <pubDate>Tue, 09 Jun 2020 07:14:11 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670504#M8358</guid>
      <dc:creator>DenGrz</dc:creator>
      <dc:date>2020-06-09T07:14:11Z</dc:date>
    </item>
    <item>
      <title>Re: Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670512#M8360</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://www.ptcusercommunity.com/t5/user/viewprofilepage/user-id/24955"&gt;@RolandRaytchev&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I tested it on my model. But in this moment it doesn´t work.&lt;/P&gt;
&lt;P&gt;I have a model with several&amp;nbsp;&lt;SPAN&gt;pipelines and they have different x,y and z coord.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have to change definitely the js code and/ or the tml text ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks in advance.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Jun 2020 08:15:38 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670512#M8360</guid>
      <dc:creator>DenGrz</dc:creator>
      <dc:date>2020-06-09T08:15:38Z</dc:date>
    </item>
    <item>
      <title>Re: Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670536#M8361</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://www.ptcusercommunity.com/t5/user/viewprofilepage/user-id/310890"&gt;@DenGrz&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;no Idea what could be the problem.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As mentioned it should work only on mobile platform (preview, ios and android) but not on HoloLens device.&lt;/P&gt;
&lt;P&gt;Here attached the sample project. May be you can test if it works in your environment and if it works then see what is the difference. Then ,please , let me know if you have success with it. Thanks!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Jun 2020 10:33:42 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670536#M8361</guid>
      <dc:creator>RolandRaytchev</dc:creator>
      <dc:date>2020-06-09T10:33:42Z</dc:date>
    </item>
    <item>
      <title>Re: Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670556#M8363</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://www.ptcusercommunity.com/t5/user/viewprofilepage/user-id/24955"&gt;@RolandRaytchev&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I tested it with the sample project and it works perferctly. Thanks for it!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now i would like to include one thing.&lt;/P&gt;
&lt;P&gt;I would like to bring more modelIteams with an other jpg.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I copy and paste the same code but with the new modelIteams and the other jpg.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;var debug=false&lt;BR /&gt;$scope.val =0;&lt;BR /&gt;$scope.val1 =0;&lt;BR /&gt;$scope.app.shaderString="texture_test;scale f 2;moveX f 0;moveY f 0;lightscale f 1.0";&lt;BR /&gt;&lt;BR /&gt;$scope.$on('$ionicView.afterEnter',function(){&lt;BR /&gt;&lt;BR /&gt;$scope.$applyAsync()&lt;BR /&gt;})&lt;BR /&gt;&lt;BR /&gt;$rootScope.$on('modelLoaded',function(){&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;for(var i=1;i&amp;lt;13;i++){&lt;BR /&gt;//$scope.view.wdg['modelItem-'+i]['texture'] = "app/resources/Uploaded/water.jpg?name=Texture0&amp;amp;edge=repeat";&lt;BR /&gt;$scope.view.wdg['modelItem-'+i]['texture'] = "app/resources/Uploaded/wasser.jpg?name=Texture0&amp;amp;edge=repeat"; &lt;BR /&gt;$scope.view.wdg['modelItem-'+i]['opacity'] =0.5; &lt;BR /&gt;$scope.setWidgetProp('modelItem-'+i, 'shader', $scope.app.shaderString);}&lt;BR /&gt;&lt;BR /&gt;$scope.$applyAsync()&lt;BR /&gt;&lt;BR /&gt;})&lt;BR /&gt;////////////&lt;BR /&gt;&lt;BR /&gt;//========================================================&lt;BR /&gt;$scope.app.setShaderNew= function(widgetName,xDir,yDir,delay,duration)&lt;BR /&gt;{&lt;BR /&gt;var calldelay =3000; //3 seconds&lt;BR /&gt;var callduration=10000;//10secs&lt;BR /&gt;var jumpInterval=250;&lt;BR /&gt;&lt;BR /&gt;if(delay !=undefined) calldelay = delay;&lt;BR /&gt;if(duration !=undefined) callduration = duration;&lt;BR /&gt;&lt;BR /&gt;$timeout( () =&amp;gt; {&lt;BR /&gt;&lt;BR /&gt;$interval(function() { &lt;BR /&gt;&lt;BR /&gt;if($scope.val &amp;gt;500) $scope.val =0&lt;BR /&gt;else $scope.val +=1&lt;BR /&gt;&lt;BR /&gt;var scale= 1.0;&lt;BR /&gt;var moveX= $scope.val/500*xDir;&lt;BR /&gt;var moveY= $scope.val/500*yDir;&lt;BR /&gt;var transp= 0.75+0.25*(Math.sin(12.0*Math.PI*$scope.val/500));//6 waves&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;$scope.app.shaderString = "texture_test;scale f "+scale+";moveX f "+moveX+";moveY f "+moveY+ ";lightscale f "+transp;&lt;BR /&gt;$scope.setWidgetProp(widgetName, 'shader', $scope.app.shaderString);&lt;BR /&gt;$scope.view.wdg[widgetName]['opacity'] =transp;&lt;BR /&gt;if(debug) console.info( $scope.app.shaderString)&lt;BR /&gt;$scope.$applyAsync()&lt;BR /&gt;}, jumpInterval, callduration/jumpInterval)},calldelay);&lt;BR /&gt;&lt;BR /&gt;$timeout( () =&amp;gt; {$scope.setWidgetProp(widgetName,'shader',"Default")},calldelay+callduration);&lt;BR /&gt;};&lt;BR /&gt;//&lt;BR /&gt;$scope.app.myButtonFunction= function( ){&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;$scope.app.setShaderNew('modelItem-1', 1.0, 0.0,2000,15000)&lt;BR /&gt;$scope.app.setShaderNew('modelItem-2', 1.0, 0.0,2000,15000)&lt;BR /&gt;$scope.app.setShaderNew('modelItem-3', 0.0, 1.0,2000,15000)&lt;BR /&gt;$scope.app.setShaderNew('modelItem-4',-1.0, 0.0,2000,15000)&lt;BR /&gt;$scope.app.setShaderNew('modelItem-5', 0.0,-1.0,2000,15000)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;var debug=false&lt;BR /&gt;$scope.val =0;&lt;BR /&gt;$scope.val1 =0;&lt;BR /&gt;$scope.app.shaderString="texture_test;scale f 2;moveX f 0;moveY f 0;lightscale f 1.0";&lt;BR /&gt;&lt;BR /&gt;$scope.$on('$ionicView.afterEnter',function(){&lt;BR /&gt;&lt;BR /&gt;$scope.$applyAsync()&lt;BR /&gt;})&lt;BR /&gt;&lt;BR /&gt;$rootScope.$on('modelLoaded',function(){&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;for(var i=1;i&amp;lt;13;i++){&lt;BR /&gt;//$scope.view.wdg['modelItem-'+i]['texture'] = "app/resources/Uploaded/water.jpg?name=Texture0&amp;amp;edge=repeat";&lt;BR /&gt;$scope.view.wdg['modelItem-'+i]['texture'] = "app/resources/Uploaded/Fluid_Blau.png?name=Texture0&amp;amp;edge=repeat"; &lt;BR /&gt;$scope.view.wdg['modelItem-'+i]['opacity'] =0.5; &lt;BR /&gt;$scope.setWidgetProp('modelItem-'+i, 'shader', $scope.app.shaderString);}&lt;BR /&gt;&lt;BR /&gt;$scope.$applyAsync()&lt;BR /&gt;&lt;BR /&gt;})&lt;BR /&gt;////////////&lt;BR /&gt;&lt;BR /&gt;//========================================================&lt;BR /&gt;$scope.app.setShaderNew= function(widgetName,xDir,yDir,delay,duration)&lt;BR /&gt;{&lt;BR /&gt;var calldelay =3000; //3 seconds&lt;BR /&gt;var callduration=10000;//10secs&lt;BR /&gt;var jumpInterval=250;&lt;BR /&gt;&lt;BR /&gt;if(delay !=undefined) calldelay = delay;&lt;BR /&gt;if(duration !=undefined) callduration = duration;&lt;BR /&gt;&lt;BR /&gt;$timeout( () =&amp;gt; {&lt;BR /&gt;&lt;BR /&gt;$interval(function() { &lt;BR /&gt;&lt;BR /&gt;if($scope.val &amp;gt;500) $scope.val =0&lt;BR /&gt;else $scope.val +=1&lt;BR /&gt;&lt;BR /&gt;var scale= 1.0;&lt;BR /&gt;var moveX= $scope.val/500*xDir;&lt;BR /&gt;var moveY= $scope.val/500*yDir;&lt;BR /&gt;var transp= 0.75+0.25*(Math.sin(12.0*Math.PI*$scope.val/500));//6 waves&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;$scope.app.shaderString = "texture_test;scale f "+scale+";moveX f "+moveX+";moveY f "+moveY+ ";lightscale f "+transp;&lt;BR /&gt;$scope.setWidgetProp(widgetName, 'shader', $scope.app.shaderString);&lt;BR /&gt;$scope.view.wdg[widgetName]['opacity'] =transp;&lt;BR /&gt;if(debug) console.info( $scope.app.shaderString)&lt;BR /&gt;$scope.$applyAsync()&lt;BR /&gt;}, jumpInterval, callduration/jumpInterval)},calldelay);&lt;BR /&gt;&lt;BR /&gt;$timeout( () =&amp;gt; {$scope.setWidgetProp(widgetName,'shader',"Default")},calldelay+callduration);&lt;BR /&gt;};&lt;BR /&gt;//&lt;BR /&gt;$scope.app.myButtonFunction= function( ){&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;$scope.app.setShaderNew('modelItem-6', 0.0,-1.0,2000,15000)&lt;BR /&gt;$scope.app.setShaderNew('modelItem-7', 0.0,-1.0,2000,15000)&lt;BR /&gt;$scope.app.setShaderNew('modelItem-8', 0.0,-1.0,2000,15000)&lt;BR /&gt;$scope.app.setShaderNew('modelItem-9', 0.0,-1.0,2000,15000)&lt;BR /&gt;$scope.app.setShaderNew('modelItem-10', 0.0,-1.0,2000,15000)&lt;BR /&gt;$scope.app.setShaderNew('modelItem-11', 0.0,-1.0,2000,15000)&lt;BR /&gt;$scope.app.setShaderNew('modelItem-12', 0.0,-1.0,2000,15000)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;}&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In the modelIteam 6-12 i see the flow, but modelIteam 1-5 is nothing.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There can be my mistake?&lt;/P&gt;
&lt;P&gt;Thanks in advance.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Jun 2020 12:07:49 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670556#M8363</guid>
      <dc:creator>DenGrz</dc:creator>
      <dc:date>2020-06-09T12:07:49Z</dc:date>
    </item>
    <item>
      <title>Re: Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670573#M8364</link>
      <description>&lt;P&gt;I am not sure, but it seems that you copied the whole code 2 times / when I interperted correctly you message. In this case you will override partially the code from modelItem 1-5 by the second code and the initialization of item 1- 5 were lost.&lt;/P&gt;
&lt;P&gt;You need to use the same code but for more items e.g.:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;scope.app.myButtonFunction= function( ){

$scope.app.setShaderNew('modelItem-1', 1.0, 0.0,2000,15000)
$scope.app.setShaderNew('modelItem-2', 1.0, 0.0,2000,15000)
$scope.app.setShaderNew('modelItem-3', 0.0, 1.0,2000,15000)
$scope.app.setShaderNew('modelItem-4',-1.0, 0.0,2000,15000)
$scope.app.setShaderNew('modelItem-5', 0.0,-1.0,2000,15000)
$scope.app.setShaderNew('modelItem-6', 0.0,-1.0,2000,15000)
$scope.app.setShaderNew('modelItem-7', 0.0,-1.0,2000,15000)
$scope.app.setShaderNew('modelItem-8', 0.0,-1.0,2000,15000)
$scope.app.setShaderNew('modelItem-9', 0.0,-1.0,2000,15000)
$scope.app.setShaderNew('modelItem-10', 0.0,-1.0,2000,15000)
$scope.app.setShaderNew('modelItem-11', 0.0,-1.0,2000,15000)
$scope.app.setShaderNew('modelItem-12', 0.0,-1.0,2000,15000)



}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also it depends on the size of the picture and also on the creation of the model , how is the position of the texture uv coordinates. But this to be tested more detailed on the test project.&lt;/P&gt;</description>
      <pubDate>Tue, 09 Jun 2020 13:33:52 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670573#M8364</guid>
      <dc:creator>RolandRaytchev</dc:creator>
      <dc:date>2020-06-09T13:33:52Z</dc:date>
    </item>
    <item>
      <title>Re: Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670757#M8373</link>
      <description>&lt;P&gt;OK. With the same jpg file for alle modelIteams it work perfect.&lt;/P&gt;
&lt;P&gt;And if i would like to have for the different modelIteams use other jpg´s.&lt;/P&gt;
&lt;P&gt;How would be the js code ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;E.g i tested it like the following code. But it doesn´t work so.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt; &lt;BR /&gt;&lt;BR /&gt;for(var i=1;i&amp;lt;13;i++){&lt;BR /&gt;//$scope.view.wdg['modelItem-'+i]['texture'] = "app/resources/Uploaded/water.jpg?name=Texture0&amp;amp;edge=repeat";&lt;BR /&gt;$scope.view.wdg['modelItem-1']['texture'] = "app/resources/Uploaded/wasser.jpg?name=Texture0&amp;amp;edge=repeat"; &lt;BR /&gt;$scope.view.wdg['modelItem-1']['opacity'] =0.5; &lt;BR /&gt;$scope.setWidgetProp('modelItem-1', 'shader', $scope.app.shaderString);}&lt;BR /&gt;&lt;BR /&gt;$scope.view.wdg['modelItem-2']['texture'] = "app/resources/Uploaded/Fluid_Blau.png?name=Texture0&amp;amp;edge=repeat"; &lt;BR /&gt;$scope.view.wdg['modelItem-2']['opacity'] =0.5; &lt;BR /&gt;$scope.setWidgetProp('modelItem-2', 'shader', $scope.app.shaderString);}&lt;BR /&gt;&lt;BR /&gt;$scope.view.wdg['modelItem-3']['texture'] = "app/resources/Uploaded/Fluid_Blau.png?name=Texture0&amp;amp;edge=repeat"; &lt;BR /&gt;$scope.view.wdg['modelItem-3']['opacity'] =0.5; &lt;BR /&gt;$scope.setWidgetProp('modelItem-3', 'shader', $scope.app.shaderString);}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;$scope.$applyAsync()&lt;BR /&gt;&lt;BR /&gt;})&lt;BR /&gt;////////////&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In this example the modelIteam 2 and 3 had a other jpg file.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How can be the right code looks like?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks in advance.&lt;/P&gt;</description>
      <pubDate>Wed, 10 Jun 2020 09:40:26 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670757#M8373</guid>
      <dc:creator>DenGrz</dc:creator>
      <dc:date>2020-06-10T09:40:26Z</dc:date>
    </item>
    <item>
      <title>Re: Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670763#M8374</link>
      <description>&lt;P&gt;I did simple searcheon google water pictures&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.google.com/search?safe=active&amp;amp;rlz=1C1GCEV_en&amp;amp;sxsrf=ALeKk00FTusUGWuvU0F77nJr3rERfvsbxQ:1591782882975&amp;amp;q=water+pictures&amp;amp;tbm=isch&amp;amp;chips=q:water+pictures,g_1:wallpaper&amp;amp;sa=X&amp;amp;ved=2ahUKEwiP-bGq_fbpAhUPTxUIHVQvDXkQgIoDKAJ6BAgKEAY&amp;amp;biw=914&amp;amp;bih=582&amp;amp;dpr=1.75" target="_blank"&gt;https://www.google.com/search?safe=active&amp;amp;rlz=1C1GCEV_en&amp;amp;sxsrf=ALeKk00FTusUGWuvU0F77nJr3rERfvsbxQ:1591782882975&amp;amp;q=water+pictures&amp;amp;tbm=isch&amp;amp;chips=q:water+pictures,g_1:wallpaper&amp;amp;sa=X&amp;amp;ved=2ahUKEwiP-bGq_fbpAhUPTxUIHVQvDXkQgIoDKAJ6BAgKEAY&amp;amp;biw=914&amp;amp;bih=582&amp;amp;dpr=1.75&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;So if you search for "red water pictures" - you can find&amp;nbsp; some pictures 2-3 pictures which could be used- need to have a wave&amp;nbsp; texture&amp;nbsp; to see beter the flow when you move the texture in x or y direction.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 10 Jun 2020 10:01:59 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670763#M8374</guid>
      <dc:creator>RolandRaytchev</dc:creator>
      <dc:date>2020-06-10T10:01:59Z</dc:date>
    </item>
    <item>
      <title>Re: Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670765#M8375</link>
      <description>&lt;P&gt;sorry I did answer only for the first part of your question. Need to check more detailed.&lt;/P&gt;
&lt;P&gt;I think it depends on the size an on the texture structure. Could you privde the files/ textures&amp;nbsp;where it does not work&lt;/P&gt;
&lt;P&gt;In generally the same code should work for all - mapping from 0-1 but may it requires for different sizes of the pictures which is used as texture different ratio&amp;nbsp; for the mapping parameter in the texture.&amp;nbsp; So I need to check it more detailed on the sample picutures wher it does not work&lt;/P&gt;</description>
      <pubDate>Wed, 10 Jun 2020 10:08:30 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670765#M8375</guid>
      <dc:creator>RolandRaytchev</dc:creator>
      <dc:date>2020-06-10T10:08:30Z</dc:date>
    </item>
    <item>
      <title>Re: Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670848#M8377</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://www.ptcusercommunity.com/t5/user/viewprofilepage/user-id/310890"&gt;@DenGrz&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;today I tested the issue&amp;nbsp; &amp;nbsp;further with a pipe in z-direction and see there -&amp;nbsp; then the " shader did not work. And this seems to be a problem of the shader implementation&amp;nbsp;it self. Because when I rotate the pipe in the Y direction then was working fine. It works only&amp;nbsp;flat in the x,y plane. So , this required to check the shader implementation more detailed. The solution is some kind of rotation of the&amp;nbsp; shader along the Y -axis:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;&lt;div class="lia-vid-container video-embed-center"&gt;&lt;div id="lia-vid-6163082021001w516h540r601" class="lia-video-brightcove-player-container"&gt;&lt;video-js data-video-id="6163082021001" data-account="6058022026001" data-player="default" data-embed="default" class="vjs-fluid" controls="" data-application-id="" style="width: 100%; height: 100%;"&gt;&lt;/video-js&gt;&lt;/div&gt;&lt;script src="https://players.brightcove.net/6058022026001/default_default/index.min.js"&gt;&lt;/script&gt;&lt;script&gt;(function() {  var wrapper = document.getElementById('lia-vid-6163082021001w516h540r601');  var videoEl = wrapper ? wrapper.querySelector('video-js') : null;  if (videoEl) {     if (window.videojs) {       window.videojs(videoEl).ready(function() {         this.on('loadedmetadata', function() {           this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) {             bar.setAttribute('role', 'presentation');             bar.setAttribute('aria-hidden', 'true');           });         });       });     }  }})();&lt;/script&gt;&lt;a class="video-embed-link" href="https://www.ptcusercommunity.com/t5/video/gallerypage/video-id/6163082021001"&gt;(view in My Videos)&lt;/a&gt;&lt;/div&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;So changed the shader defintion (for the red pipes) to this - added&amp;nbsp; addtional argument for Z-roation:&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;&amp;lt;script name="texture_test1" type="x-shader/x-fragment"&amp;gt;

  precision mediump float;
uniform sampler2D Texture0;
uniform float lightscale;// light intensity
uniform float scale;
uniform float moveX;
uniform float moveY;
uniform float rotZ; //
#define PI 3.14159265359
  // determine varying parameters
  varying vec3 N;
  varying vec4 vertexCoord;
  // determine shader input parameters
  uniform vec4 surfaceColor;
 
//light positions from pont to zerro 
  const vec3 lightPos = vec3(3.0, 3.0,1.0);//light postion see the pulb in model
  const vec4 ambientColor =  vec4(0.5, 0.5, 0.5, 1.0);

  void main() {

    // calc the dot product and clamp based on light position
    // 0 -&amp;gt; 1 rather than -1 -&amp;gt; 1
      
    // ensure everything is normalized
    vec3 lightDir = -(normalize(lightPos)); 
    vec3 NN  = normalize(N);

    // calculate the dot product of the light to the vertex normal
    float dProd = max(0.0, dot(NN, -lightDir));

   
    {
      // calculate the color based on light-source and shadows on model
	  vec2 TexCoord = vec2( 0.0,0.0);
       // here the rotation along the Y -axis
      // affects only the X axis  
       float ang= rotZ*PI/180.0;
       TexCoord.x= scale*( cos(ang)*vertexCoord.x + sin(ang)*vertexCoord.z);
       TexCoord.y = scale*vertexCoord.y;
       TexCoord.x=TexCoord.x+moveX;
       TexCoord.y=TexCoord.y+moveY;
        
       vec4 color  = texture2D(Texture0, TexCoord) ;

    gl_FragColor = (ambientColor*lightscale + vec4(dProd)) *color ;// surfaceColor;
    }
  }
&amp;lt;/script&amp;gt;

&amp;lt;script name="texture_test1" type="x-shader/x-vertex"&amp;gt;

  attribute vec3 vertexPosition; 
  attribute vec3 vertexNormal;

  varying vec3 N;
  varying vec4 vertexCoord;

  uniform mat4 modelMatrix;
  uniform mat4 modelViewProjectionMatrix;

  void main() {

    vec4 vp     = vec4(vertexPosition, 1.0);
    gl_Position = modelViewProjectionMatrix * vp;
    vertexCoord = modelMatrix*vp;
    // the surface normal vector
    N = vec3(normalize(modelMatrix* vec4(vertexNormal,0.0)));
  }

&amp;lt;/script&amp;gt;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;&amp;nbsp;And here the usage in the code:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="javascript"&gt;...
$scope.app.shaderString1="texture_test1;scale f .5;moveX f 0;moveY f 0;rotZ f 90.0;lightscale f 1.0";
...
//in init function
 for(var j=6;j&amp;lt;8;j++){
   $scope.view.wdg['modelItem-'+j]['texture']  = "app/resources/Uploaded/waterred.jpg?name=Texture0&amp;amp;edge=repeat"; 
   $scope.setWidgetProp('modelItem-'+j, 'shader', $scope.app.shaderString1);}
  $scope.$applyAsync()
...
//========================================================
$scope.app.setShaderNew1= function(widgetName,scalepar,xDir,yDir,zRot,delay,duration)
{
var calldelay =3000; //3 seconds
var  callduration=10000;//10secs
var jumpInterval=5;
  
 if(delay !=undefined)    calldelay    = delay;
 if(duration !=undefined) callduration = duration;
  
$timeout( () =&amp;gt; {
  
  $interval(function() { 
  
     if($scope.val &amp;gt;500) $scope.val =0
    else $scope.val +=1
   
    var scale= parseFloat(scalepar);
    var moveX= $scope.val/500*xDir;
    var moveY= $scope.val/500*yDir;
    var rotZ= zRot;
    var transp= 0.75+0.25*(Math.sin(12.0*Math.PI*$scope.val/500));//6 waves

   
   $scope.app.shaderString = "texture_test1;scale f "+scale+";moveX f "+moveX+";moveY f "+moveY+ ";rotZ f "+rotZ+ ";lightscale f "+transp;
    $scope.setWidgetProp(widgetName, 'shader', $scope.app.shaderString);
      $scope.view.wdg[widgetName]['opacity'] =transp;
   if(debug) console.info( $scope.app.shaderString)
  $scope.$applyAsync()
  }, jumpInterval, callduration/jumpInterval)},calldelay);

$timeout( () =&amp;gt; {$scope.setWidgetProp(widgetName,'shader',"Default")},calldelay+callduration);
};
//
$scope.app.myButtonFunction= function( ){

      
         $scope.app.setShaderNew('modelItem-1', 1.0, 1.0, 0.0,2000,15000)
         $scope.app.setShaderNew('modelItem-2', 1.0, 1.0, 0.0,2000,15000)
         $scope.app.setShaderNew('modelItem-3', 1.0, 0.0, 1.0,2000,15000)
         $scope.app.setShaderNew('modelItem-4', 1.0,-1.0, 0.0,2000,15000)
         $scope.app.setShaderNew('modelItem-5', 1.0, 0.0,-1.0,2000,15000)
// here the new call
         $scope.app.setShaderNew1('modelItem-6', 1.0, 1.0, 0.3, 90.0,2000,15000)
         $scope.app.setShaderNew1('modelItem-7', 1.0, 1.0, 0.3,-90.0,2000,15000)
 
        }&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So now it will works&amp;nbsp; with a fluid flow in all directions:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2020-06-10_18-17-18.jpg" style="width: 399px;"&gt;&lt;img src="https://www.ptcusercommunity.com/t5/image/serverpage/image-id/27964i19560C9E2C79A803/image-size/large?v=v2&amp;amp;px=999" role="button" title="2020-06-10_18-17-18.jpg" alt="2020-06-10_18-17-18.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 10 Jun 2020 16:22:30 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670848#M8377</guid>
      <dc:creator>RolandRaytchev</dc:creator>
      <dc:date>2020-06-10T16:22:30Z</dc:date>
    </item>
    <item>
      <title>Re: Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670976#M8380</link>
      <description>&lt;P&gt;Yes that´s looks very good.&lt;/P&gt;
&lt;P&gt;Could you please send me the updated sample project ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Thu, 11 Jun 2020 07:06:36 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/670976#M8380</guid>
      <dc:creator>DenGrz</dc:creator>
      <dc:date>2020-06-11T07:06:36Z</dc:date>
    </item>
    <item>
      <title>Re: Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/671247#M8381</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://www.ptcusercommunity.com/t5/user/viewprofilepage/user-id/24955"&gt;@RolandRaytchev&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;yes.&amp;nbsp;&lt;SPAN&gt;It looks exactly like I've imagined.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;If you could send the updated sample project ?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;It would be very helpful.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks in advance !&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 12 Jun 2020 06:54:52 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/671247#M8381</guid>
      <dc:creator>DenGrz</dc:creator>
      <dc:date>2020-06-12T06:54:52Z</dc:date>
    </item>
    <item>
      <title>Re: Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/671601#M8383</link>
      <description>&lt;P&gt;Sure, here I attached the updated project (Studio ) . If required I could provide the Creo (7.0) assembly- in this case , please, let me know.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jun 2020 07:58:30 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/671601#M8383</guid>
      <dc:creator>RolandRaytchev</dc:creator>
      <dc:date>2020-06-15T07:58:30Z</dc:date>
    </item>
    <item>
      <title>Re: Simulate Fluid Flow</title>
      <link>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/741866#M10033</link>
      <description>&lt;P&gt;Hi Roland,&lt;/P&gt;
&lt;P&gt;We have tried this fantastic fluid flow in our experience.&lt;/P&gt;
&lt;P&gt;However we are not able to reset the shader.&lt;/P&gt;
&lt;P&gt;can you please help us in it?&lt;/P&gt;</description>
      <pubDate>Tue, 03 Aug 2021 12:31:39 GMT</pubDate>
      <guid>https://www.ptcusercommunity.com/t5/Vuforia-Studio/Simulate-Fluid-Flow/m-p/741866#M10033</guid>
      <dc:creator>RK_9229814</dc:creator>
      <dc:date>2021-08-03T12:31:39Z</dc:date>
    </item>
  </channel>
</rss>

