No description, website, or topics provided.
Clone or download
Latest commit 8ecc05b Jan 7, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
__pycache__ first release being sent to mailing list Apr 18, 2018
data pre demo Dec 3, 2018
lib taking time off work because landlord Nov 26, 2018
measures CCP4SW Jan 7, 2019
modelsAndMaps new file hierarchy Nov 8, 2018
settings CCP4SW Jan 7, 2019
tools CCP4SW Jan 7, 2019
README.md updated readme Dec 5, 2018
connection.js bit of work with paul Sep 7, 2018
coot-user-manual.pdf pre Oxford Aug 14, 2017
displayManager.js about to try preallocating blocks Dec 5, 2018
export.map merged Nov 8, 2018
hands.js just before symposium demo Dec 3, 2018
holdables.js back from Oxford Oct 3, 2017
index.html CCP4SW Jan 7, 2019
init.js CCP4SW Jan 7, 2019
keyboardInputAndMonomerReceiver.js added much needed things Oct 15, 2018
loop.js taking time off work because landlord Nov 26, 2018
mapExtractionAndMeshing.js can now just load in a pdb Dec 21, 2018
maps.js can now just load in a pdb Dec 21, 2018
miscFunctions.js got objects hanging on panel Nov 7, 2018
models.js can now just load in a pdb Dec 21, 2018
nonCootConnectedInit.js CCP4SW Jan 7, 2019
panel.js can now just load in a pdb Dec 21, 2018
scaleStick.js work on laptop Oct 19, 2018
server.py slight changes on vm Dec 3, 2018
serverReactions.py slight changes on vm Dec 3, 2018
spectatorRepresentation.js about to go to newbattle Jun 29, 2018
stats.js pre demo Dec 3, 2018
surroundings.js ok so there is probably a problem with a bunch of commits before this… Nov 2, 2018
tempVr.js work on laptop Oct 19, 2018
text.js ok so there is probably a problem with a bunch of commits before this… Nov 2, 2018
variables.js got objects hanging on panel Nov 7, 2018
visiBox.js tried to have fixed length buffers, but got weird bugs like inside ou… Dec 7, 2018

README.md

Photo from a review by Sherri L Smith

What is this?

This is, or will be, "Coot" in VR.

Video introduction

Why is this being made?

We hope it will make Coot faster to use! It will be easier to see 3D features, to specify intended atom detinations, and to navigate some of the information you need to use Coot (because you have more "screen space"). It will also be easier to train people to use.

How do I set it up

You'll need an Oculus Rift or HTC Vive (other headsets will be supported soon) and a browser compatible with webVR (eg this webpage works).

  1. Run server.py with python 2.7
  2. Start the webVR browser, using the console command --allow-file-access-from-files and open index.html
  3. Try pressing buttons on the hand controllers and moving them around. If they're frozen, restart from 2.

I have an issue

If this happens and you'd like to report it, it'd be great if you could copy the text of the terminal if it looks like a python thing, or if not, then from the chromium console, which you can open with something like ctrl+shift+j.

Any plans for this to be compatible with other headsets?

Yes! I don't own any other position-tracked headsets, but if you work at Sony/Samsung/Lenovo/Acer/Dell/HP/wherever else, send me a headset and I should be able to get it working

"3 dof" headsets including Daydream/GearVR/Oculus Go will not be supported. In the history of this repo you will find a version compatible with daydream, but it was a nightmare to get the pointer working and it is not clear what payoff there is, apart from having a super-cheap thing available to people. Read my PhD thesis (ETA 09/2019) if you want to hear why it would be a bad idea from a UI point of view too.

Will you have feature from Coot?

Yes, I really hope to implement that! In principle I could have other things too :3

Why don't you use Unity / Unreal?

I do use three.js, which is a graphics api. In comparison with that, Unity/Unreal have disadvantages:

-Longer to compile and load -Weird UI for development -Fairly frequent frustrating bugs and plugin issues -Much larger download for users (threejs is 500KB) -More complicated API -Selfish motivation: I am more able to develop my programming skills with threejs

Reasons why many people use Unity/Unreal instead of three.js (or gtk or ogre): -API offers many, many more features for dealing with animations, particles, sound effects, pathfinding AI -If you want those things, they will be handled pretty efficiently, in comparison with you writing them yourself, unless you are extremely experienced with writing those things -The UI is very useful for setting up large environments with lots of objects in them

All this is to say: Unity/Unreal are for making video games in the mould of modern-day video games. I.e. you have a team of between 3 and 300 people, the majority of whom can't program, pouring work into a "virtual world". This isn't much like the goals of Coot.