cancel
Showing results for 
Search instead for 
Did you mean: 

[Updated]Virtual-Comics

opamp
Protege
Update:

Version 1.1.0 is up on share but for some reason it still says "pre-0.6.0" even though it has been updated to 0.7.0.0.

https://share.oculus.com/app/virtual-comics

Changelist

Updated Oculus SDK to 0.7.0.0.

Improved memory usage.

implemented first pass of multi-threaded thumbnail generation(still needs some work).

Included VirtualComicsLauncher.exe with Windows file browser for direct opening of comicbooks.

Added experimental HMD pitch reset option to setting to allow for reclined viewing.

Tested and working on runtimes 0.7.0.0 / 0.8.0.0 windows 7 & windows 10.



Update:

Beta version uploaded.
https://www.dropbox.com/s/8418lucrjvtkwp6/ComicRifter64.rar?dl=0

As I had the day off today I thought it would be interesting to experiment with a comicbook reader in the rift.
And with a zoom function it isnt as bad as I thought it would be although CV1 res would certainly help thing.

I need to try this with a comic which uses multiple sized panels next and possibly play around with a sharpen shader.

Check out the readme for controls.

https://drive.google.com/file/d/0BzgVPR4xFGgjalZmalR6Wm5JYW8/edit?usp=sharing
*EDIT Fixed bad link.
DK2. Phenom 2 x4 4.2GHz,Asrock Extreme 3 970,8GB DDR3 1600, R9 270x 1180/1400.
38 REPLIES 38

drash
Heroic Explorer
Hi, I just gave this a shot. Overall, very well done. The comic is very clear and easy to read.

I found that it took a minute in the beginning before I could start changing the pages or adjusting the page size. If it's loading the rest of the comic in the background before letting the user interact, it would be good to show a loading bar or "please wait" of some kind (since I thought it was broken and almost quit the program).

The zoom feature is interesting to play with as it's a new kind I hadn't experienced before. Looks like you are moving the player's camera forward in the direction they are looking and then locking the zoom position in place. It may have its uses, but for a comic I found it a little bit exhausting to constantly go in and out in order to comfortably read an entire page. Perhaps an option would be good here, so that the player can say "I want to be able to look around the entire page while zoomed in, and yes I understand that it means head movements will feel unnatural", or something. 🙂

Thanks for sharing your polished experiment. Quite thought-provoking!
  • Titans of Space PLUS for Quest is now available on DrashVR.com

hellion
Honored Guest
Oh I like the sound of this. It reads .cbr files?

opamp
Protege
"drash" wrote:
Hi, I just gave this a shot. Overall, very well done. The comic is very clear and easy to read.

I found that it took a minute in the beginning before I could start changing the pages or adjusting the page size. If it's loading the rest of the comic in the background before letting the user interact, it would be good to show a loading bar or "please wait" of some kind (since I thought it was broken and almost quit the program).


Interesting, its instantaneous on my system.The tetures are about 500k each(total of about 20MB) and are loaded into an array at startup and a single material has its texture swapped each page turn. What are your specs?

"drash" wrote:

The zoom feature is interesting to play with as it's a new kind I hadn't experienced before. Looks like you are moving the player's camera forward in the direction they are looking and then locking the zoom position in place. It may have its uses, but for a comic I found it a little bit exhausting to constantly go in and out in order to comfortably read an entire page. Perhaps an option would be good here, so that the player can say "I want to be able to look around the entire page while zoomed in, and yes I understand that it means head movements will feel unnatural", or something. 🙂


I would much rarther Change the FOV like you do in Titans of Space But that doesnt seem possible with Unreals implimentation without digging into there oculus plugin.

Im currently trying a 2nd option where the players body can be moved in 6DOF but rotationally locked, either in incremental steps or freely.

@Hellion
Not at present, this was more about trying out a control scheme than anything.
Im having problems linking with unrars library ATM so am going to use a command-line hack in the meatime
to test a few different things.
DK2. Phenom 2 x4 4.2GHz,Asrock Extreme 3 970,8GB DDR3 1600, R9 270x 1180/1400.

opamp
Protege
Finally had a chance to give this some more attention. Current supports cbr and cbz archives but only jpegs.
Still a few bugs to sort out and improvments to make. for example loading times need attention although that wont be fix till Epic make there objects thread-safe. I have no idea how it would perform if you placed 10000 comics in the library!

see the readme for full details.

https://www.dropbox.com/s/8418lucrjvtkwp6/ComicRifter64.rar?dl=0
DK2. Phenom 2 x4 4.2GHz,Asrock Extreme 3 970,8GB DDR3 1600, R9 270x 1180/1400.

opamp
Protege
Well I finally managed to get this finished ands its now availible on Oculus Share with a name change to
Virtual-Comics.
https://share.oculus.com/app/virtual-comics

