More Input Methods for Google Card board VR World on Android? - unity3d

Is there any hardware available by which we can get more control in VR world on Android in addition to Magnet Card board button?
For example some bluetooth joystick/Remote/mouse or any other way to use other android device as Input Source.
Kindly share if somebody tried.

There are many input devices compatibile with android.
The most basic controls are traditional keyboards or game pads plugged in via an OTG cable. This is also the cheapest option, and easiest to obtain for the consumer.
There are also bluetooth pads compatibile with android.
You can also try to use Wiimotes, but the support and libraries arent really that mature, at least among those that I tried.

Related

Connect(control) Kodi Between Rooms?

Hello I am trying to work out how to set kodi up on my smart TV. My main problem lies with the TV being on the wall in another room too far away from power sources. She has sky installed and that was situated in the other room and with a HDMI lead fed under to floorboards to the other room by a professional someone or other. I am unable to feed another HDMI lead along the line.
Is there a way I could connect kodi by some other means to the TV? I am not really up on these things.
At the moment I have the kodi box in another room and I have to switch the sky lead to the kodi box to use. Also this means you have to be in the other room.
Can anyone suggest a way for me to get kodi working on the tv and be able to operate it via remote control?
I use Kodi on all of my TVs through an amazon fire stick. Most smart TVs have a USB on the back of the TV that can power the fire stick while its plugged into the HDMI so you wouldn't have to worry about power. I have a Sony bravia that will control the fire stick as long as I am on the input the fire stick is plugged into so no need for an additional remote.
To start off this is the wrong place to ask. This is a Q and A platform for programming questions and coding related questions.
To give you an answer though because I'm not a dick the best way to do it would be using a NAS. You would have two Kodi boxes but one media store.
I'm not sure which device do you use.
In my case, I installed Kodi on my Raspberry Pi(RPi) and TV and RPi are connected with HDMI. My TV is Samsung SmartTV, which supports HDMI-CEC. So, RPI can get RCU Key input from TV.
(HDMI-CEC allows devices connected to your TV through HDMI ports to communicate back and forth with your TV. )
In addition, you can customize keymaps for remotes in GUI by using the community Keymap Editor add-on.
https://kodi.wiki/view/Keymap
Check your TV supports HDMI-CEC, first.

Control Camera desktop application using Gyroscope of Android smartphone

For a project at my university I need to create a Unity3D application on my laptop, in which the camera is stationairy and can be controlled to rotate in any direction using the gyroscope of my Android smartphone (Nexus 5), wirelessly or through usbcable.
I've looked at the possibility of OSC or the Unity Remote 5 App, but up till now haven't found a way that works in order to obtain this result.
Any help or advice would be hugely appreciated - I don't have much experience yet with all this.
Thanks!
If i was going to do this then I would use UNET (Unitys built in multiplayer networking API) and have the rotation sync over LAN.
On the camera I would have a Network Transform and a script to control its rotation based on accelerometer input.
The version on the phone would be the authority and sync it's rotation over the network to the client on the laptop.
Pros: Wireless, fast (over wifi), very little code required to make it work, lots of documentation available online.
Cons: Relies totally on your network situation, you will have to do a lot of trial and error to get a smooth experience (not jerky) i think.
As for getting the tilt input on the device, Unity have a great tutorial here: https://unity3d.com/learn/tutorials/topics/mobile-touch/accelerometer-input
It's pretty straight forward.
Sound like a fun project, good luck!
It's possible to do this via cable, WiFi, Bluetooth 2.0 or Bluetooth 4.0 (BLE). I have implemented what you need in WiFi and Bluetooth 2.0 for my current work.
It's pretty easy to get rotation values and stream them from Android but I don't think you will need to do anything because you can just use this!
https://play.google.com/store/apps/details?id=de.lorenz_fenster.sensorstreamgps&hl=en
So the question is how do you receive the data this is sending on Unity's side. The answer is the UdpClient class.
If you need more reliability because every second student in your uni library is torrenting Mr. Robot and your getting huge lag then I can tell you how to implement the same thing in Bluetooth, which is not super trivial as .NET 2.0 (which unity uses) doesn't support bluetooth libraries, but there are solutions...

Sony QX1 API support for bulb mode - needed for astrophotography

