Indie VR & Game Developer

Hello! I'm Jason.

I'm a computer programmer with almost 2 decades of experience, now trying to transition from a hobby to a career. I've spent the last several years learning game development with the Unity game engine, and specialize in C# scripting.

I publish my own assets on the Unity Asset Store, aspire to make my own games, and will entertain offers for jobs on projects that suit my skills and interests.

Please enjoy my projects, consider my services, and contact me anytime!

Find Out More

Projects

Showing posts with label VR3DImageViewer. Show all posts
Showing posts with label VR3DImageViewer. Show all posts

Thursday, May 4, 2017

Update: VR3DMediaViewer 2.0



VR3DMediaViewer has been updated to v2.0!

In addition to being renamed, it's had a major overhaul to be easier to use and be designed from the ground up with Video in mind.

I also finally checked off the last thing on my TODO list, and got Interlaced, Checkerboard and Anaglyph formats working with video!

To do this update justice, I went all out on this version, aiming to achieve a new level of professional polish. Both with the asset itself and the new promotional images. Enjoy!

Change Log:

2.0:
  • Complete rewrite. 
  • Full support for all formats when using animated textures like video. 
  • New "Stereoscopic 3D Image" asset system to better pre-configure media for display. 
  • Easier streamlined setup. 
  • Support for Unity 5.6 VideoPlayer. 
  • Improved Stereoscopic 3D Screenshot script. 
  • Reorganized file hierarchy. 
  • Replaced the old "Example Image" with 7 real Stereoscopic 3D images. 
  • Anaglyph support now includes all variants, not just Red/Cyan.

Available now on the Unity Asset Store!

Tuesday, October 4, 2016

Update: VR3DImageViewer 1.3



VR3DImageViewer has been updated to v1.3!

It now officially supports both *Stereoscopic 3D Video and Stereoscopic 360 Panoramic media!

Until now the asset "technically" supported both, but was not designed to be specifically intended for either. To help, 2 new demo scenes have been provided as examples on how to use both types of media with the asset.

Additionally, the asset has been update to work with the latest Unity (v5.4) and major VR SDKs.

*A special note about Video support. Due to the nature of the interlaced, checkerboard and analglyph formats, the asset does not support Video of those formats. This may be changed in the future.
Change Log:

1.3:
  • Updated setup steps in the readme for SteamVR and OVR SDKs to be compatible with Unity 5.4.
  • Replaced the Google Cardboard setup steps with GoogleVR/Daydream steps.
  • Fixed tooltips for good now!
  • Added a Demo example for showing how to use this asset for Stereoscopic 360 Panorama images, since they are popular with VR.
  • There are probably various ways of achieving this, and probably a few variations on formatting for 360 images. This just shows a common one.
  • Added a Demo showing how to use this asset for Stereoscopic 3D video playback. This demo is just an example using Unitys MovieTexture format. Other forms of media playback in Unity, like through asset store assets, may and probably will work too.
  • Added a check every frame to ensure that any changes made to the Material (sourceMaterial) used by the VR3DImageViewer script, are visible. This applies to selected texture, tiling and offset. This was done to address issues with this assets compatibility with several Video assets I tested it with.

Available now on the Unity Asset Store!

Monday, June 27, 2016

Update: VR3DImageViewer 1.2



VR3DImageViewer has been updated to v1.2!

The major new changes are a new option to change at which depth the image focuses. This is particularly useful when dealing with images that are difficult to focus on, perhaps because the contents of the image around the sides appears to be in front of the image frame. It can also be used to help viewers better focus on a image when they're camera rig is nearer to it.

Various functions of this script have now been exposed to be accessed via your own scripts, to change setting at run time.

Several new Stereoscopic 3D formats have had now been added as supported, include 2 images, Vertical/Horizontal Interlaced, Checkerboard, and Anaglyph (Red/Cyan).

Check the change log for further details.
Change Log:

