Jump to content

oculus controller skined models


photo

Recommended Posts

Hello

How to change Oculus.controller.mesh to nice transparent hand as in oculus demos?

as I can see in Unigine, there are built in models of controller -

controller[0] = NodeReference::cast(Editor::get()->getNodeByName("oculus_touch_left_0"));

located at "data\samples\plugins\nodes\oculus_touch_left.node" and no hands model

how to implement skinned mesh models with some base poses for gestures instead of standard controller models? tutorials? implementation notes?

 

Link to comment

Hi Mikhail,

You need to download that hands model somewhere (maybe they are available in Avatar SDK) and import as SkinnedMesh into Editor. Tune material and write custom code that will play animations according to the controller buttons state.

We do not have any other models for Oculus Touch controllers inside SDK.

Thanks!

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment

got problem half way, could you help?

reflection.getFunctionName(I) drop error in code translated from c++ to c#

		IntPtr interpreter;
		Reflection reflection;

		public init() {
			api = API.None;
			Engine engine = Engine.get();
			if (engine.findPlugin("AppOculus") != -1) api = API.Oculus;// ok
			if (api == API.None) { Log.message("no OCULUS\n"); return; }
			Log.message("OCULUS are present\n"); // ok

			Log.message("init Reflections\n"); // ok

			//interpreter = (Interpreter*)Engine::get().getWorldInterpreter(); // c++
			interpreter = engine.getWorldInterpreter(); // c#?

			//reflection = std::make_shared<Reflection>(interpreter, Variable("engine.oculus")); // c++
			reflection = new Reflection(interpreter,new Variable("engine.oculus"));// c# ?

			Log.message("init Reflection getNumFunctions={0}\n", reflection.getNumFunctions()); // returned 56

			for (int i = 0; i < reflection.getNumFunctions(); i++) {
				Log.message("init Reflection {0}\n", i); // ok 
				Log.message("init Reflection {0}\n", reflection.getFunctionName(i)); // app crush!
				if (reflection.getFunctionName(i) == "getDevicePose")				getDevicePoseID = reflection.getFunctionID(i);
				if (reflection.getFunctionName(i) == "getDeviceVelocity")			getDeviceVelocityID = reflection.getFunctionID(i);

I think there may be something with replacing "std::make_shared<Reflection>(" with "new" in c# ?

 

 

Edited by lightmap
Link to comment
×
×
  • Create New...