Git Product home page Git Product logo

hydra-ue4's Introduction

{\rtf1\ansi\deff0\adeflang1025
{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\fmodern\fprq1\fcharset0 Courier New;}{\f4\fswiss\fprq0\fcharset0 sans-serif{\*\falt Arial};}{\f5\fnil\fprq1\fcharset0 monospace;}{\f6\froman\fprq0\fcharset128 ;}{\f7\fnil\fprq2\fcharset0 Mangal;}{\f8\fnil\fprq2\fcharset0 Microsoft YaHei;}{\f9\fnil\fprq2\fcharset0 SimSun;}{\f10\fnil\fprq0\fcharset128 Mangal;}{\f11\fmodern\fprq1\fcharset0 NSimSun;}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue128;\red0\green0\blue255;\red0\green128\blue0;\red0\green128\blue128;\red0\green119\blue136;\red0\green0\blue64;\red0\green0\blue221;\red255\green255\blue255;\red249\green249\blue249;\red128\green128\blue128;}
{\stylesheet{\s0\snext0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af6\langfe2052\dbch\af7\afs24\lang1081\loch\f0\fs24\lang1033 Default;}
{\s1\sbasedon53\snext54\ilvl0\outlinelevel0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb240\sa120\keepn\cf0\b\kerning1\hich\af7\langfe2052\dbch\af9\ab\loch\f0\fs48\lang1033 Heading 1;}
{\s2\sbasedon53\snext54\ilvl1\outlinelevel1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb240\sa120\keepn\cf0\b\kerning1\hich\af7\langfe2052\dbch\af9\ab\loch\f0\fs36\lang1033 Heading 2;}
{\*\cs15\snext15 RTF_Num 2 1;}
{\*\cs16\snext16 RTF_Num 2 2;}
{\*\cs17\snext17 RTF_Num 2 3;}
{\*\cs18\snext18 RTF_Num 2 4;}
{\*\cs19\snext19 RTF_Num 2 5;}
{\*\cs20\snext20 RTF_Num 2 6;}
{\*\cs21\snext21 RTF_Num 2 7;}
{\*\cs22\snext22 RTF_Num 2 8;}
{\*\cs23\snext23 RTF_Num 2 9;}
{\*\cs24\snext24 RTF_Num 3 1;}
{\*\cs25\snext25 RTF_Num 3 2;}
{\*\cs26\snext26 RTF_Num 3 3;}
{\*\cs27\snext27 RTF_Num 3 4;}
{\*\cs28\snext28 RTF_Num 3 5;}
{\*\cs29\snext29 RTF_Num 3 6;}
{\*\cs30\snext30 RTF_Num 3 7;}
{\*\cs31\snext31 RTF_Num 3 8;}
{\*\cs32\snext32 RTF_Num 3 9;}
{\*\cs33\snext33 RTF_Num 4 1;}
{\*\cs34\snext34 RTF_Num 4 2;}
{\*\cs35\snext35 RTF_Num 4 3;}
{\*\cs36\snext36 RTF_Num 4 4;}
{\*\cs37\snext37 RTF_Num 4 5;}
{\*\cs38\snext38 RTF_Num 4 6;}
{\*\cs39\snext39 RTF_Num 4 7;}
{\*\cs40\snext40 RTF_Num 4 8;}
{\*\cs41\snext41 RTF_Num 4 9;}
{\*\cs42\snext42 RTF_Num 5 1;}
{\*\cs43\snext43 RTF_Num 5 2;}
{\*\cs44\snext44 RTF_Num 5 3;}
{\*\cs45\snext45 RTF_Num 5 4;}
{\*\cs46\snext46 RTF_Num 5 5;}
{\*\cs47\snext47 RTF_Num 5 6;}
{\*\cs48\snext48 RTF_Num 5 7;}
{\*\cs49\snext49 RTF_Num 5 8;}
{\*\cs50\snext50 RTF_Num 5 9;}
{\*\cs51\snext51\cf2\ul\ulc0\langfe255\lang255 Internet Link;}
{\*\cs52\snext52 Numbering Symbols;}
{\s53\sbasedon0\snext54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb240\sa120\keepn\cf0\kerning1\hich\af8\langfe2052\dbch\af7\loch\f2\fs28\lang1033 Heading;}
{\s54\sbasedon0\snext54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033 Text body;}
{\s55\sbasedon54\snext55{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af10\loch\f0\fs24\lang1033 List;}
{\s56\sbasedon0\snext56{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb120\sa120\cf0\i\kerning1\hich\af0\langfe2052\dbch\af10\ai\loch\f0\fs24\lang1033 Caption;}
{\s57\sbasedon0\snext57{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af0\langfe2052\dbch\af10\loch\f0\fs24\lang1033 Index;}
{\s58\sbasedon0\snext58{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa0\cf0\kerning1\hich\af3\langfe2052\dbch\af11\loch\f3\fs20\lang1033 Preformatted Text;}
}{\*\listtable{\list\listtemplateid1
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-432\li432}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-576\li576}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-720\li720}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-864\li864}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-1008\li1008}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-1152\li1152}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-1296\li1296}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-1440\li1440}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'00;}{\levelnumbers;}\fi-1584\li1584}\listid1}
{\list\listtemplateid2
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'00.;}{\levelnumbers\'01;}\fi0\li0}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'01.;}{\levelnumbers\'01;}\fi-283\li1414}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'02.;}{\levelnumbers\'01;}\fi-283\li2121}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'03.;}{\levelnumbers\'01;}\fi-283\li2828}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'04.;}{\levelnumbers\'01;}\fi-283\li3535}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'05.;}{\levelnumbers\'01;}\fi-283\li4242}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'06.;}{\levelnumbers\'01;}\fi-283\li4949}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'07.;}{\levelnumbers\'01;}\fi-283\li5656}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'08.;}{\levelnumbers\'01;}\fi-283\li6363}\listid2}
{\list\listtemplateid3
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'00.;}{\levelnumbers\'01;}\fi0\li0}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'01.;}{\levelnumbers\'01;}\fi-283\li1414}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'02.;}{\levelnumbers\'01;}\fi-283\li2121}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'03.;}{\levelnumbers\'01;}\fi-283\li2828}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'04.;}{\levelnumbers\'01;}\fi-283\li3535}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'05.;}{\levelnumbers\'01;}\fi-283\li4242}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'06.;}{\levelnumbers\'01;}\fi-283\li4949}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'07.;}{\levelnumbers\'01;}\fi-283\li5656}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'08.;}{\levelnumbers\'01;}\fi-283\li6363}\listid3}
{\list\listtemplateid4
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'00.;}{\levelnumbers\'01;}\fi0\li0}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'01.;}{\levelnumbers\'01;}\fi-283\li1414}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'02.;}{\levelnumbers\'01;}\fi-283\li2121}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'03.;}{\levelnumbers\'01;}\fi-283\li2828}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'04.;}{\levelnumbers\'01;}\fi-283\li3535}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'05.;}{\levelnumbers\'01;}\fi-283\li4242}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'06.;}{\levelnumbers\'01;}\fi-283\li4949}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'07.;}{\levelnumbers\'01;}\fi-283\li5656}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'08.;}{\levelnumbers\'01;}\fi-283\li6363}\listid4}
}{\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}{\listoverride\listid3\listoverridecount0\ls3}{\listoverride\listid4\listoverridecount0\ls4}}{\info{\creatim\yr0\mo0\dy0\hr0\min0}{\revtim\yr0\mo0\dy0\hr0\min0}{\printim\yr0\mo0\dy0\hr0\min0}{\comment OpenOffice.org}{\vern3400}}\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709

{\*\pgdsctbl
{\pgdsc0\pgdscuse195\pgwsxn12240\pghsxn15840\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt0 Default;}}
\formshade{\*\pgdscno0}\paperh15840\paperw12240\margl1134\margr1134\margt1134\margb1134\sectd\sbknone\sectunlocked1\pgndec\pgwsxn12240\pghsxn15840\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
\pgndec\pard\plain \s1\ilvl0\outlinelevel0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb240\sa120\keepn\cf0\b\kerning1\hich\af7\langfe2052\dbch\af9\ab\loch\f0\fs48\lang1033\sb240\sa120{{\*\bkmkstart Overview}{\*\bkmkend Overview}\scaps0\caps0\cf1\expnd0\expndtw0\i0\b0\ai0\ab0\rtlch \ltrch\loch\fs36\loch\f4
Overview}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033\sl285\slmult0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
An Unofficial Razer Hydra Plugin for Unreal Engine 4.0}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033\sl285\slmult0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
The plugin is designed with an event driven architecture through a delegate interface. You can access device events through Blueprintable classes provided or through C++. Main C++ support is from inheriting the HydraDelegate, through it you can extend your own custom class to support Hydra events. Additional functions in the delegate support polling for latest data.}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033\sl285\slmult0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
The plugin also handles hot plugging and emits HydraPluggedIn (HydraUnplugged for the reverse), allowing you to initialize if needed when the device is ready.}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033\sl285\slmult0{{\*\bkmkstart __DdeLink__6_2043240441}\cf1\rtlch \ltrch\loch\fs19\loch\f4
Main }{{\field{\*\fldinst HYPERLINK "https://forums.unrealengine.com/showthread.php?3505-Razer-Hydra-Plugin" }\scaps0\caps0\cf2\strike0\expnd0\expndtw0\i0\ul\ulc0\b0\langfe255\ai0\ab0{\fldrslt \cf2\ul\ulc0\langfe255\lang255\rtlch \ltrch\loch\fs19\lang255\loch\f4
discussion thread}{\rtlch \ltrch\loch{\*\bkmkend __DdeLink__6_2043240441}
}} }
\par \pard\plain \s2\ilvl1\outlinelevel1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb240\sa120\keepn\cf0\b\kerning1\hich\af7\langfe2052\dbch\af9\ab\loch\f0\fs36\lang1033\sl285\slmult0\sb0\sa0\cbpat9{{\*\bkmkstart Quick_Setup}{\*\bkmkend Quick_Setup}\cf1\b0\ab0\rtlch \ltrch\loch\fs28\loch\f4
Quick Setup}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  1.\tab}\ilvl0\ls2 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{{\field{\*\fldinst HYPERLINK "https://mega.co.nz/#!hdp2yQqD!AjL0j6qKpWqi5RGXJxitMXeevXCjK8m_0B0PH1x1VfY" }\scaps0\caps0\cf2\strike0\expnd0\expndtw0\i0\ul\ulc0\b0\langfe255\ai0\ab0{\fldrslt \cf2\ul\ulc0\langfe255\lang255\rtlch \ltrch\loch\fs19\lang255\loch\f4
Download}{\rtlch \ltrch\loch
}} }
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  2.\tab}\ilvl0\ls2 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Create new or choose project.}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  3.\tab}\ilvl0\ls2 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Browse to your project folder (typically found at }{\cf1\i\ai\rtlch \ltrch\loch\fs19\loch\f4
Documents/Unreal Project/\{Your Project Root\}}{\cf1\rtlch \ltrch\loch\fs19\loch\f4
)}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  4.\tab}\ilvl0\ls2 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Copy }{\cf1\i\ai\rtlch \ltrch\loch\fs19\loch\f4
Plugins}{\cf1\rtlch \ltrch\loch\fs19\loch\f4
 folder into your Project root.}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  5.\tab}\ilvl0\ls2 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Restart the Editor and open your project again.}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  6.\tab}\ilvl0\ls2 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Select Window->Plugins. Click on Installed and you should see a category called Input and a plugin called Hydra Plugin now available. Select Enabled. The Editor will warn you to restart, click restart.}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  7.\tab}\ilvl0\ls2 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
