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 VR3DMediaViewer. Show all posts
Showing posts with label VR3DMediaViewer. Show all posts

Thursday, January 28, 2021

Update: VR3DMediaViewer v2.5



VR3DMediaViewer has been updated to v2.5!

I fixed a long reported, but not reproducible by me, issue. The issue was with the XR Plugin Management system and the Shader rendering method, where the image in one eye wouldn't render. I was waiting for Vive to finally be properly supported with the new XR Plugin system so I could properly test and reproduce it myself. But in the end, I didn't need it. The issue was something I should have probably have had indicated to me a long time ago. Was just a issue with the Unlit Shader and the SinglePassInstanced rendering method. That method was not one I had access to before with my devices.

I also addressed issues with the RenderingMode selection stuff. The option itself didn't work as a global static variable like I thought, and once I realized what was going on, it helped explain some known issues. And well, there was some compilation issues with more modern versions of Unity.

I took a lot of time off from these projects because purchases significantly slowed down after the pandemic started, and it seemed like a waste of time to put more work into stuff that's going to sell less. But now that things are picking back up again, hopefully soon I'll work on the rest.

I'm not sure what there is that's left to do with this asset besides maintaining it. So I'll have to just rely on users making suggestions or reporting issues. Otherwise, don't expect to see much going on with this. It wont be dead or anything, just not in need of any update... unless Unity breaks stuff again...

Change Log:

2.5:
  • Removed code for automatically detecting your StereoRenderingMode and selecting an appropriate RenderMethod.
  • Moved the RenderMethod option from the VR3DMediaViewer component to a new VRSettings object. In doing so, this fixes issues with selection. 
  • Resolved a SingePassInstanced issue with the image not displaying in the right eye with the Unlit shader.

Available now on the Unity Asset Store!

Friday, January 17, 2020

Update: VR3DMediaViewer v2.4



VR3DMediaViewer has been updated to v2.4!

While waiting for publishing approval for TwIRC I decided to check in on VR3DMediaViewer to see if there was anything on my list that was worth looking into. SinglePass rendering support was the best task, so I gave it a shot.

SinglePass rendering requires use of shaders. As is, my asset is not designed around that, so I figured it was to contrasting of a option to support and integrate into my asset as is. After messing with it a little though I realized that I could fit it in as an option well enough. So, as much as I hate shaders, I wrote up what I could and got single pass rendering working. Setup is about 2/3 the same as the other method. You just don't need to setup a camera now for the SinglePass method.

The old, Layered, method is still an option. Selecting between the 2 options is available via a global option on any canvas. I would have just programmatically selected Layered if you had MultiPass selected, and Shader if you had SinglePass selected. But MultiPass mode supports both options, so I wanted to allow users a choice.

A common default question will probably be "which option do I choose for my project?". IDK. All I can say is, I think the SinglePass/Shader method will be more efficient considering performance. But I don't believe it will be significant in most cases. I think for it to be noticeable, you would have to have MANY instances of VR3D canvases in your scene. Like a gallery. Since the SinglePass option is so new and for me, experimental, I can't clearly declare it as the better default option though. The Layered method just works. It's been the only/primary method since the old RenderSwap method was dropped. About the only other difference is that Layered supports use of any shader, while the Shader method naturally requires the use of my assets Unlit shaders. So SinglePass+Shader for minor performance, and MultiPass+Layered for stability and customizablity?

Moving on, the next most interesting inclusion in this version is (limited) support for taking Panoramic Screenshots. The limits are that Unity v2018.1 and up is required, and the method/APIs used to achieve it are flawed as I've noticed quirks with the output when looking up/down. I just followed Unity own guidelines and use of APIs that they created specifically for this, and as such the issues with this method are out of my hands. I'd still recommend eVRydays free asset for capturing Pano media instead. In theory his is largely the same technique, just his Cubemap to Equirect code seems to be better than Unitys.

Finally, worth mentioning is a new addition/change to all my assets that I'll be trying out.

I've been trying to find ways are improving my sales. And when you come right down to it, one thing that helps the most is people leaving reviews. But very VERY few people do, and it really hurts new assets. People are reluctant to try and buy an asset because it has no/few reviews, and it has none/few because of the few that do by it don't leave a review. The only working method I have found to help get reviews was to ask people when they contacted me about issues. But ideally, my assets would be so good that people wouldn't be contacting me with issues. So then what? I don't want to purposely make flawed assets. So what can I do?

I came up with the idea to remind people with my asset itself somehow. But I needed to find a way to do it that seemed like a fair reasonable balance of actually reminding people, but not completely annoying.

My idea was to create an on load pop-up you see for many assets, but mine only shows up every 3 days. You can easily click it away and not see it for another 3 days, or you have a couple options to never see it again. The main way to never see it again is to simply wait 3 minutes for a countdown to complete, and a checkbox in the window to permanently hide the popup will become accessible. The idea is, if you want to wait, you can go and leave that feedback while you do. Seems reasonable to me! If you want to not be reminded, don't want to wait, don't care about helping support asset devs with a simple review, than you could also just edit or delete the script. It would then of course be gone until the next time to update or re-import the asset. I obviously don't like that option, but its peoples right to chose that.

This reminder is a trial I guess. My hope is of course that it gets more glowing 5 star reviews! But it could always backfire and cause customers to over exaggerate and leave a bad review solely based on perceiving a minor inconvenience as annoying and completely negating all the positive they get from the asset. IDK. Time will tell. I'll hopefully be adding this to my other assets too.