The Sony QX1 camera would be fantastic for astrophotography - it's a very small and lightweight camera, but has a large sensor. However, for astrophoto the camera must be able to perform a few basic functions. One of these is Bulb Mode. Out of the box the QX1 does not seem to support Bulb Mode.
Is there a chance that Bulb Mode could be used via the API? I can't seem to find it in the docs. Even if it's not an "officially supported" setting, even if it voids the warranty. Is there any hack to enable it, at all? Firmware hack? "Magic" memory locations to overwrite to enable some kind of developer mode? Anything?
Another feature required for AP is a decent level of manual control, but that appears to be somewhat supported via API. At least ISO seems tweakable that way - let me know if I'm wrong.
Are you asking about a long exposure? This camera does not support that feature. Unfortunately if the functionality is not supported by the camera there will not be a way to activate this feature through the API.
Do you know if the USB remotes work? There are two types on the other cameras e.g. A6000. First there is USB tehtering to apps like Capture One on Widnows and Mac or RCCDroid on Android. Other thing to try are wire remotes that too plug in the USB socket but use some extension pins that Sony added on their cameras.
I hope some of those work.
If I have to pick one to try I would go ot the USB tethering as it allows setting shutter speed to Bulb on other cameras e.g. A7ii. Also RCCDroid I believe had free version and simple USB cable with OTG will reveal if tethering works for QX1
PS You can do some rudimentary control from computer using gphoto2 over USB. The big drawback is that when you tether the camera it will not save files to SD card
PSS Sony indicate that QX1 is supporting "multi" mode on the USB hence simple wired remotes will work. Only problem is how to set the shutter speed to bulb and Camera Remote API does not allow that I believe.
PSS Does QX1 work without electronic lens? Other cameras require change of settings to enable shutter without lens

Google Cardboard controlling PC

When I saw the Google Cardboard for Unity, I assumed this meant that you would be able to make a Unity PC game and use your phone as a screen/controller. All I can see is it wanting me to make an android app which is all well and good, but it doesn't allow for input from the keyboard.
Is there a way to stream the Unity PC project to the device and retrieve input (i.e. Headtracking, NFC magnet)?
The problem with such a solution is latency. In VR latency is a big deal. The overall latency from input to photons reaching your eyes should be 20ms or lower. Regular games have 30-60 ms latency by themselves. Add to that the gyro latency, the phone display latency... If you want to add another 25ms or more ping to your VR experience, that's gonna be painful and may even make you sick. If you want to read more on why latency is such a big deal in VR, Michael Abrash wrote an excellend blogpost about it: post on latency
If you want to necessairly use a keyboard for navigation, consider using a bluetooth keyboard that can be used with android devices. Also keep in mind that with the current technology, especially without a dedicated headset, really dynamic vr experiences probably won't work very well and can make some people uncomfortable or sick. For a good read on designign virtual reality experiences, please refer to this guide from the Oculus Rift: http://static.oculus.com/sdk-downloads/documents/Oculus_Best_Practices_Guide.pdf
There's nothing in the Cardboard SDK for talking with a PC-hosted Unity game. You could adapt the code from the Unity Remote 4 project:
https://www.assetstore.unity3d.com/en/#!/content/18106
We are developing the app what you want except it uses GearVR instead of Cardboard. Please check the link below.
http://challengepost.com/software/airvr
Streaming from your PC to your phone's Cardboard is possible using third-party apps, such as Trinus VR (the client app on your phone) and Vireio (the streaming app on your computer). The two apps will then communicate via your home network (Wi-Fi or other) to stream the images.

Is it possible to build a smartphone app that stream a screen to a TV, while allowing you to remote control it with the phone itself?

Is it possible to build an Iphone/Ipad app (and Android app) that can do two things: stream an interface and the respective content (particularly video) to a TV and then let me use the phone itself as a remote control for this interface?
Basically the idea is, you don’t need a smart TV anymore or some kind of set-top box or other connected device, just the smart phone which you carry around all the time anyway and which is connected to your local wireless connection. Maybe a docking station with a HDMR connection to the TV, so you are not emptying your battery.
Do you know any comparable implementation or use?
If it is theoretically possible, can you anticipate any performance problems, bottlenecks and how those could be resolved?
If this it’s not possible, which links are missing, what technology would have to be developed first?
Thank you for your thoughts on this!
Jacob
The iPhone/iPad would work for this. It allows you to output to a second screen. You can stream video, audio, whatever. A cool example I saw was using the TV as the primary display and the phone as a controller for a game.
There are two ways to do it. You can use an hdmi output or a vga output. There is also a AirPlay, which will let you do it wirelessly. You would need an AirPlay capable device (like an AppleTV) for it to work though.