When your project has reloaded, the plugin should be enabled and ready to use.}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033\sl285\slmult0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
(Optional) You can confirm it has successfully loaded by opening the Class Viewer, searching "hydra" should show you one actor class added by the plugin called}{\cf1\i\ai\rtlch \ltrch\loch\fs19\loch\f4
HydraPluginActor}{\cf1\rtlch \ltrch\loch\fs19\loch\f4
.}
\par \pard\plain \s2\ilvl1\outlinelevel1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb240\sa120\keepn\cf0\b\kerning1\hich\af7\langfe2052\dbch\af9\ab\loch\f0\fs36\lang1033\sl285\slmult0\sb0\sa0\cbpat9{{\*\bkmkstart Events_through_Blueprint}{\*\bkmkend Events_through_Blueprint}\cf1\b0\ab0\rtlch \ltrch\loch\fs28\loch\f4
Events through Blueprint}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  1.\tab}\ilvl0\ls3 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Select Window->Class Viewer.}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  2.\tab}\ilvl0\ls3 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Search for "HydraPluginActor"}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  3.\tab}\ilvl0\ls3 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Right click the actor and Create a new Blueprint e.g. "HydraPluginActorBP"}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  4.\tab}\ilvl0\ls3 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Select Graph in the upper right hand corner and right click in the graph to bring up the function search}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  5.\tab}\ilvl0\ls3 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Typing in "hydra" will narrow the events down to plugin related.}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  6.\tab}\ilvl0\ls3 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Add your desired events and linkup to your desired functions}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  7.\tab}\ilvl0\ls3 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Add the created blueprint to the scene (it's an actor subclass) and hit Play.}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033\sl285\slmult0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
e.g. If you want to get the position data from your Hydras add the Event }{\cf1\i\ai\rtlch \ltrch\loch\fs19\loch\f4
Hydra Controller Moved}{\cf1\rtlch \ltrch\loch\fs19\loch\f4
. Right click again in an empty space in the BP graph and add a function call to }{\cf1\i\ai\rtlch \ltrch\loch\fs19\loch\f4
Print String}{\cf1\rtlch \ltrch\loch\fs19\loch\f4
, connect position to string (a conversion node will automatically be made) and drag exec (the white triangle on node) from the event to the function to connect the calls.}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033\sl285\slmult0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Compile and Play to see the position data stream as printed output after you undock your hydra.}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033\sl285\slmult0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Optionally create a blueprint subclass from }{\cf1\i\ai\rtlch \ltrch\loch\fs19\loch\f4
HydraPlayerController}{\cf1\rtlch \ltrch\loch\fs19\loch\f4
and assign it in your game mode. Functionality remains the same.}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033\sl285\slmult0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
See }{{\field{\*\fldinst HYPERLINK "https://www.youtube.com/watch?v=zRURG4Zp0Zo#t=159" }\scaps0\caps0\cf2\strike0\expnd0\expndtw0\i0\ul\ulc0\b0\langfe255\ai0\ab0{\fldrslt \cf2\ul\ulc0\langfe255\lang255\rtlch \ltrch\loch\fs19\lang255\loch\f4
tutorial video}{\rtlch \ltrch\loch
}} }{\cf1\rtlch \ltrch\loch\fs19\loch\f4
for a live example.}
\par \pard\plain \s2\ilvl1\outlinelevel1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb240\sa120\keepn\cf0\b\kerning1\hich\af7\langfe2052\dbch\af9\ab\loch\f0\fs36\lang1033\sl285\slmult0\sb0\sa0\cbpat9{{\*\bkmkstart Events_through_C.2B.2B}{\*\bkmkend Events_through_C.2B.2B}\cf1\b0\ab0\rtlch \ltrch\loch\fs28\loch\f4
Events through C++}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033\sl285\slmult0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Use, embed, or subclass HydraPluginActor or HydraPlayerController and override functions you wish to subscribe to e.g.}
\par \pard\plain \s58{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa0\cf0\kerning1\hich\af3\langfe2052\dbch\af11\loch\f3\fs20\lang1033\ltrpar{\cf3\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
virtual}{\cf1\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
 }{\cf3\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
void}{\cf1\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
 EventHydraTriggerPressed}{\cf4\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
(}{\cf3\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
int32}{\cf1\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
 controller}{\cf4\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
)}{\cf1\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
 OVERRIDE}{\cf5\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
;}
\par \pard\plain \s2\ilvl1\outlinelevel1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb240\sa120\keepn\cf0\b\kerning1\hich\af7\langfe2052\dbch\af9\ab\loch\f0\fs36\lang1033\sl285\slmult0\sb0\sa0\cbpat9{{\*\bkmkstart Extend_your_own_Class_to_Receive_Events_through_C.2B.2B}{\*\bkmkend Extend_your_own_Class_to_Receive_Events_through_C.2B.2B}\cf1\b0\ab0\rtlch \ltrch\loch\fs28\loch\f4
Extend your own Class to Receive Events through C++}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  1.\tab}\ilvl0\ls4 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Include HydraDelegate.h and IHydraPlugin.h in your implementation}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  2.\tab}\ilvl0\ls4 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Ensure your project has }{\cf1\i\ai\rtlch \ltrch\loch\fs19\loch\f4
"HydraPlugin" }{\cf1\rtlch \ltrch\loch\fs19\loch\f4
added to your PublicDependencyModuleNames in your\~  }{\cf1\i\ai\rtlch \ltrch\loch\fs19\loch\f4
\{Project\}.build.cs}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  3.\tab}\ilvl0\ls4 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Make your class inherit from }{\cf1\i\ai\rtlch \ltrch\loch\fs19\loch\f4
HydraDelegate }{\cf1\rtlch \ltrch\loch\fs19\loch\f4
(multiple inheritence)}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  4.\tab}\ilvl0\ls4 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Copy }{\cf1\i\ai\rtlch \ltrch\loch\fs19\loch\f4
HydraDelegate.cpp }{\cf1\rtlch \ltrch\loch\fs19\loch\f4
from the plugin source into your project source and add it your solution. Change top include to "}{\cf1\i\ai\rtlch \ltrch\loch\fs19\loch\f4
your project name}{\cf1\rtlch \ltrch\loch\fs19\loch\f4
.h"}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  5.\tab}\ilvl0\ls4 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Add}
\par \pard\plain \s58{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa0\cf0\kerning1\hich\af3\langfe2052\dbch\af11\loch\f3\fs20\lang1033\sl285\slmult0\ltrpar{\cf1\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
IHydraPlugin}{\cf5\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
::}{\cf6\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
Get}{\cf4\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
()}{\cf1\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
.}{\cf6\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
SetDelegate}{\cf4\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
((}{\cf1\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
HydraDelegate}{\cf7\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
*}{\cf4\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
)}{\cf8\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
this}{\cf4\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
)}{\cf5\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
;}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033\sl285\slmult0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
in your }{\cf1\i\ai\rtlch \ltrch\loch\fs19\loch\f4
BeginPlay() }{\cf1\rtlch \ltrch\loch\fs19\loch\f4
or other initialization that is executed before the first tick.}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  6.\tab}\ilvl0\ls4 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Make your class tickable e.g.}
\par \pard\plain \s58{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa0\cf0\kerning1\hich\af3\langfe2052\dbch\af11\loch\f3\fs20\lang1033\sl285\slmult0\ltrpar{\cf1\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
PrimaryActorTick.}{\cf6\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
bCanEverTick}{\cf1\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
 }{\cf2\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
=}{\cf1\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
 }{\cf3\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
true}{\cf5\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
;}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033\sl285\slmult0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
in your constructor.}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  7.\tab}\ilvl0\ls4 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Add}
\par \pard\plain \s58{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa0\cf0\kerning1\hich\af3\langfe2052\dbch\af11\loch\f3\fs20\lang1033\sl285\slmult0\ltrpar{\cf1\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
IHydraPlugin}{\cf5\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
::}{\cf6\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
Get}{\cf4\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
()}{\cf1\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
.}{\cf6\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
HydraTick}{\cf4\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
(}{\cf1\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
DeltaTime}{\cf4\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
)}{\cf5\chcbpat10\rtlch \ltrch\loch\fs19\loch\f5
;}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033\sl285\slmult0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
inside}{\cf1\i\ai\rtlch \ltrch\loch\fs19\loch\f4
Tick(float DeltaTime)}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033{\listtext\pard\plain  8.\tab}\ilvl0\ls4 \li0\ri0\lin0\rin0\fi0\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Override any of the delegate methods to receive the events.}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033\sl285\slmult0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
See }{{\field{\*\fldinst HYPERLINK "https://www.youtube.com/watch?v=zRURG4Zp0Zo#t=733" }\scaps0\caps0\cf2\strike0\expnd0\expndtw0\i0\ul\ulc0\b0\langfe255\ai0\ab0{\fldrslt \cf2\ul\ulc0\langfe255\lang255\rtlch \ltrch\loch\fs19\lang255\loch\f4
tutorial video}{\rtlch \ltrch\loch
}} }{\cf1\rtlch \ltrch\loch\fs19\loch\f4
for a live example.}
\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af6\langfe2052\dbch\af7\afs24\lang1081\loch\f0\fs24\lang1033{\rtlch \ltrch\loch
}
\par \pard\plain \s2\ilvl1\outlinelevel1{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb240\sa120\keepn\cf0\b\kerning1\hich\af7\langfe2052\dbch\af9\ab\loch\f0\fs36\lang1033\sl285\slmult0\sb0\sa0\cbpat9{\cf1\b0\ab0\rtlch \ltrch\loch\fs28\loch\f4
Credit}
\par \pard\plain \s54{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af0\langfe2052\dbch\af0\loch\f0\fs24\lang1033\sl285\slmult0\tx0\li0\ri0\lin0\rin0\fi0\sb0\sa0{\cf1\rtlch \ltrch\loch\fs19\loch\f4
Plugin made by Getnamo. Point all questions to the main }{{\field{\*\fldinst HYPERLINK "https://forums.unrealengine.com/showthread.php?3505-Razer-Hydra-Plugin" }\scaps0\caps0\cf2\strike0\expnd0\expndtw0\i0\ul\ulc0\b0\langfe255\ai0\ab0{\fldrslt \cf2\ul\ulc0\langfe255\lang255\rtlch \ltrch\loch\fs19\lang255\loch\f4
discussion thread}{\scaps0\caps0\cf2\strike0\expnd0\expndtw0\i0\ul\ulc0\b0\langfe255\ai0\ab0\rtlch \ltrch\loch\fs19\lang255\loch\f4
}}.}
\par }

hydra-ue4's People

Contributors

getnamo avatar

Watchers

Andrei Bosco B. Torres avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.