Change Log:

2.4:
  • Added SinglePass Stereo rendering support.
  • Optimized demo files.
  • Added review reminder popup. (Removed for now.)
  • Fixed misc minor camera setup bugs.
  • Fixed an issue with the Mono_TwoImages format not working as intended.
  • Fixed some script/shader errors.
  • Addressed issue with shaders not being included in builds.
  • Added Panoramic support to the Stereoscopic3DScreenshot script. Requires Unity 2018.1+. Its imperfect though, but out of my hands.

Available now on the Unity Asset Store!

Monday, June 10, 2019

Update: VR3DMediaViewer 2.3



VR3DMediaViewer has been updated to v2.3!

I'm not sure what happened to 2.2... I guess I decided not to post about it since it was more minor? I'll include the change logs for both though.

The most notable updates are:

A new Manual. This manual is a PDF that replaces the old ReadMe text file. It's largely copied directly from the readme, but heavily updated with better formatting, images, color, etc. It should be a lot more new user friendly.

The Stereoscopic 3D screenshot script/scene was bugging me for awhile. I realized it was geared around developers using it themselves in editor. But it should allow users of the devs app to use it too. So I worked on some example scripts/assets/scene to provide a decent example of how best for devs to allow users to make use of it.

There's a new Panoramic media display method available now. The older way had issues in that as physical projection it didn't lock to the viewers head position, which may not away be desired. Being mesh based, its also is subject to the meshes geometry. You can see odd angles in the media caused by the vertices/uv lines of the mesh, only mitigated by using a higher poly mesh.

The new method is shader based. Its more like a skybox, viewed at infinity. So it's always centered on the viewers camera. And the curve is rendered in the shader, so it both renders a smooth curve without the odd angle issues, but views the same regardless of what shape mesh you use! This shader method is setup for both 360 and 180, supports rotation of the image around the viewer, and even can work with a traditional flat quad canvas. The old panoramic method is still available as an option.

Convergence has also been updated. It supports both the old and new panoramic display methods. Its now split into 2 convergence modes. Cropped (the previous way) and Tiled. Tiled just lets the texture wrap around as its shifted in the canvas. It's not ideal for non-panoramic content.

I improved the look/organization of the Stereoscopic3DImage objects. The controls are now better sectioned out, color is used to make the sections pop more, more controls are disabled/hidden when not relevant, etc. I also added a preview for the media to the object. It's similar to the preview you see when selecting a image/video itself, but in the case of images it will display the image converted to a SBS/TB format. The videoClip preview is limited. Just a low res image texture of the first frame.

I added several new demo scenes, and with that organized all the demos scenes into sub-folders.

Change Log:

2.2:
  • Converted the ReadMe to a Manual.
  • Fixed some position/rotation issues with the Stereoscopic3DScreenshot script.
  • Added new demo content/scene to show how to use the Stereoscopic3DScreenshot script to allow players to make use of it at runtime/gametime.

Change Log:

2.3:
  • Added new Panoramic shader based canvas formats.
  • Added wrapModeOverride option to Stereoscopic3dImage objects. This is mostly for video clip textures that don't expose the WrapMode property in the Import Settings.
  • Added ConvergenceMode option.
  • Fixed a rotation bug with the Example3DScreenshotController..
  • Reorganized the Demo Scenes folder hierarchy..
  • Tuned up the Stereoscopic3DImage object inspector.
  • Tweaked the AnaglyphToSBSTexture() method to support more than just Red/Cyan now..
  • The camera setup notification box will now not display on the example cross-eyed camra rigs..
  • Added scenes/canvas meshes for 180 Panoramic display.

Available now on the Unity Asset Store!

Thursday, October 4, 2018

Update: VR3DMediaViewer 2.1



VR3DMediaViewer has been updated to v2.1!

The first update for this asset in over a year! There's just not a lot left to do with this project, besides maintenance. And that's "mostly" what has been done now. General bug fixes.

However, there are a couple notable improvements. Mainly in the new support for the UI.RawImage component, so you can now use the UI for a 3D canvas instead of just a MeshRenderer.

Another being the addition of a simpler version of the 3D camera setup procedure. Far to many people had issues understanding "right click the Camera component" to open a menu, as a step. Now there's a simple to locate button on the Camera component that should catch anyones eye. This is something I've been trying to find a way to address for a while, and I'm so happy that I finally found a way to do so that I'm satisfied with.

I have not yet updated the video or ReadMe for this new procedure however. I'll have to record new footage, and I've been considering a documentation overhaul to something like a pdf.

As for the new high poly canvas. Well, I made the low poly one as something quick and simple, intending it just to be used for my demo scene. Not the consumer projects. But I now figure that most devs would probably just use whatever 360 canvas that comes with the asset, rather then make one that suits their needs. So I figure why not make this one high quality and project worthy itself. The old one has far less of a poly count, as the new one is about 16,000 polys, but I figure a 360 Panorama scene like can afford it as it shouldn't have much other content, and the old 360 canvas is still included.

Change Log:

2.1:
  • Added support for using the UI.RawImage component as a canvas to display 3D media.
  • Added a new high poly count 360 canvas. It's now used in the demo scene. The old low poly version is still available though.
  • Simpler camera setup procedure.
  • Misc bug fixes.

Available now on the Unity Asset Store!

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!

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