1.2:
  • Merged the 2 scripts into one. Now there's an option called "Render Method" in the inspector. RenderSwap is the original method meant for Single Cameras/NativeVR. Layered is the method for cases in which RenderSwap doesn't work.
  • Updated setup steps for SteamVR.
  • Fixed an issue with the Layered method that created infinite copies of the image object.
  • Fixed tooltips not displaying.
  • Fixed the bonus screenshot script to render a SBS image instead of cross-eyed.
  • Added a new feature to control a convergence offset to help make images focus at different depths. Explanation as follows:
    • To use the convergence, you need to set a max range. Doing so crops the visible area of the image pair, by 2 pixels per unit. One on each side of the displayed image.
    • The max range is meant to be set by the developer ahead of time, not at runtime. Though for the sake of changing images at runtime you can.
    • The convergence value shifts the images horizontally for each eye by units of pixels.
    • The convergence value can be set at all times. Though to see it have an effect it needs to be at runtime.
    • Setting the convergence to a negative value draws the the focus areas of the stereo image closer to the viewer. Naturally then, a positive value draws it further away.
    • You can use this feature to fix hard to focus stereo images that weren't made properly.
    • You can also use it to dynamically adjust a good image at runtime for different reasons that you may have. Like making a image easier to focus on as the camera rig gets nearer to the image.
    • Dimensions of the image are provided in the editor to help you adjust your mesh scaling as needed, as the cropping causes a loss of any pre-existing viewed aspect ratio. So generally you will want to scale your meshes GameObject in horizontally to compensate for any loss.
    • If you're using the included bonus script to acquire your stereo pictures, you can try bumping up the width of the screenshot before you capture it, to compensate for the pixels you will lose due to cropping. Just remember that you lose twice the pixels of the maxConvergence value.
  • Newly added instances of the script will now try to use RenderMethod settings from pre-existing instances of the script in a scene, as defaults.
  • Added support and public methods for changing textures and image properties at runtime. The following is a full list of methods and variables meant to be accessed via code:
    • Pubic Methods:
      • SetTexture(texture1, texture2, ImageFormat); Texture2 is only needed if using Two Images. ImageFormat is optional but recommended in most cases.
      • Set3DImageFormat(ImageFormat); Pass the new image format as "ImageFormat.SideBySide" for example.
    • Public Variables:
      • swapLeftRight = bool; True = Swap the Left and Right images. False = Don't.
      • stereo = bool; True = Show the displayed image in Stereoscopic 3D. False = Show the same image to each eye. (Left is used for both, unless swapLeftRight is true, then right is used for both)
      • convergence = int; A pos/neg value to offset the textures each eye sees by 2 pixels per unit.
      • maxConvergence = int; A maximum value for the above. The max for this is 1/4 the pixel width of each eyes texture.
  • Added support for 2 source images, one for each eye, to be used.
  • Added support for several new image format types. These formats are less common, and not recommended that you ever create stereo 3D images in these formats. But since such format images exist, this asset might as well support them.
    • Due to the way these formats are, they require a behind the scenes conversion. And because of that they will not work with animated Textures like video. Animated textures should be created in a formats like SBS, TB, and Two Images.
    • These new formats are:
      • Horizontal Interlaced
      • Vertical Interlaced
      • Checkerboard
      • Anaglyph (Red/Cyan only for now)
    • Anaglyph support is done in a way similar to using colored glasses in real life, except the world around the picture remains un-tinted. Due to each eye seeing a significantly different color, some people may experience discomfort after extended use just like with the colored glasses.

Available now on the Unity Asset Store!

Tuesday, May 17, 2016

Update: VR3DImageViewer 1.1



VR3DImageViewer has been updated to v1.1!

Added an optional script for Rendering 3D images.

Added a new demo scene with a fake VR camera rig that helps clearly show that each eyes camera sees a different image, on a 2D monitor.
Change Log:

1.1:
  • Removed scripts/code to check for native Unity VR support. They were only used to assume that native VR was the only case in which a device/SDK would be using a single camera.
  • Now when using a single camera, like with native Unity VR, you have to select the camera as either left or right. If none is selected, it will attempt to search for MainCamera and use that if found.
  • Added a second demo scene with a fake example stereoscopic VR camera and a texture to clearly show that a different image is going to each eye.
  • Fixed the ToggleMonoStereo() method. Not sure what I was thinking back when I made it, by having it display the default double imaged texture when set to Mono, but now it displays the left eye texture to both eyes when set to Mono.
  • Added in a optional alternative script for viewing 3D images. It uses a method involving layers that I made and discarded last year, thinking it was now obsolete. Pre-Unity v5.4 SteamVR support proved otherwise. So in an effort to make this asset cover as many devices and SDKs as possible, I added it in too. Basically it relies on using Layers for each eyes camera to only not render objects of the other eye. I added another demo scene as an example of how to use it. Refer to the "Pre-Unity 5.4 SteamVR" section for how to use it.
  • Cleaned up some code and comments.
  • Reorganized the folder structure.

Available now on the Unity Asset Store!

My Services

Unity C# Scripting

I'm available for C# scripting for small Unity projects.

Read More

Basic 3D Modeling

I'm experienced with Blender. Basic modeling and rigging.

Read More

Unity Development

I've created many demos, scenes, and even a simple game.

Read More

Virtual Reality Consultation

I've been an VR enthusiast for a few years, and made VR content.

Read More

News / Dev Blog

Contact

Contact me

You can reach me by email or twitter.

Email: darkakumaz-net.us

Twitter: @DarkAkuma_

LinkedIn: Profile