If you read my last article you know that I managed to build a winter scene, add png based characters, add hands and grabbing capability and teleportation. If you don't launch into VR you can use the WASD keys to move around.
I was excited to be able to add teleport. Tuesday night I gave a talk at the Denver VR Meetup about A-Frame and why I believe the Web will eat gaming in VR in 2018.
Once I showed teleport to the group in VR inside of a web page I could see that the group was interested. Before the demo people seemed to ignore me when I would bring this up.
So, I thought hands were great but I wanted my controllers and not cartoon hands. I went back and studied the examples on A-Frame and found A-Painter. In A-Painter I saw that the program recognised my controller and added controls almost identical to TiltBrush. When I saw the tooltips explaining the controller functions I was amazed. So, not only could I teleport but I could create a modified menu based on the controller. I downloaded the Github version and tested it on my desktop. It worked like a charm.
I tore the code apart and found in the build.js file code that checked controller type and saw that it was setup for Vive as well. I found the all of the tooltip and teleport components in the vendor folder.
On A-Frame's Slack channel I found code that acts as a point and click interface. This code also checks controller type. I plan on doing an extensive explanation of how the code works to identify controller type as well as how to add a function to each controller button and trigger.
Here's a link to code on CodePen: https://codepen.io/luiting57/pen/dWLVwr
Rumour has it that all of the controller and teleport functionality will be included in the core when version 6.0 comes out.
But, the open web has a much greater number of people. And this can be viewed in 2D as well.
As a web designer and developer as well as ex-Flash animator I decided to start a blog here just to keep people updated about my journey in programming.
A-Frame had similar issues with png files taking on the colour of the background behind the image but Kevin Ngo ( @andgokevin ) sent me some code that changed the transparency. I'm not sure how it works but work it does. Kevin deserves a lot of credit. I have never seen anyone work as hard as he does. If I have a question he usually responds within hours. I ask questions on their Slack channel as well as other places and somehow he seems to be almost everywhere. So, I think Mozilla is lucky to have him working there.
<a-camera look-controls wasd-controls="fly: true"></a-camera>
How did I add fog?
<a-scene fog="color: #a6b7d0; near: 0; far: 65;">
Code snippet for hands and Vive/Oculus teleport?
<a-entity hand-controls="left" ui teleport-controls></a-entity> <a-entity hand-controls="right" ui teleport-controls></a-entity>
In the header, I include the component like so:
I included the direct link because the version at GitHub from the documentation did not work for me (I think it's Vive only). You can add controllers but as of right now I think it hard codes the controller type but the way I'm doing it with hands allows for both. I think a physical representation of say, Oculus controllers when you're using Vive controllers is awkward.
Also, feel free to grab me and pick me up. I'm the cartoon with glasses.
My bet is on Ethereum and IPFS but it looks like Wall Street big money is backing Blockstack. It could eventually shake out to one winner but gone are the days of only one Internet platform. Soon, and I mean within a year, we will have multiple forms of Internet all based on blockchain technology from Bitcoin.
Blockstack claims that Ethereum code is too complex and fragile. I don't believe for a second that "booting up" Ethereum will take forever or that security is an issue. The blog post below tries to argue the difference and tries to also prove that their solution is better.
I personally believe both versions are better than what we have at present. Still, as a professional I can see that neither is user-friendly. I tried to test Blockstacks browser but cannot get access. IPFS looks interesting but as far as I know we have no browser that uses it. I think I heard about a chrome extension but I'm not clear on that either. How do I get on the IPFS network without setting up a server with command line code? Does anyone know? Why does Namecoin browser load the way it does? Where is my executable like Firefox has and Chrome?
My wish is that these people could work together and create a common solution. But, I assume that in the near future we will have five versions of Internet all based on different versions of blockchain. The common web will disappear or we may see a main branch of Internet similar to a main cryptocurrency (like bitcoin) that people jump onto in order to access the other versions or flavors on the web.
Or the winner of the web platform war may be a browser that can read all versions of decentralized blockchain based servers and networks.
I remember when we only had three channels to watch on TV and only one internet to jump onto.
I've been holding my tongue for some time now when listening to so-called "experts" in storytelling as they stand on stages blathering about 360 videos being so different from 2D video and film. The first time I heard from someone that you couldn't do the same things in 360 that you can in 2D I was shocked and had to laugh. The first person I heard this from was a woman who was powerful in the film industry. I said nothing to her because I thought she would eventually figure out that she was wrong. But now, the entire industry seems to be parroting her because it must either make them think they sound intelligent or they are simply not very bright and assume the "experts" are correct.
Yes, movement and cuts were a problem with low frame rates but not anymore. If you have a machine fast enough frame rate shouldn't be an issue.
To my point, if you were seeing 2D film for the first time and you lived one hundred years ago at the birth of this art form, cuts, fades and whatever would all be confusing and yes might have even made you sick. Why doesn't this happen now? because we've learned the language of cinema. If a cut happens and a new scene appears it's because we are in a new location. We know this instinctually. Why do people think people ran out of the theater when a train came at them on screen? We had no language of cinema at the time.
In my opinion, anything you do in 2D can be done in 360 video once the public and apparently people in the business of film have used VR enough. Until the realization sets in, I would help the public get used to 360 video by slowing down fade out and fade ins as well as cuts. Possibly use blur techniques before the cut and after. Provide a visual cue such as a post where a person will be in the line of sight of the viewer. In other words, create a solid visual cue that the eye focuses on as the cut happens that blends to another visual cue after the cut.
Please don't recreate the past by using the one camera facing a live play technique but instead help recreate a similar visual language for the new form of surround cinema called 360 video. I would like to think we can learn from history.
I've been working building web pages since 1991. The web has always been similar to print in that we have "pages" and these pages reside in a website. Links move us from one "page to another "page" and so on.
But this is all about to change and I believe virtual reality may fragment the web in such a way that it may become unusable for a vast majority of people.
I remember being asked why a print designer would want to know HTML. You should have been there when I tried to convince an engineering student that we would someday go faster than 28.8 Modem speed in 1993. That student thought it was physically impossible for data to ever travel that fast. I remember having a hallway argument with a senior engineer at a TV station where I worked in 1994. I stated that someday we will watch the news on our computers. I asked, what will TV stations do then? The engineer laughed and said, "Why would anyone want to watch TV on such a small screen?" Never mind that cell phone screens didn't exist yet. I tried to convince the TV station that they should negotiate their local content so that they owned it I said that in the future networks would want it and they would have to buy it from them and I was met with blank stares. In 1998, I was asked why a company needed a website at all when no one bought anything on the internet. Why didn't they? Not because we didn't want to but because Paypal didn't exist yet.
I hope this isn't another episode of denial or lack of vision like all of the others I've been subjected to in the past.
In 2013, I was experimenting with a VR web browser Janus VR which I loved. I loved it so much so that I was an early advocate. I promoted VR to my company by creating VR spaces inside of it. But, as more people became involved in creating spaces and the programming allowed more and more flexibility I noticed a disturbing thing. Each link in JanusVR is a portal that you walk through. Each space can be any size with any content. You can move from one space that is a small room to another that is a planet and with no easy ability to move backward or forward through your original links like a 2D browser. It was very easy to get lost. Then, people started creating avatars which were "cool" but in my mind only for gamers. For those that want to use the web for reading and learning, it seemed like I was trapped in a bad video game. Don't get me wrong, this is an amazing product and I believe copied by the likes of AltSpaceVR. Kudos to James McCrae, the creator.
Consider that we need structure for browsing the web. The Internet was designed in the beginning due to technology constraints which simply became a standard over time. But, what happens when WebVR escapes the walls of cardboard only viewing? What happens if Mozilla copies or buys JanusVR and incorporates WebGL into the browser itself?
I believe the web experience may become a mess without standards. I would force 2D sites as a basic standard with a VR overlay design if a VR headset is recognized. In other words, if I'm in VR I may either choose to see a 2D website in a VR environment or a 3D VR version if the website owners have one. If in VR I still have tabs or some kind of menu system similar to the 2D browser.
In the near future, it seems that for the first time web designers and developers will have to come together and decide how the transition from 2D to VR web should happen and not leave this to companies and individuals with personal agendas. And let's answer the question, Do we really want the web to look and function like an old 1990s style video game?
OK. I've waited two years now for Microsoft to get off of its butt and create a VR version of Windows. I assumed that they would do this for PR reasons last year but I heard nothing, zip, nada. I keep hearing about HoloLens and that is so painful to watch. Who charges developers $3,000.00 for a development headset? Especially when any GearVR could do this with the right software and another camera for depth perception.
But, they could look up to date and market responsive right now simply by adding VR features to Windows 10.
We have everybody and their brother trying to put Windows 2D desktop into VR and others trying to stream VR desktop games to Google cardboard. In the meantime, Microsoft sits there like a giant behemoth that can't or won't change direction. It's Hololens or bust. Don't get me wrong, I have stock in Microsoft because they came out with a business scale tablet first. But, I'm seriously thinking I may need to sell it soon.
And now we read that Google is launching a version of Android for VR here!
The only company slower than Microsoft in adopting VR is Apple.
I was using my GearVR and looking at the Virtual Desktop application in SteamVR ( www.vrdesktop.net ) and wondering what would happen if I could use my apps in VR on my phone through GearVR? Would this make for a new operating system?
It would be amazing, no doubt, to be able to make a phone call in VR. I assume that the virtual desktop would have to modify the shape of the desktop from vertical to more of a horizontal aspect ratio. Possibly, the Virtual Desktop app would come with an optional Bluetooth keyboard that could be synced in physical space with the pass through camera.
Then, if I remember right, Samsung Galaxy phones had a function that would read your hand movements like the Leap does. They could build that out as well or simply use the tap and swipe on the headset in place of the mouse.
Samsung could end up owning a segment of the desktop market on their phones.
Light Field Photos and Video
Well, I mentioned 3D/VR audio in a previous post and now I want to introduce you to 3D/VR Photos and video. You may have wondered how they were able to create characters for movies based on real people that look so much like them. Well, this explains how. You may also have seen cameras that take a picture and allow you, after the picture was taken, to change the depth of field or focus of the lens.
This video, one of a series, explains the concepts and technology that is coming soon. Imagine not needing green screen in video. Imagine taking a video and in VR walking a meter back and forth, front to back like in the real world. This technology already exists and is being used by Hollywood and will soon be n your smart phone.
Technology is advancing so rapidly that I was told that in ten years VR will be indistinguishable from reality. In five years speech recognition will be 100% accurate.
Imagine now, two drones hovering with these light field cameras and software that will stitch and remove unwanted items (like the drones). We could even have real time VR that you can walk around in, including real time items or objects, scoreboards added.
I think you can start to see the exponential technological curve.
Building Websites in Unity 3D
I am venturing into building websites and interactive exhibits with Unity 3D using it's WebGL export feature.
I dabbled in WebGL last year and created our Holiday Card using this but working in code and trying to visualize what I was doing was as always painful at best. I waited four years for Adobe to create a Edge Animate 3D program based on WebGL but that has never happened.
They listened to me when I asked them to put a programming language into Flash in 1998 but ignored me when I asked for a 3D version in 2000. I imagined it as vector and like SketchUp on steroids.
I see online comments about what an idiot a person would be to even consider this but I heard that before about animation for the web many years ago too.
The logic to me is that WebGL is fragmented. You have Toni Parisi of VRML fame writing yet another programming language and a WebGL group that refuses to build a program that lets a person build in it without using code. I feel like I'm living in the IBM era before Apple came out with MacPaint.
As a Web person I need a program that will create WebGL from a visual format and Unity does this now with the WebGL export. Yes, I need to know C# but oh well. A simpler Flash like, Sketchup like program will come along for Web building at some point. But, Unity also can export to almost every major platform from the same file AND export as VR for Oculus with one click!
I suppose I could go back to coding by hand and I could also shoot myself in the foot but why would I?
Life is good and easier with Unity 5.
My Azure Experience
I would say my experience was a 2 stars out of 5. I give Microsoft one star for trying to even do this.
I am a Web Designer slash developer. So, this means I am an artist that wandered into programming in order to make things look better and function better.
So, when I heard about Azure I thought that it looked so easy to use. Cute icons. Hey! Create a Web App for Joomla! Look it creates it's own mySQL database! WOW.
Reality. You can create a Web App but your free mySQL database is limited to 20MB. Any website worth visiting is 70MB. 70MB in Joomla is a site with maybe twenty pages. So, you have to upgrade and pay another $10.00 a month. Also, your mySQL database isn't hosted on the same servers that your website is. RIGHT! Your mySQL database is possibly in another State! So, my tests made my normally half a second page load three seconds, shades of modem like speeds.
The company is clearDB.com and they promise faster "throughput" for get this... one hundred dollars a month.
This is similar to being held hostage at gunpoint in my mind.
Did I mention that the FTP information isn't the actual ftp information? The username and password in your admin system is your username and password for Azure not your actual site.
So, I had to Google how to get that info since Microsoft Azure didn't offer it. I found that information in a different area as a PDF file that you download. It was almost as if they were trying to hide that information on purpose.
So, then I thought, OK I can't get fast speeds using this approach. Maybe I should just create what looks like a one click installation of a Webuzo server installation like I have now. Well, it appeared in the admin system that the server was created but I can't actually get to it. I once again can't find any documentation in how to use it, configure it or anything and not even on the web.
So, one week in and I have no idea what to do. What a joke. Did they have anyone even user test this thing?
On a positive note, with some work the Web App could be pretty cool. But, this third party clearDB either needs to be integrated into Azure or Azure needs to auto create a mySQL database that sits on the same location that the hosted site does and not use this clearDB.com at all. Many people have complained about the lack of speed and of course none of the engineers that respond can see the forest for the trees and see that you simply don't host a database a State away from your server. They may have fast connections but the rest of the World, especially if you're with CenturyLink here in Colorado. I don't even want to talk about how they lied to me about the INternet speeds I would get or how they throttled me down to ten MB download speeds from a measly 18MB and raised my monthly charge to $60.00 a month. This forces me back to the only competitor, ComCast.
Getting Internet only through Comcast is like horse trading in 18th century Europe or bartering in a market in Tangiers. And God forbid I want only Internet and not the "bundle." Like I need a landline phone. Why don't I? I mean I'm not even a Millennial. They seem to think only people under twenty five want Internet only services... *sigh*.
But I digress, the final take away with Azure is that it is like online dating. Her picture looked great but it wasn't really hers.
Virtual Reality Audio
Spatialized sound is coming to audio and music and it's coming from Oculus Rift and virtual reality.
Imagine music now having the ability to surround you as if you had potential speakers everywhere.
You put on your headphones and a guitar riff sounds as if it is encircling you as it moves around you. The bass sounds rotate at your feet in slow movement. You literally feel the sound is coming from different locations inside of a virtually constructed room.
I was at the consumer electronics show last January and experienced two demos with spatialized sound. One demo put me on top of a tall building at night. I could hear the traffic down below and the echos as it reverberated against the buildings below. I realized later that the sound caused my brain to mentally calculate the distance to the ground because of the echo. My brain was fooled into believing that I was in a real world space because of the mental calculations that I wasn't even aware I was doing at the time.
Oculus Audio SDK creates a room in 3D space for the sound itself. This causes the reverberation of sound from wall to wall and all of this just for sound. This "room" has no relationship to the 3D image of the room you might be walking through in VR.
So, once again, we are at the edge of another new frontier called 3D Sound and 3D Music.
All other music up until now has been flat 2D sound. We have struggled with multiple speakers for surround sound but this will beat anything that anyone has ever know before.
You read it here first.