Nuanceurs
* 
Ces nuanceurs ne sont pas pris en charge sur les appareils HoloLens.
Entrée de paramètre
Vous pouvez utiliser le format suivant pour transmettre des valeurs de nuanceur personnalisées à un nuanceur Vuforia Studio :
example_widget.shader = shader_name; uniform_name uniform_type uniform_value
Nuanceurs
Le tableau suivant décrit les nuanceurs de base disponibles pour les modèles et les éléments de modèle dans Vuforia Studio.
Nuanceur
Description
Paramètres
desaturate
Nuanceur pour réduire la saturation des couleurs du modèle.
saturation float [0-1]
Exemple JavaScript :
$scope.init = function() {
// Desaturate shader:
// * saturation (float [0-1])
let desaturateModel = $scope.view.wdg['desaturate-model'];
desaturateModel.shader = 'desaturate; saturation f 0.0 ';
};
angular.element(window.document.body).ready($scope.init);
Dans l'exemple ci-dessous, l'intégralité du modèle a été ombrée avec saturation=0 afin qu'il apparaisse dans une échelle de gris.
flow
Nuanceur pour l'utilisation du mappage de texture avec des coordonnées UV animées pour indiquer la direction.
speedU : vitesse horizontale des coordonnées de texture (une unité de texture par seconde)
speedV : vitesse verticale des coordonnées de texture (une unité de texture par seconde)
scaleU : mise à l'échelle horizontale (nombre de répétitions du rendu de l'image dans l'animation)
scaleV : mise à l'échelle verticale (nombre de répétitions du rendu de l'image dans l'animation)
opacity : contrôle l'opacité (0.0 = entièrement transparent, 1.0 = entièrement opaque)
* 
La réinitialisation du nuanceur flow supprime les textures du modèle et des éléments du modèle où le nuanceur a été appliqué.
Exemple JavaScript :
$scope.init = function() {
let flowImage = $scope.view.wdg['flow-image'];
flowImage.shader = 'flow; speedU f 0.3; speedV f 0.0; scaleU f 1.0; scaleV f 1.0; opacity f 1.0';
flowImage.src = 'app/resources/Uploaded/flow_texture.png?edge=repeat';
};
angular.element(window.document.body).ready($scope.init);
highlight
Nuanceur pour la mise en surbrillance du modèle entier ou de pièces spécifiques.
Les paramètres suivants définissent la couleur du contour et du remplissage de la surface :
r float [0-1]
g float [0-1]
b float [0-1]
a float [0-1] : définit l'opacité du remplissage de la surface. Le contour sera toujours opaque.
virtualMode : lorsque cette option est définie sur vrai, le nuanceur effectue le rendu de la surface virtuelle sous la forme d'un solide standard avec le mode de test de profondeur standard. Ce paramètre doit être défini sur faux lorsque l'objet physique est présent.
Exemple JavaScript :
$scope.init = function() {
let highlightModelItem = $scope.view.wdg['highlight-modelitem'];
highlightModelItem.shader = 'highlight; r f 1.0; g f 0.49; b f 0.15; a f 1.0; virtualMode f 1.0';
};
angular.element(window.document.body).ready($scope.init);
Dans l'exemple ci-dessous, la moitié inférieure de la pompe bleue a été mise en surbrillance en orange.
planar_cut
Nuanceur permettant de couper la géométrie du modèle en forme de ligne droite ou de plan.
Les paramètres suivants définissent l'emplacement du plan de coupe :
clipCenterX float
clipCenterY float
clipCenterZ float
Les paramètres suivants définissent l'orientation du plan de coupe :
clipAxisX float
clipAxisY float
clipAxisZ float
Le paramètre suivant définit l'épaisseur de l'arête occluse du modèle en unités d'espace (mètres).
clipLineWidth float
* 
Si vous ne souhaitez pas appliquer ce paramètre, définissez-le sur 0.
Exemple JavaScript :

$scope.init = function() {
let planarCutModel = $scope.view.wdg['planar-cut-model'];
planarCutModel.shader = 'planar_cut; clipCenterX f 0.0; clipCenterY f 0.26; clipCenterZ f 0.0; clipAxisX f 0.0; clipAxisY f -1.0; clipAxisZ f 0.0; clipLineWidth f 0.003';
};
angular.element(window.document.body).ready($scope.init);
spherical_cut
Nuanceur permettant de couper la géométrie du modèle en forme de sphère.
clipCenterX float
clipCenterY float
clipCenterZ float
clipRadius float (en mètres)
Exemple JavaScript :
$scope.init = function() {
let sphericalCutModel = $scope.view.wdg['spherical-cut-model'];
sphericalCutModel.shader = 'spherical_cut; clipCenterX f 0.05; clipCenterY f 0.05; clipCenterZ f 0.05; clipRadius f 0.4';
};
angular.element(window.document.body).ready($scope.init);
* 
Pour fonctionner correctement, le nuanceur spherical_cut doit être utilisé avec des modèles détaillés où la géométrie interne est également présente ; sinon, l'élimination des éléments cachés risque de produire des résultats indésirables.
xray
Nuanceur pour l'affichage d'une vue radiographique du modèle et la révélation des pièces intérieures.
r float [0-1]
g float [0-1]
b float [0-1]
a float [0-1]
Exemple JavaScript :
$scope.init = function() {
let xrayModel = $scope.view.wdg['xray-model'];
xrayModel.shader = 'xray; r f 0.882; g f 0; b f 1; a f 0.5';
};
angular.element(window.document.body).ready($scope.init);
Une couleur est appliquée pour recolorer le modèle lors de l'application du nuanceur, mettant ainsi en surbrillance l'endroit où le nuanceur est appliqué.
contour
Nuanceur pour l'extraction des lignes de contour en fonction des gradients de profondeur.
* 
Ce nuanceur étant actuellement en version bêta, il ne doit pas être combiné simultanément avec d'autres nuanceurs. L'application de différents nuanceurs de manière séquentielle peut également entraîner des résultats inattendus.
lineR float [0-1]
lineG float [0-1]
lineB float [0-1]
lineA float [0-1]
Exemple JavaScript :
$scope.init = function() {
let contourModel = $scope.view.wdg['model-1'];
contourModel.shader = 'contour; lineR f 1.0; lineG f 0.0; lineB f 0.0; lineA f 1.0';

};
angular.element(window.document.body).ready($scope.init);
wave_radial
Nuanceur pouvant afficher un effet de cercle ou d'ondulation.
offsetU/V : origine du cercle d'onde
surface(R/G/B/A) : couleur de l'onde à l'origine
waveLength : distance entre deux pics d'onde consécutifs
speed : vitesse de propagation de la surface d'onde (en unités standard)
Exemple JavaScript :
scope.init = function() {
let waveImage = $scope.view.wdg['wave-image'];
waveImage.shader = 'wave_radial; speed f 20.0; waveLength f 0.03; offsetU f -0.5; offsetV f -0.5; sourceR f 1.0; sourceG f 0.0; sourceB f 1.0; sourceA f 1.0';
};
angular.element(window.document.body).ready($scope.init);
Est-ce que cela a été utile ?