Community Tip - Learn all about the Community Ranking System, a fun gamification element of the PTC Community. X
Hi guys,
I am trying to make my experience more user-friendly and I am trying to create a 3D follow-up window that will come up every time I start an animation on a certain part of the industrial machine I am developing the experience on.
I found this video in the web. Please watch video from 0:20 to 0:30
https://www.youtube.com/watch?v=nHfY56lHZjU
Any ideas? Is it possible to do this in Vuforia?
Thanks in advance
Hello Adrianfc,
I don't thing that a such behavior exists in Vuforia Studio.
Vuforia Studio, real physical world and 3D models are displayed in the same scene by one camera.
This camera is the one from mobile/tablet and also virtual OpenGL camera to render 3D models.
Both cameras are merged.
We don't have any way to create a second virtual camera and we cannot split real camera output and virtual camera rendering.
In Vuforia Studio, in a such use case, the choice is to overlap real object by the 3D Model.
Best regards,
Samuel
Hi @adrianfc ,
I watched the video from EquipCodes (seem not be valid link anymore - may be company was renamed /merged or does not exist anymore- no idea) at least it is a cool functionality shown there. As mentioned already by @sdidier in Vuforia we do not have these widgets in the Product. But I want to point to one comment to the YouTube video: "AR sdks like wikitude , vuforia , ARKit." - this are tools with low level API where with significant amount of work you can implement every think . Studio contain widget providing high level of API's where you can using a few step create you application. But not every think possible in other apps is possible there (yet). Vuforia Studio is still under further development and further features will come soon. It will be here a good idea to forward this info to dev team so they could decide if this could be a good enhancement suggestion for Studio.
But let check what we can do here in Studio. I think with enough amount of work we can achieve nearly everything also in Studio.
1.) on mobile devices you can play a vidoe in a wideo widget - or open a popup window with a video widget.
For example we set the source of video to mp4 depnding on current program stage:
//video widget id 'video-1"
var url_source= "app/resources/Uploaded/for_PTC.mp4";
$scope.view.wdg['video-1']['src'] =url_source;
and we can play it e.g. sample code :
/////////
$scope.testPlay= function(){
var wdg = angular.element(document.querySelector('twx-widget[widget-id=\"video-1\"] video'));
wdg[0].play();};
//////////////////////////
and here a more complex example:
$rootScope.$on('modelLoaded', function() {
var url_source= "app/resources/Uploaded/for_PTC.mp4";
var videoName="video-1";
console.warn($scope.view.wdg[ videoName] )
var wdg = angular.element(document.querySelector('twx-widget[widget-id=\"'+videoName+'\"] video'));
wdg[0].src=url_source;
wdg[0].play();
$timeout(function () {
url_source= "app/resources/Uploaded/20180905_055304_test.mp4";
wdg[0].src=url_source;
wdg[0].play();
}, 20000);
})
the code above will play when the model was loaded / loading finished - first the video 'for_PTC.mp4' and then after 20 sec s it will play the video ''20180905_055304_test.mp4"
The video widget visibility could be also set the the wdg[0].visible=true/false; property.
2.)When the video should be started. In all mobile devices you start /enable the tracking event so you can check the camera position and eye vector. So that you code can check to each moment where is your camera and in which direction you are looking. In this case you can deicide for example to display the video widget and to play a particular video file.
For more details about how to use the tracking you can check this post: "Finding distance from the model"
3.) how to create a window / rectangle on the marking the area for which the displayed video will have relevance
-you can omit this functionality but using other approach -e.g. highlighting for the parts where you are looking for / simple by changing it colors or let they blinking (see here the post: "Flashing effect of model item" and for example using a timer)
- you can use a transparent (e.g. opacity property =0.3 ) 3dImage widget which is displayed when you have specific distance to a particular point and eye vector is showing in specific direction
But you can also use for better effect a shader or techniques of dynamic SVG in 3DImage - here you can check this post "Display SVG as 3D Image on Hololens"