{"_id":"5b1f8576c2505d00031254ac","category":{"_id":"5b1f8576c2505d000312542b","version":"5b1f8576c2505d00031254db","project":"571fa55ca0acd42000af9545","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2017-01-01T16:48:47.829Z","from_sync":false,"order":8,"slug":"highlighters","title":"Highlighters"},"project":"571fa55ca0acd42000af9545","parentDoc":null,"user":"571fa519db52d01700f5cf3d","version":{"_id":"5b1f8576c2505d00031254db","project":"571fa55ca0acd42000af9545","__v":4,"forked_from":"594949e52be16d0026ec04cd","createdAt":"2017-06-20T16:14:29.816Z","releaseDate":"2017-06-20T16:14:29.816Z","categories":["5b1f8576c2505d0003125424","5b1f8576c2505d0003125425","5b1f8576c2505d0003125426","5b1f8576c2505d0003125427","5b1f8576c2505d0003125428","5b1f8576c2505d0003125429","5b1f8576c2505d000312542a","5b1f8576c2505d000312542b","5b1f8576c2505d000312542c","5b1f8576c2505d000312542d","5b1f8576c2505d000312542e","5b1f8576c2505d000312542f","5b1f8576c2505d0003125430","5b1f8576c2505d0003125431","5b1f8576c2505d0003125432","5b1f8576c2505d0003125433","5b1f8576c2505d0003125434","5b1f8576c2505d0003125435","5b1f8576c2505d0003125436","5b1f8576c2505d0003125437","5b1f8576c2505d0003125438","5b1f8aab9c683000032979e7","5b1f8b2f3073470003ffa5da","5b1f8bd9fd653400031d94f4","5b1f900bd4c5f000036b57bd"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"Mangalica","version_clean":"3.3.0","version":"3.3.0"},"githubsync":"","__v":0,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2017-01-01T16:49:47.363Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"settings":"","results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":4,"body":"> extends [VRTK_BaseHighlighter](doc:vrtk_basehighlighter)\n\n## Overview\n\nCreates a mesh copy and applies an outline shader which is toggled on and off when highlighting the object.\n\n  > A valid mesh must be found or provided for the clone mesh to be created.\n\n**Script Usage:**\n * Place the `VRTK_OutlineObjectCopyHighlighter` script on either:\n   * The GameObject of the Interactable Object to highlight.\n   * Any other scene GameObject and then link that GameObject to the Interactable Objects `Object Highlighter` parameter to denote use of the highlighter.\n * Ensure the `Active` parameter is checked.\n\n## Inspector Parameters\n\n * **Thickness:** The thickness of the outline effect\n * **Custom Outline Models:** The GameObjects to use as the model to outline. If one isn't provided then the first GameObject with a valid Renderer in the current GameObject hierarchy will be used.\n * **Custom Outline Model Paths:** A path to a GameObject to find at runtime, if the GameObject doesn't exist at edit time.\n * **Enable Submesh Highlight:** If the mesh has multiple sub-meshes to highlight then this should be checked, otherwise only the first mesh will be highlighted.\n\n## Class Methods\n\n### Initialise/3\n\n  > `public override void Initialise(Color? color = null, GameObject affectObject = null, Dictionary<string, object> options = null)`\n\n * Parameters\n   * `Color? color` - Not used.\n   * `GameObject affectObject` - An optional GameObject to specify which object to apply the highlighting to.\n   * `Dictionary<string, object> options` - A dictionary array containing the highlighter options:\\r     * `<'thickness', float>` - Same as `thickness` inspector parameter.\\r     * `<'customOutlineModels', GameObject[]>` - Same as `customOutlineModels` inspector parameter.\\r     * `<'customOutlineModelPaths', string[]>` - Same as `customOutlineModelPaths` inspector parameter.\n * Returns\n   * _none_\n\nThe Initialise method sets up the highlighter for use.\n\n### ResetHighlighter/0\n\n  > `public override void ResetHighlighter()`\n\n * Parameters\n   * _none_\n * Returns\n   * _none_\n\nThe ResetHighlighter method creates the additional model to use as the outline highlighted object.\n\n### Highlight/2\n\n  > `public override void Highlight(Color? color, float duration = 0f)`\n\n * Parameters\n   * `Color? color` - The colour to outline with.\n   * `float duration` - Not used.\n * Returns\n   * _none_\n\nThe Highlight method initiates the outline object to be enabled and display the outline colour.\n\n### Unhighlight/2\n\n  > `public override void Unhighlight(Color? color = null, float duration = 0f)`\n\n * Parameters\n   * `Color? color` - Not used.\n   * `float duration` - Not used.\n * Returns\n   * _none_\n\nThe Unhighlight method hides the outline object and removes the outline colour.\n\n## Example\n\n`VRTK/Examples/005_Controller_BasicObjectGrabbing` demonstrates the outline highlighting on the green sphere when the controller touches it.\n\n`VRTK/Examples/035_Controller_OpacityAndHighlighting` demonstrates the outline highlighting if the left controller collides with the green box.","excerpt":"","slug":"vrtk_outlineobjectcopyhighlighter","type":"basic","title":"VRTK_OutlineObjectCopyHighlighter"}

VRTK_OutlineObjectCopyHighlighter


> extends [VRTK_BaseHighlighter](doc:vrtk_basehighlighter) ## Overview Creates a mesh copy and applies an outline shader which is toggled on and off when highlighting the object. > A valid mesh must be found or provided for the clone mesh to be created. **Script Usage:** * Place the `VRTK_OutlineObjectCopyHighlighter` script on either: * The GameObject of the Interactable Object to highlight. * Any other scene GameObject and then link that GameObject to the Interactable Objects `Object Highlighter` parameter to denote use of the highlighter. * Ensure the `Active` parameter is checked. ## Inspector Parameters * **Thickness:** The thickness of the outline effect * **Custom Outline Models:** The GameObjects to use as the model to outline. If one isn't provided then the first GameObject with a valid Renderer in the current GameObject hierarchy will be used. * **Custom Outline Model Paths:** A path to a GameObject to find at runtime, if the GameObject doesn't exist at edit time. * **Enable Submesh Highlight:** If the mesh has multiple sub-meshes to highlight then this should be checked, otherwise only the first mesh will be highlighted. ## Class Methods ### Initialise/3 > `public override void Initialise(Color? color = null, GameObject affectObject = null, Dictionary<string, object> options = null)` * Parameters * `Color? color` - Not used. * `GameObject affectObject` - An optional GameObject to specify which object to apply the highlighting to. * `Dictionary<string, object> options` - A dictionary array containing the highlighter options:\r * `<'thickness', float>` - Same as `thickness` inspector parameter.\r * `<'customOutlineModels', GameObject[]>` - Same as `customOutlineModels` inspector parameter.\r * `<'customOutlineModelPaths', string[]>` - Same as `customOutlineModelPaths` inspector parameter. * Returns * _none_ The Initialise method sets up the highlighter for use. ### ResetHighlighter/0 > `public override void ResetHighlighter()` * Parameters * _none_ * Returns * _none_ The ResetHighlighter method creates the additional model to use as the outline highlighted object. ### Highlight/2 > `public override void Highlight(Color? color, float duration = 0f)` * Parameters * `Color? color` - The colour to outline with. * `float duration` - Not used. * Returns * _none_ The Highlight method initiates the outline object to be enabled and display the outline colour. ### Unhighlight/2 > `public override void Unhighlight(Color? color = null, float duration = 0f)` * Parameters * `Color? color` - Not used. * `float duration` - Not used. * Returns * _none_ The Unhighlight method hides the outline object and removes the outline colour. ## Example `VRTK/Examples/005_Controller_BasicObjectGrabbing` demonstrates the outline highlighting on the green sphere when the controller touches it. `VRTK/Examples/035_Controller_OpacityAndHighlighting` demonstrates the outline highlighting if the left controller collides with the green box.