What started as a fun little side project ended up turning into a bit of a headache for a few technical reasons.
And honestly was'nt that fun to make. If i've learned one thing it is this...

Dont use UE4 to write a comicbook reader! 🙂
DK2. Phenom 2 x4 4.2GHz,Asrock Extreme 3 970,8GB DDR3 1600, R9 270x 1180/1400.

cybereality
Grand Champion
I'd be interested to hear what challenges you faced when using UE4 for this project, and what libraries/engines you think would have made this easier.
AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV

opamp
Protege
"cybereality" wrote:
I'd be interested to hear what challenges you faced when using UE4 for this project, and what libraries/engines you think would have made this easier.


I'll have to preface this with the fact that this started out on 4.4.3 and I only made the move to 4.6.0 at the last moment.

The main issue I had with UE4 is that there base object 'UObject' isnt thread safe and doing the following in the game thread would stall the render thread...

uncompressing the archive into memory,
Sort the Images AlphaNumerically,
if using as a cover rescale.
if not 32bit then convert,
processing the images into raw data
and then turning into UTexture2d objects.

I tried moving everything except the UTexture2D creating into a different thread. but the creation would still stall the game.

I finally managed to do this in another thread but this involves calling UTexture2D.UpdateResource();
which is very costly as it apparently deletes then recreates the RHI texture.

Next was having to add my own virtual functions to IHeadmountedDisplay and OculusHMD to be able to tell when the HSW has gone.
We could really do with some more functions/blueprint nodes in regards to to changing distortionCaps and querying the
HMD.

Then there was UE4 running SynthBenchmark aprox 2 seconds after the HSW had dissapeared which would stall the game for roughly 45ms. right when my Ident was playing which took me forever to fault find. Moving to 4.6.0
fixed that.

And then there is UE4's Tonemapper which I had to disable due to to the fact that the contrast loss with it on had a significant effect on readablity. Downside being that all postprocesses that occur after Tonemapper are disabled as well
i.e Antialiasing as well as bloom I believe.

I do belive that with 4.6 onwards you can actually relace the tonemapper with one of your own postprocess materials but I only change to 4.6 at the last minute.

The only other thing which is not UE4 related is the limited documentation for UNRAR.dll's 'interesting' API.

Writting an OpenGL app from scratch would have been a far more sensible option than trying to leverage a hard hitting game engine like UE4 into service.

But ive never been known as sensible. :lol:
DK2. Phenom 2 x4 4.2GHz,Asrock Extreme 3 970,8GB DDR3 1600, R9 270x 1180/1400.

Fuzzyz
Honored Guest
Has anyone with Windows 8.1 64 gotten this to work? I've seen three posts (including mine) of users with Windows 8.1 64 that the program crashes on when trying to access a folder:

https://share.oculus.com/app/virtual-comics?platform=pc&kickDL=true

Looking for confirmation that anyone at all with Windows 8.1 has had success with this.

opamp
Protege
"Fuzzyz" wrote:
Has anyone with Windows 8.1 64 gotten this to work? I've seen three posts (including mine) of users with Windows 8.1 64 that the program crashes on when trying to access a folder:

https://share.oculus.com/app/virtual-comics?platform=pc&kickDL=true

Looking for confirmation that anyone at all with Windows 8.1 has had success with this.


Hi Fuzzyz,

Im currently looking into this but I dont have an 8/8.1 system to test ATM.
I did however come across this,


Addendum (30-Jan-15): I found out that the default x64 configuration of the FreeImage project enables OpenMP support, which will lead to an external dependency of the FreeImage DLL on vcomp120.dll which may not be present on systems where you deploy the FreeImage DLL. There is a discussion thread that describes how to disable OpenMP in the VisualStudio project. Contrary to what is proposed in the discussion, it only has to be disabled in the FreeImage and LibRaw projects in order to build a FreeImage DLL without depencency on vcomp120.dll. The DLL that can be downloaded below has OpenMP support disabled.


in this blog post http://xltoolbox.sourceforge.net/blog/2014/07/building-freeimage-with-visual-studio-2013-including-6...

Can you do me a favour and search for "vcomp120.dll" within your windows folder.
There should be 4 versions

vcomp120.dll
vcomp120d.dll

within Windows/system32

and the same within Windows/sysWOW64.

Its a bit of a long shot as id imagion that the app wouldnt start without those dependancies but its worth a shot.

Additionally there is a UE4Prereqsetup.exe in Virtual-Comics\Engine\Extras\Redist\en-us that might be worth running.

The other thing to try is to install in your root directory, ie C:\Virtual-Comics.
It might also be worth trying to run as administrator.

Cheers.
DK2. Phenom 2 x4 4.2GHz,Asrock Extreme 3 970,8GB DDR3 1600, R9 270x 1180/1400.