#virtual-reality

1 messages ยท Page 93 of 1

mighty carbon
#

mobile is different and incomparable to VR because mobile became essential device that everyone carries around.

cobalt relic
#

Including consoles

mighty carbon
#

lol, ok

cobalt relic
#

Just ask people working on PS1

#

Their colleagues were like lol noob, go to PC

sharp swan
#

not always motorsep. The gaming industry was born on indie dev. It had it's time with AAA during the Quake -> CoD days. But it was dying and indies saved it

mighty carbon
#

Quake was published, not self-published

#

same goes for Doom

#

there was no AAA back in the days as we know it now and I never heard of any indie games (as self-publishes garage titles)

tired tree
#

@tawdry dragon @wicked oak Found where they do the UI scoreboard in RR, sadly it appears to be oculus specific with its implementation

mighty carbon
#

so, for mass market, it was driven by big and flashy titles published by the Publishers

cobalt relic
#

Well, feel free to believe that

sharp swan
#

sure publishers were involved but indie companies have publishers too

mighty carbon
#

well, lets compare Quake to Office Sim

tawdry dragon
#

@tired tree Thats cool, Can You give me a pointer?

mighty carbon
#

Quake - awesome. Office Sim - p00p

#

in my book anyway

sharp swan
#

so what was the comparison for?

cobalt relic
#

Sigh

mighty carbon
#

If Quake was like Office Sim, I would have never gotten into PC gaming

#

that's the essence of the whole argument

sharp swan
#

so if a game you dont like replaced the game you liked, you wouldn't have got into it. lol wut?

cobalt relic
#

And then PC went on being the nerdy thing for cave dwellers while mobile got mass market

mighty carbon
#

I wouldn't have bothered by pursuing PC VR if not for Robo Recall or Lone Echo.

cobalt relic
#

Anyway, not going to discuss this all day ๐Ÿ˜‰

#

Let's agree to disagree

sharp swan
#

I wouldn't have got into computers if I didn't enjoy the pacman arcade machine.... but there was only one arcade machine back then.

#

well two

#

but one in our town

mighty carbon
#

@sharp swan I am not kidding. If PC VR kept pumping something like Office Sim, I wouldn't care much for it as gaming platform.

#

I never enjoyed pacman

sharp swan
#

well I see what you are saying. If the games suck you wont play. I just dont see how that is relevant to the success of the platform at all? You do not speak for millions

#

there is something for everyone

mighty carbon
#

I speak for people I grew up with. We all played games like Doom, Quake, Wing Commander, etc. Grand games. Never played anything silly.

sharp swan
#

something people neglect to even entertain in the VR success discussion is China. If they produce, and they are, the trickledown effect is massive.

#

we dont even talk about the millions of units that have been sold there

#

or the games platforms that are specigic to china.

#

*specific

mighty carbon
#

Sure, there is everything for everyone, and maybe new gen prefer weird gimmicky stuff because of whatever reason. But whoever I talk to nowadays (devs or not) all think that lack of AAA is what contributes to slow growth of VR

#

even folks who play weird indie stuff think that

sharp swan
#

it does and it always did with regular gaming. Indies dont waste budgets on testing things to the degree AAA does.

#

sure fire accounting is a big part of that too. Making sure they aren't just pissing in the wind, which is what indies always do at a known risk level

mighty carbon
#

Here is a real-life example. I played Gear VR games as gimmicky as many of them are. When I am asked about it, I emphasize that VR is awesome, but there is not whole a lot of stuff to play (especially knowing if people I talk to like grand AAA titles) . Would that help people making choice? Yes, and it's going to be "meh, I'll wait until AAA titles come to VR"

#

I don't know why you people hang out with and what's your crowd, but my crowd won't buy into $100 HMD because there is nothing to play (and most of them can afford Rift).

sharp swan
#

I only hang out with one person... and hes the boss of our project :/

#

aside from you guys of course

mighty carbon
#

well, I don't hang out with bunch of people in rl too, but rl people + online people = what I just told ya

tired tree
#

@tawdry dragon they added the following to the oculus function library in their engine build FOculusRiftRenderDelegate* GetMirrorDelegate_RenderThread() and reference it in SetSpectatorWidgetComponent and GetSpectatorRenderParams of Odin game mode

sharp swan
#

im waiting for VR to get rid of the binocular effect. It totally ruins all but space games for me. Any light colours and I see it in my peripheral vision. I also want a full body suit. Something like a mocap suit.

mighty carbon
#

that's a way too expensive setup ๐Ÿ˜ƒ

alpine torrent
#

full body VR suit

mighty carbon
#

I bet if there is a game/experience worth playing (think Westworld), some people would fork over money for that

alpine torrent
#

20k per fork?

mighty carbon
#

and here we come again - why would anyone make such suit if VR has Office Sim clones? ๐Ÿ˜›

#

why not, @alpine torrent ?

alpine torrent
#

hehe

mighty carbon
#

people buy collectible cars that sit in the garage under the tarp for years.. Same kind of people with money and itch for full body VR experience will fork over 20k for hardware, if the experience worth it

#

there are people to pay a ton of cash to fly into orbit

mighty carbon
#

Interesting fact - Raw Data is an Early Access game and already made a ton of cash

vagrant mantle
#

How to get the quality of HTC vive in GearVR, suggestions needed

mighty carbon
#

you are not being serious, are you?

vagrant mantle
#

@mighty carbon kidding, but how to increase the quality in gear vr

mighty carbon
#

lol

tawdry dragon
#

@tired tree hmm, do we have access to the engine source they are using? I dont have it on this PC so I'm just wondering if I could copy that into my own custom engine

mighty carbon
#

After years of making some of the most impressive VR tech demos of their time, Epicโ€™s Robo Recall is not only the companyโ€™s first VR game proper, but a culmination of what the company has learned about VR game and engine design since the beginning. We speak with Epicโ€™s Technical Director of VR & AR, โ€ฆ

#

interesting

tired tree
#

@tawdry dragon yeah, open up the mod kit directory and the source for the engine and the project is there

tawdry dragon
#

sweet

undone kite
#

Any insight into how to deal with transparent heavy assets like foliage? I'm using ditheredAA but it's not helping the shader complexity much.

wicked oak
#

did a 1 day prototype of a VR PvP shooter for the hell of it

#

there is some stuf i want to try for multiplayer

mighty carbon
#

what's with the grid ?

#

(and the circle "tear" on it)

tawdry dragon
#

Isnt that the chaperone?

#

or guardian bounds

wicked oak
#

guardian bounds

#

btw check the IK stuff at minute 3

#

he is so short becouse he was seated btw

glossy agate
#

Sweet! You setup your own MP or did you use the own from epic?

#

*one

wicked oak
#

the one from epic?

glossy agate
#

They did a tutorial on multiplayer and put the assets on the forum. I guess it's all ready to go for steam too.

wicked oak
#

no, this is my own

glossy agate
#

Nice. Can't wait to see what you do with it. I spend most of my playtime in multiplayer.

gilded oyster
#

Project Aquila
not a flight game
ace combat fan in me is sad

wicked oak
#

sorry mate i just wikipedia-d star names

#

the aquila team as a team of space marines or something

gilded oyster
#

That's fine, we've got like 3 community spiritual successors

wicked oak
#

ace combat is coming to PSVR soon

gilded oyster
#

plus a main entry coming soon

#

does look cool tho

mighty carbon
ebon musk
#

Make the maps procedural @vblanco

#

That would be cool

#

Just a procedural arena shooter

#

@wicked oak

#

Also that offer for voice acting is still on the table.

wicked oak
#

no procedural maps at all

#

gonna have static light

ebon musk
#

Ahh

#

I think a procedural would be a neat niche

wicked oak
#

to be fair i havent thought much of it, but rng layouts might be a thing

#

just like changing one room for other

#

but thats outside the scope of this prototype

#

ill perform a public playtest once i have the core gameplay on 1 map

#

with a couple gamemodes and 3 classes (archer, shieldguy, rifleman)

#

archer has explosive bullets, the shield guy is obvious

#

explosive arrows*

ebon musk
#

That sounds fun. Have you tried out pavlov. It's tearing up the fast paced fps market right now

#

Extremely addicting

wicked oak
#

pff, yet another super simple MP game

#

only popular couse its viral due to the test they did and being CS VR

ebon musk
#

Simple is good

wicked oak
#

i can do better than that in a week with the protype im doing

ebon musk
#

Actually it's a Hella lot of fun

#

The mechanics are very nice

#

I'm not saying you can't haha

#

I'm just saying I think it's going to be one of the big contenders for fast paced shooters

wicked oak
#

its selling a lot

#

honestly, i should have done a VR MP game from the start

#

DWVR was to be a singlepalyer game first, MP second, now not even MP

ebon musk
#

Yeah. It's still a fairly open market

wicked oak
#

if i made it coop from the start it could be better

ebon musk
#

Ah yeah

wicked oak
#

anyway, this MP shooter will go on Ps4, i might do it as the second project i do

#

just another of the prototypes i do from time to time

ebon musk
#

Ah psvr? Interesting

wicked oak
#

DWVR has feature parity beetween ps4pro and pc

#

same graphics, same gameplay, same 90 fps

#

of course, the controllers are clunkier

ebon musk
#

Ah cool. I have a ps4 but not vr

#

I wanted the room scale experience

#

Makes everything way more fun imo

wicked oak
#

psvr is kind of trash

ebon musk
#

Yeah. It's what I've heard

#

But I have no experience

wicked oak
#

the headset itself is ok

ebon musk
#

I think the VR market needs good multiplayer games

wicked oak
#

lower res than vive or oculus, lower fov, but, surprisingly, less screendor effect

#

better than the DK2 by quite a bit

ebon musk
#

Hmmm weird

wicked oak
#

its mayor weakness is the tracking

#

camera working on the normal spectrum, not UV or whatever

#

just colored balls

#

its terrible

ebon musk
#

Ooo right

wicked oak
#

one thing i might do, wich is the reason im building this prototype, is to make the game be for the AIM controller

ebon musk
#

Hahaha

#

Oh what's that

wicked oak
ebon musk
#

Ah right

#

That's a good idea

wicked oak
ebon musk
#

Damn lots of buttons on that bich

wicked oak
#

enough buttons to have a binding for every Dualshock 4 button

#

2 joysticks, DPad, the 4 face button, several triggers

#

Sony asked me for a document explaining the game i would do for that thing

#

to get one

#

ill probably send this prototype to them

real needle
#

@wicked oak It's a pretty long process that involves several steps to get approved for a devkit, I wish you luck

wicked oak
#

but i already have a devkit

#

its about one of those things

real needle
#

Aaah nice

wicked oak
#

thats why DWVR works on ps4 already, i just sent it into VR consultation

real needle
#

The process to get approved does take some time as well, but much faster if you're already a dev partner

wicked oak
#

and it went quite well

#

dev partner?

#

i just did the web form and became a Playstation Partner(TM)

real needle
#

But to get the devkit you also had to send a GDD no?

wicked oak
#

i did

#

but i just asked them to get one of those gun things, and they told me they didnt have one, but they told me to send a GDD to them of what i was planning to do with it

#

to send me one once they get more

mighty carbon
#

i've read that they don't plan releasing that AIM gun a standalone product

#

UE5

#

can't want with sound, but seems to be one of those funny videos (or not?)

#

Can't believe TimS did it ๐Ÿ˜ƒ

wicked oak
#

i really doubt they created that thing only for the Farpoint game

#

ffs they are doing talks about it

mighty carbon
#

hopefully not for just bundling with games.. doesn't make sense really

dusky moon
#

Hah , That doesn't fit Tim at all

wicked oak
#

we should give him the Oscar

#

masterful performance right there

mighty carbon
#

@raven halo PM

quaint jay
#

Hi. I'm trying to do a fade to black but still keep UI visible. I'm using 3d widgets but they fade with the rest of the world when i use a camera fade. is there any way to make them render in the same way the "normal" ui renders?

dusky moon
#

@quaint jay the workaround that came to my mind is to use level streaming. put all the 3D Widgets inside that level. then you can load your UI level (the drawback is that you have to unload your main level). there might be other ways to solve it

quaint jay
#

@dusky moon Ok. that will not work for what i am doing. Using the fade when intersecting with walls and i want to render a text and some reference points in the world when its black

full junco
#

this adaptive pixel density stuff is annoying...

#

I have it all working, apart from that stupid one frame flicker after I modify pixel density

full junco
#

I'm just doing it like the oculus code is doing it. I keep the same render targets all the time, sized as big as the highest possible pixel density would need them

#

then I render everything only to a portion of that render target

#

and when submitting it to steamvr, I modify the UVs so that only the portion that was rendered to is sent

#

all performance issues etc are gone with this, it also works great with all kind of pixel densities

#

just that for a single frame after I modified pixel density, it sends a wrong part of the RT to the headset

#

so its either too big or too small

full junco
#

switching pixel density every 0.5 seconds between 0.9 and 1.0

raven halo
#

heh

#

seems like it resizes for one frame and then the frame after that it upscales it :/

full junco
#

@raven halo yeah thats how it looks like, but I'm 100% sure that the SceneView is set to the new rectangle to render in the exact same frame like the UVs for how to submit it to the HMD

#

I print that all out and its completely correct

deft badge
#

Does it resize? Or is it offest?

full junco
#

@deft badge not sure what exactly you mean, but I'm never resizing the RT

#

its set once to the maximum possible size

deft badge
#

I was commenting on Norman3D's comment

#

You can see the bottom edge of the RT during the flicker. I was wondering if the top left is offset for that one frame for some reason

full junco
#

@deft badge I dont think the top left is offset, since the top left is always looking correct

deft badge
#

Don't know man, just trying to get an intuition as to whats happening

full junco
#

yeah I very much appreciate any ideas

deft badge
full junco
deft badge
#

How often are you applying the pixel density? Not every frame?

full junco
#

currently I switch between 1.0 and 0.9 every 0.5 seconds

deft badge
#

And only during the switch that flicker occurs?

full junco
#

yes

#

the rest of the time it looks correct

#

it looks like for one frame, the size thats rendered to the RT does not fit the UVs which are sent to the HMD

deft badge
#

So the system "remembers" something from the last frame?

full junco
#

no, it doesn't

deft badge
#

Or is 1 frame in front.

full junco
#

not sure what you mean?

#

I gave the SteamVRHMD a struct with the settings it needs for rendering

#

from the outside, I set AdaptiveQualitySettingsGT

#

called GT because I set it from the GT

#

then when the View is setup (that happens every frame), it takes whats in AdaptiveQualitySettingsGT, writes it into AdaptiveQualitySettingsThisFrame

#

and from there on it always uses the values in AdaptiveQualitySettingsThisFrame

#

to make sure that the game thread doesnt modify anything in there while the render thread already started working

#

the values are only used two times, at the beginning of the frame the view is setup, so the rectangle that specifies the area of the RT that is used for rendering

#

and at the end of the frame the values are used to setup the UVs that specify how that final RT is sent to steamvr

deft badge
#

All of this occurs on the rendering thread?

full junco
#

yes

#

only setting AdaptiveQualitySettingsGT happens from the game thread

deft badge
#

Nothing to do with this: "renderer operates in its own thread that is a frame or two behind the game thread" ??

full junco
#

I dont think it matters that the render thread is behind

#

its relevant for stuff like when you update world position of something

deft badge
#

I don't know either, just trying to find reasons for the behaviour

full junco
#

I have obviously tried stuff like using the UVs for the pixel density from last frame

#

or using the view rectangle from the pixel density of the last frame

#

to see if maybe one thing is for some reason a frame behind, then that would have fixed it

#

but it didn't

deft badge
#

k

#

Sounds like that's a rabbit hole you've explored. Then what else?

#

Do you have any intuitions?

#

What are you unsure about?

#

is trying to be the duck in the rubber duck debugging method

full junco
#

I'm trying to find the reason for this for 2 days now, and I just have no idea what it could be

deft badge
#

Sorry man, I don't know the in's and outs of the renderer that well.

full junco
#

what annoys me so much is how simple this code is and how simple the solution will probably be

deft badge
#

That I do understand well.

full junco
#

so I dont want to say that I just stop working on it and just dont have adaptive pixel density

deft badge
#

Reach out to the render devs? On the forums?

full junco
#

if something is off for one frame then that should be easily fixeable

#

well the thing is that I dont know whats working wrong here...

#

I now know the whole VR render code really well

real needle
#

I thought epic were working on "adaptive performance settings" just like Nat from valve showed off at Steam Dev Days

#

They built it for Unity but afterwards I heard that epic were working on it as well

full junco
#

its in UE4, but only for oculus

deft badge
#

It works in engine for rift now right?

#

yeah

full junco
#

I just looked at what the oculus implementation does and did the exact same for steamvr, I just ported it

real needle
#

Ah, I guess that explains why it's not on my radar...

full junco
#

just that the oculus implementation does not modify the UVs for sending it to the headset

#

it copies the part of the RT into a new RT

#

but that shouldn't make any difference

real needle
#

Is there a reason why you can't do it the same way the rift implementation does it? Copy it and then modify to your likings afterwards? This is way over my head, just brainstorming

deft badge
#

He is

#

๐Ÿ˜ƒ

#

But same here, unfortunately, this is above my pay grade also. Sorry John

full junco
#

yeah but thanks for your input

#

there just aren't many people who know the low level VR render stuff in UE4 that well I think

#

but it isn't even hard to understand, its super simple, and that makes it so annoying that it doesn't work

mighty carbon
#

there is not whole a lot of UE4 VR devs in this channel, period :/

full junco
#

I update the render rectangle every 20 frames here, and always 10 frames later I update the UVs

#

no flicker visible there, all looks correct

stable shadow
full junco
#

is anyone here using the oculus adaptive pixel density stuff on oculus?

full junco
#

@deft badge I found that I did something quite wrong! that makes me very happy ๐Ÿ˜„

deft badge
#

You tracked it down?!

full junco
#

I only found that I did something wrong

#

I have not yet done it correctly, so I dont know if it works after doing it the correct way

deft badge
#

Keep us posted mate

full junco
#

a function where I thought it would be called from the render thread is actually called from the game thread

deft badge
#

ahhh, so it may be the frame delay thingo.

full junco
#

yeah

deft badge
#

Cool man, let us know if it fixes the flicker.

full junco
#

sure!

deft badge
#

crosses all digits

full junco
#

๐Ÿ˜„

real needle
pearl tangle
#

they really do just focus on unity with the oculus stuff

full junco
#

@pearl tangle still they payed epic to make robo recall, not the unity guys

pearl tangle
#

well Unity doesn't actually make games

full junco
#

but in theory they could

candid viper
#

@full junco I've experimented with the Oculus PDAdaptive stuff. (Dev on both Rift and Vive). I grabbed the flicker frame out from the video. I could be recording rate that show two frames blending - depending on your setup the mirror window won't see the same frame rate as the HMD which makes grabbing video for diagnosing problems complicated. It's possible that SteamVR doesn't expect the settings to be changing, so if it is using asynchronous reprojection then it could be reprojecting the old frame using the newly submitted size. If they don't keep a history internally, but assume the settings are the same it might cause it. I'm just thinking from the point of view of what is different with SteamVR compared to Oculus.

full junco
#

AMD still doesn't support async reprojection, and I have AMD, so I can be sure that I don't see that

candid viper
#

Okay, at least that's something eliminated.

full junco
#

I am relatively hopeful that after fixing what I did wrong it should work, I just still have not implemented it correctly because thats actually quite hard

candid viper
#

Yeah, it's one of those coding tasks that is deceptively simple....

full junco
#

the thing is that oculus has its own frame counter for giving the frames that are currently worked on with the game thread and render thread an individual number, so when the game thread starts working on frame X then the render thread can later know "ah, now I work on frame X too and the settings the game thread used for this were exactly this"

#

and setting up the area of the render target thats rendered to seems to has to happen on the game thread, at least thats how the oculus code is doing it, and later the render thread has to use the exact same settings for submitting the render target to the headset with the correct UVs

#

if the settings don't match, there would be the flicker that I see

candid viper
#

If you're changing the value on the game thread, then when you do so may matter. I've not checked when the game thread syncs with the render thread. I have done late updates, but that is just updating the proxies that are created for rendering everything at the sync point between main thread and render thread. If you're changing your adaptive settings on the main thread after the render proxies etc have been setup then you're potentially after the sync point and that could cause the flicker

full junco
#

@candid viper well there isn't any sync point for this, the settings aren't part of anything thats synced with the render thread

#

if I could add them to some data thats synced at some point that would make it easier than trying to find out what the game thread did a few frames ago with comparing the frame number

#

maybe the oculus code is doing it with the frame number because they could not edit UE4 code that would have allowed to sync stuff between GT and RT

weary flume
#

Is there any reason why unreal has slightly more lag in basic vr than some other vr games out there that don't use ue?

#

Sorry to jump in lol

full junco
#

@weary flume you're probably just having low fps. you can't feel any lag in VR in UE4 when stuff runs at 90 fps

weary flume
#

My machine is too powerful to have any lag from just a basic preview where I'm holding cubes, its less lag and more this awkward hand jitteriness, like your hand rotates and moves in the game slightly after you do

#

Head is fine though

candid viper
#

Oculus change the PDAdaptive on the main thread, not the render thread. Inside UpdateStereoRenderingParams. Those settings are set to a FSettings structure - which is connected with a GameFrame. So there two sets of frame settings - one game thread one render thread. SetupView (part of the standard interface) is doing the setup/transfer at the start of the frame for the render thread. Depending on where you have the values being set, you may have things happening on the wrong thread.

#

@weary flume if you have the cube attached to the motion controller component, it will automatically have late updates on it - no latency, same feel as the HMD. If you are holding a cube via physics, unless you have custom code you lose late updates so you will see some latency and the cube will lag behind. Easiest to see if you have something attached to the motion controller as well - if that is solid, but the picked up cube lags behind then you're seeing late updates being off.

#

@full junco I'd usually approach debugging this kind of thing by using atomic logging - record the view settings when setting on the game thread, and when reading on the render thread. http://preshing.com/20120522/lightweight-in-memory-logging/ is a good link ot how to do it. You have to log a chunk then breakpoint to look at the log in Visual Studio (or write code to output it). It makes it as easy as possible to check the threads are actually seeing the values you expect. (Still not easy).

weary flume
#

@candid viper so how could I set up a "lagless" system? Just to be clear, the cubes are just patented instead of hands, im not actually grabbing them.

full junco
#

@candid viper Oculus changes it on the GT, yeah. SetupView also still runs on the GT, but it doesn't transfer anything to the render thread, its setting up the FSceneView, that can't be accessed later when the pixel density settings are needed on the render thread

#

oculus is solving it by having their frame counter where they can exactly tell which frame both render thread and game thread are currently in

#

so they can call GetFrame() where all the pixel density settings are saved in

#

and when they later call it on the render thread, it will still return the exact same settings like a few frames earlier on the game thread

#

but purely based on that they give every frame an individual number, they aren't syncing anything

#

I think syncing stuff is a way cleaner solution than what the oculus code is doing there

#

but do you know where I could write a value into on the game thread so that I could later access it on the render thread?

#

I know that for meshes there are scene proxies, but this is more about a way to give it general information, so that at any time on the render thread it knows "ah, 2 frames ago on the game thread, these settings were used so now I will use the same settings here"

#

but they have to be accessible really late in the rendering process, they are actually needed in FSlateRHIRenderer

#

DrawWindow_RenderThread

mighty carbon
#

Pretty dead here :(

eternal inlet
#

what vr benchmark tests is the best to run to get a good idea of how different gfx cards perform?

candid viper
#

@full junco I would hook into say SetupView - IIRC that is called on the game thread at the start of preparing to render, so the values received then are what should be applied to the render thread later on. That is where Oculus look to be doing it - I find their code a little mesys to follow and haven't logged it to confirm though, so I could be wrong. I think that is a good place though.

#

There are a few reviews of it out now - looks to give reliable results on AMD and NVidia cards.

eternal inlet
#

yeah i saw that being posted today ๐Ÿ‘

#

will get it and make a benchmark for my asus gtx970

#

and do a comparison with the asus gtx1080ti once i get it next week or so

#

but i also seem to recall other people used other benchmark applications, just not sure which and which is most reliable

#

except the one you linked too

dusky moon
#

Guys, How do you see realtime GPU profiling in VR ? with Vive it's so off my pov and can't read it

candid viper
#

@weary flume I'd check against some other UE Vr templates (there are a few). Certainly don't have any additional latency for directly parented meshes normally. See if you see the same behaviour elsewhere first.

#

@dusky moon For quick tests I use Rift instead of Vive beause there is a nice Oculus option. (hmd setint PerfHudMode 3 does the trick). Not needed to detail profile on Vive yet.

dusky moon
#

@candid viper ah great , will try that!

dusky moon
dark agate
#

has someone experienced strange flickering artifacts(like z-fighting) in baked shadows on the right eye only?

#

UE 4.15

mighty carbon
#

what HMD ?

tired tree
#

in editor the shadows bug out sometimes, a lot of people have noticed it

#

I haven't seen it happen in apckaged yet

dark agate
#

OR but doesnt matter, it's not just the HMD, since you can see it on the renderview on the right eye too

candid viper
#

@dusky moon try add the RenderDoc plugin, hook a key to use the console command to capture the render, then look through in RenderDoc. Remember to disable the RenderDoc plugin after you've captured - it adds a lot of overhead.

dusky moon
#

@candid viper That seems super handy... Is it only useable through the Github version ?

candid viper
sturdy coral
#

if you aren't using HZB it will often percolate into other stats instead

#

You can move around the realtime profiling data and make other things more visible in the HMD by tweaking void FSteamVRHMD::GetOrthoProjection(

#

that controls where slate stuff will be drawn

dusky moon
#

@sturdy coral @candid viper Thankks Guys! I'll go for them

#

I actually fixed the HZB Issue by reading that answershub

#

but the weird thing I'm experiencing regarding Framterate is , Setting r.ScreenPercentage through Blueprints seems like to be buggy

#

I used to set it at Event begin play and I got crazy (10 ms) Slate UI in my profile

#

but when I changed the value of ScreenPercentage just slightly the whole Slate UI thing is gone now !

#

so weird

sturdy coral
#

I think that is the same GPU bubble

#

I see the same stuff

#

basically you can track each piece down and try to eliminate it

#

and it will just show up somewhere else

#

the JIRA says they aren't going to bother fixing it and that DX12 should fix it

mighty carbon
#

DX12.. when ?

sturdy coral
#

it really sucks, profiling used to work much better for me back around 4.11

#

and has been broken ever since then

dusky moon
#

hmm, True ... I'm having hard time man lol

sturdy coral
#

I'm going to try out some of the new nvidia tools and see if they break things down similarly

#

but I think they may be too fine grained

#

the only way I have found to profile well now is to just turn off a feature and see the change in frame time

#

some of my scenes aren't affected and the profiler still works, it is weird

dusky moon
#

For me It's becoming pretty annoying ! I have a scene with 7 ms Max but I got fixed to 22ms in VR Preview

#

then when I package it I still have 22 ms fixed in the same scene

#

and what the profiler says is 11 ms from Slate UI

#

and I'm wondering Where the heck is SLate UI inside Packaged project ?! ๐Ÿ˜„

sturdy coral
#

hmm, that 22ms sounds like you are falling into reprojection

#

you can try turning that off and maybe get a more accurate number

#

in the steamvr settings

dusky moon
#

but shouldn't that happen when I go beyond 11 ?!

sturdy coral
#

yeah

dusky moon
#
  • I'm using Oculus ATM
sturdy coral
#

but you can at least see more accurately how far beyond it you are really going

#

ah ok there is an in-hmd oculus profiler too

#

that may give you a more accurate idea of the total time

#

it is in their debug tools

dusky moon
#

hmm ok, I'll see what that gives ... but honestly I didn't have this issue with 4.14

fleet veldt
#

are you doing a lot of UMG (which is built on top of slateUI)?

dusky moon
#

@fleet veldt nothing at all !

sturdy coral
#

@dusky moon where are you getting your 7ms maxed number? You mean outside of VR?

dusky moon
#

@sturdy coral Holy Shit ! now I know why ... I think ... well The problem was I had both Oculus and Vive connected to my PC

#

Although I didn't run SteamVR

#

I guess the Slate was trying to mess with that as well ... because now I unplugged my Oculus and the Slate UI overload is gone

#

using only vive connected

sturdy coral
#

hmm, weird

#

I've seen something similar with only Oculus connected

#

does your editor open up steamvr even when only oculus is connected? mine does, but I changed the .uplugin load order due to a blueprint node bug

#

I wasn't sure that is supposed to happen

clever sky
#

My Rift and Vive kinda hate each other.

#

Too.

#

So I've just made it practice to disconnect them once I'm done and roll up the cable.

#

Well, most of the time.

dusky moon
#

No my steamVR doesn't show up with Oculus ... but The conclusion is ... Don't use them both or get messed up!

fleet veldt
#

Not exactly the same but i've had issue where when I run two copies of UE4 (have two projects open at once). and then i go into VR preview mode. The headset translation tracking will double. So if i move my head 1 inch in the real world it moves 2 inches in the vr preview. very disorienting.

sharp swan
#

worst thing ever

raven halo
#

@mighty carbon or in case anyone knows. Did they ever announce a release date for the gearvr motion controller? Should I assume it will be 29th of march with the S8?

mighty carbon
#

March 29th is announcement date

#

(along with S8)

#

I don't know when they will start selling it. Could be end of April.

full junco
#

@candid viper You said you would do it in SetupView, but like I said, there is no place in SetupView where you can send anything to the render thread, so I have no idea why you said SetupView would be a good place for that?

wicked oak
#

second video of the MP prototype i was doing

#

now has a shieldbearer class, who actually does deflect shots

#

its a lot of fun even as 1v1

#

but i plan this to be a team game

#

and still needs the bowman class

full junco
#

@candid viper like I said, they have to be accessible really late in the rendering process, they are actually needed in FSlateRHIRenderer

#

and I think I can't access anything from SetupView that will later be accessible in FSlateRHIRenderer

mighty carbon
#

@wicked oak don't you get motion sick when moving like that in VR ?

wicked oak
#

its too fast ATM

#

and only played for like 20 minutes

#

so a little bit, but i have quite high resistance

mighty carbon
#

i see

wicked oak
#

i guess it will be like Onward

#

its a lot of fun

candid viper
#

@full junco SetupView is called from the game thread when it is starting to prepare to render a frame. Store (write only) the current adaptive settings you need to variables that are read only for the render thread. THen when the render thread needs them, take the last version written by SetupView. A simple lock would work. You could buffer and go more complicated, if more frames are buffered but in general in VR I don't see that. I'd start simple first - if it needs buffering to avoid a stall from the lock you'd see less regular glitches. The core idea is that SetupView is the near the start of rendering a frame from the game thread side - a good spot to grab the adaptive quality you want. Oculus do the same. You can see they're also grabbing the bae orientation ready to do late updates later on. You can compare their late update approach to SteamVR if you want to avoid the frame buffering approach. You can see how they set the initial orientation into BaseHmdOrientation (Oculus and SteamVR) and then update it for late update in PreRenderView_RenderThread. The other potential place to hook is CalculateRenderTargetSize. On Oculus they have the call inside there to UpdateStereoRenderingParams which is actually updating the viewports etc (game thread).

wicked oak
#

im going to leave the shield opaque, so its not that much OP

glossy agate
#

@wicked oak you have team working on it with you?

wicked oak
#

if you go full turtle, you cant see shit

#

yes

#

but they are just 3 unskilled interns + a skilled character artist

#

i got no environment art or sound or animation or concept/2d artist

glossy agate
#

Right on. I may be interested in helping if you want to make a full game.

wicked oak
#

well i already have full games like DWVR, wich is at the end

#

i just got my first report from Playstation

#

turns out i have black smear ๐Ÿ˜ฆ gotta limit the black to a dark grey

glossy agate
#

Yeah, I have checked out your game before

wicked oak
#

and pretty much just that

#

oh, also they reported that i should add warnings

#

game is hella dangerous

glossy agate
#

I am interested in making MP games, because thats where all the fun is

full junco
#

@candid viper thanks, but I'm not sure if we talk about the same issue, maybe I just dont get what you want to say. I fully understand when SetupView is called, but like I said, the issue is that I later when I need them have no way to access the things that were previously written into the SceneView with that SetupView function. I'm nots sure why I should lock anything? The render thread is always 1 or 2 frames behind the game thread, its not like they would run successively. so while the game thread calls SetupView for frame 1000, the render thread might work on frame 998 currently. And even in the next frame, 999, its not allowed to use the values that the game thread setup for frame 1000. It needs the exact numbers for that framem I can't just write that into a variable. I need to write the values into a variable thats then enqueued to the render thread, and later accessible from the slate renderer. and I think there is none like that which I could write into from SetupView

glossy agate
#

Is that just a color balance issue?

wicked oak
#

yeah it is

glossy agate
#

Sweet, not too tough of a fix

wicked oak
#

there is an automatic clamp function on the PSVR sdk

#

its 1 function

#

i already fixed it XD

#

they found no performance issues on a ps4 pro, at 90 fps

#

none at all

#

they did found performance issues on a ps4 base, becouse it dropped to 50 fps ONCE in the whole gameplay

glossy agate
#

Awesome! When do you plan on releasing the PS4 version? I may try that route with my game if sells somewhat decent on PC

wicked oak
#

when its done

#

i have no clue how much its going to take me to pass all reviews

glossy agate
#

Ah haha. Good point.

mighty carbon
#

btw, apparently HTC isn't doing too good financially - they sold out their last factory to re-invest into VR

wicked oak
#

bad idea

sturdy coral
#

@full junco @candid viper since you guys seem to have dug into this area of the code a lot.. would it be possible to make a scene capture component do its base pass during one frame of the main view, lighting during the next, and then post processing during the third? So you could have the scene capture spread its GPU impact over multiple headset frames and run at 30hz to the headset's 90hz?

#

how invasive of a change would that be?

full junco
#

@sturdy coral I think thats pretty much impossible with the way its setup currently

sturdy coral
#

@full junco Ah that sucks. With a second process, if you have network spectator, you can probably kind of do it by adding in sleeps

#

to that process's render thread

#

probably even then a ton of stuff with flushing and stuff I wouldn't know how to do

#

but like theoretically a 720p@30 spectator view on the desktop should only cost you 12% overhead or so (just in pixel cost, not in geo and shadows and other overhead)

full junco
#

would be nice to have that option, yeah

sturdy coral
#

and if it all goes off synchronous with an HMD frame it costs you 36% =/

#

ah that's wrong

#

it should be 6% vs 24%

#

was only counting HMD res of one eye

mighty carbon
#

Didn't know Destiny was made with Unity o.O

full junco
#

@candid viper I now added a new variable the the FSceneView where the adaptive pixel density settings are saved, and when the render thread starts working on the frame I read the variable from the FSceneView and safe it to a global variiable. Then later in the slate code I access the global variable, and I think this might work

mighty carbon
real needle
#

Anyone know a good tutorial for a VR teleport system thats as good as say...Robo Recall or something to that extent?

mighty carbon
#

it's just teleport - setting new location and moving player to that location (moving for dash or teleporting for teleport)

sturdy coral
#

@real needle have you tried the VR template in the engine? it has something fairly similar to robo recall

mighty carbon
#

or better yet, just look how Robo Recall does it - they provide full source in their mod kit, which is free

real needle
#

oh really? I did not know that

sturdy coral
#

don't just copy and paste, because it isn't licensed like the other content examples

mighty carbon
#

yeah, forgot to mention that ๐Ÿ˜ƒ

#

free to look and learn from it ๐Ÿ˜ƒ

full junco
#

@candid viper I think it works ๐Ÿ˜„

sturdy coral
#

@full junco so adaptive res without hitching on vive?

full junco
#

@sturdy coral yes

sturdy coral
#

that is awesome

real needle
#

tyty ๐Ÿ˜ƒ downloading now...understand the telelport concept..just thought there was a Parabola function in there for the beacon part of it..the last time I started to build one out was back in like 4.13

#

maybe even 12

full junco
#

temporal AA still doesn't like changing the rendering area though

#

I wonder if you also see temporal aa artifacts from the last frame with using the oculus stuff

sturdy coral
#

@full junco ah interesting, guess that isn't an issue with the forward renderer

full junco
#

it would be the same issue with forward renderer if you use TAA

sturdy coral
#

oh I didn't know TAA was supported with it

#

I guess they still have an optional velocity buffer pass?

full junco
#

it just works same like in deferred

#

if I would switch to forward I would still use TAA, its just looking better and being cheaper than MSAA, at least for my game

sturdy coral
#

yeah MSAA is bad on some of my scenes, that's good to know

mighty carbon
#

@real needle I don't know what they use to draw arc, but player moves in a linear fashion when dashing and I am sure on RR it literally just teleports from spot to spot

sturdy coral
#

can MSAA be toggled to TAA at runtime?

#

then I could use MSAA on some and TAA on others

#

@mighty carbon I'm not sure what they use in the Epic template or Robo Recall, but Mitch's VR content examples uses a bunch of instanced meshes along the parabola to keep down the draw calls

#

you could potentially do a world position offset on the verts of a tube or something too to do it in few draw calls

full junco
#

not sure if you can switch between them, I would think that you can

#

and will try and see if maybe disabling TAA for one frame after pixel density was changed looks better

mighty carbon
#

@sturdy coral ouch :/ Instanced meshes don't work well for Gear VR ๐Ÿ˜ฆ If I wanted to draw arc on mobile, I wouldn't even know what to do

full junco
#

ISMCs are slower on mobile than regular meshes?

mighty carbon
#

yeah

full junco
#

strange

mighty carbon
#

also draw distance is broken for ISMCs

#

well, that's UE4 issue

#

Unity works fine

sturdy coral
#

@mighty carbon I thought one of the eve: gunjack talks said they used a lot of instancing on mobile, maybe that was something else

mighty carbon
#

I asked Oculus if that's their fault and they said ISMCs are slow in mobile rendering in UE4 in general. Has nothing to do with VR per se.

#

no, they didn't use it

#

they even had to manually remove backface triangles from models to speed up rendering in Gunjack

#

(which is bizarre, since backface triangles culling is an ancient technique)

sturdy coral
#

that sucks with all the draw call optimization that goes into devving for mobile

mighty carbon
#

TimS believes that mobile VR is a dead end and PC VR is the future (since eventually standalone HMDs will use micro-PCs and not mobile GPUs)

#

I assume that's the reason they pour all resources into Rift/Vive support and not into Gear VR / Daydream

#

and after a lot of mobile VR users stated they don't really care for mobile VR and only use it because it was bundled with their phones, I am starting to believe mobile VR future is in media consumption

sturdy coral
#

@mighty carbon I think weight is an issue compared with Tim's oakley sunglasses vision

#

you have the glass over the screen that you don't really need, and the battery in the worst place, weight distribution wise

full junco
#

well tim is right and you are also right @mighty carbon , mobile VR is for media consomption. currently

#

its just clear that it will still take forever until mobile GPUs are good enough for really immersive VR games

sturdy coral
#

@full junco does TAA just keep a history buffer of the previous color frame or does it also keep the previous velocity and maybe depth? just thinking it could be downscaled or upscaled to match the new frame if it is just color

full junco
#

@sturdy coral I dont know, interesting thought. I think in theory it should be possible to correctly scale it to match the new size ๐Ÿค”

mighty carbon
#

mobile GPUs are decent, it's just they are GLES (since Vulkan on mobile is in its infancy) and tiled rendering (they don't cull triangles, only objects based on object's bounds)

sturdy coral
#

they get a lot more of them when they can relax the thermal constraints too

full junco
#

yeah, you will just always need to give a lot of power iinto GPUs

#

the limit of desktop GPUs is always around 300W

#

and mobile GPUs are something like 10W maybe?

deft badge
#

@full junco fsceneview allowed inter thread communication? Or did you solve it another way?

full junco
#

@deft badge the FSceneView is setup first on the GT and then enqueued to the render thread

#

so I added a variable there for storing the setitngs I need

#

and then once the render thread started working, I took the settings from the FSceneView and saved them into a global variable

#

and then at the end of the rendering when I need the settings, I take them from that global variable

deft badge
#

Issue resolved.

#

Thank you for contacting rubber duck debugging online.

full junco
#

๐Ÿ˜„

#

well the temporal AA is still an issue

deft badge
#

Glad you got it working, I may need to use that method soon.

#

Not if you disable it

full junco
#

then having no AA is an even bigger issue ๐Ÿ˜›

deft badge
#

MSAA?

full junco
#

I have to use TAA because of SSAO

deft badge
#

Foliage?

full junco
#

what foliage?

deft badge
#

Why the ssao necessity?

full junco
#

because it makes everything look way better

deft badge
#

Not as good as the forward renderer.

#

Ofc that's just my opinion

#

The bluriness with taa in vr is too pronounced. Unless you punch the screen percentage through the roof

full junco
#

the forward renderer doesnt make anything look better

#

and MSAA looks very bad in my scene

#

temporal aa looks way better

deft badge
#

Wash your dirty mouth out. ๐Ÿ˜€

full junco
#

MSAA only smooths out edges of polygons, not textures

deft badge
#

The biggest problem with the forward renderer is fireflies

real needle
#

Hey guys I'm asking here because the AI channel is dead and General things dissappear quick: My EQS queries within my BT get's stuck when I stream in the levels, but it works as intended when I don't stream them in IE "Always loaded". I've tried spawning both player and AI within the persistent level but that didn't help

full junco
#

fireflies? ๐Ÿ˜›

deft badge
#

@real needle I don't know for sure, but how would EQS query an environment that isn't in memory?

#

Fireflies == specular aliasing

full junco
#

ah

real needle
#

@deft badge It is in memory. So order of operations is: I stream in level, which contains an actor that spawns AI every X sec, it spawns, gets possessed, and starts the first BT task which is an EQS

#

If I just "open level" or play the level in editor, it works

#

But when streaming in, it get's stuck on the EQS query

#

I'm runnign a class that populates with all the actors that can be targeteted by the AI, and it properly receives a reference to the player pawn (and I just "Set Transform" between streamed levels, so no new spawn of pawn)

deft badge
#

Check that the controllers are running. You may need a delay first.

real needle
#

Before possessing?

deft badge
#

Yeah

real needle
#

Well the BT wouldn't run without a controller would it?

deft badge
#

Don't know mate. Just something I noticed when streaming and possessing.

real needle
#

So just tested with a simple "Move To Location" and that doesn't work as well, so I've ruled out BT and EQS as well as AIPerception Component

candid viper
#

@full junco Great, glad you got it working. Try changing the value slowly for TAA. If you're doing the 1.0/0.9 type step from testing that will be too fast for the history. The standard value for the new frame in TAA is 0.04 - most of it is history. When you change the pixel density it is changing the effective history somewhat. If the pixel density change is gradual enough, it probably wont be noticable enough. The other thing to try is changing r.TemporalAACurrentFrameWeight. Default is 0.04. Higher values make the TAA more responsive (giving more aliasing) but it has to stay quite small for the jitter to be removed. I'd recommend 0.1 as a maximum. What you could do is raise it when you have to change the pixel density, then gradually move it back to the default over time. That will make the TAA more responsive during the change, while trying to keep the best AA when the pixel density is stable.

full junco
#

@candid viper I actually always use a value of 0.15 for the TemporalAACurrentFrameWeight

sturdy coral
#

does TAA still jitter the camera in VR? seems like your head would be enough

full junco
#

I think smaller steps than 0.1 for the pixel density would not be better, since then you just more often have a change happening. I dont think I understand what that 0.04 value you mentioned is for? the issue with TAA is that the whole last frame is ghosting a bit the next frame, so if its like that flickering I saw due to the wrong size, just less noticeable.

#

its most noticeable when the new size is bigger than the old size since then you see the black occlusion around the eyes from the last frame ghost into the current frame

sturdy coral
#

@full junco instead of rescaling the history perhaps you could have shader parameters tell it to use scaled UVs

candid viper
#

@full junco For pixel density, the smaller the change the greater the validity of the TAA history, so the better the quality can be. The 0.04 was the default for TemporalAACurrentFrameWeight. The ghosting you're describing sounds to be like you have a bug in your adaptive work - the TAA history needs to be looking up for using the previous frames pixel density. If not when the PD increases, it would read black history at the edges which sounds like what you're seeing

sturdy coral
#

and if it adds much expense to the shader, only use that permutation of it when there has just been a change

candid viper
#

@sturdy coral Yes, the camera is still jittered in VR. The normal head movement doesn't have the kind of repeatable noise pattern needed for TAA to antialias correctly.

full junco
#

@candid viper well the TAA uses the new settings from the current frame I guess and also read from the history with those new settings, which will of course make it read the wrong part of the RT last frame. but I think thats same for the oculus code

#

@sturdy coral if that would be possible that would be nice

#

I am currently disabling TAA for one frame and use FXAA in that frame, but it is still visible that something was different in that frame

#

but looks better than having the last frame ghost into the current frame

candid viper
#

@full junco I've not tried pdadaptive with TAA recently on Oculus - you may well be right that it has the same problem. Not sure how awkward patching the TAA shader to have different sizes for current/history frame would be. If Oculus has the same problem, can always report the bug to them... eventually it may mean a pullr equest making it to the engine. (Unlike SteamVR where no matter how many pull requests to improve the mirror window go in, it still sucks by default).

full junco
#

@candid viper well I would not report a bug to them since I dont have a rift to test if it actually has the same problem

#

if you could test it that would be nice ๐Ÿ˜„

#

since their code never interferes with any TAA stuff as far as I can tell I would be relatively sure that they have the same problem

candid viper
#

@full junco I'll see if I can test it out. Looking at the TAA code, it does assume the history is the same size as the current frame. Using a compute shader to rescale the history back to match the new PD would blur things a little more during the change, but might look okay. You might also want to try keeping TAA on, but setting r.TemporalAACurrentFrameWeight very high for the first frame, then dropping quickly. Even up to 1 - no antialiasing. FXAA messes up subpixel information so introduces it's own error into the history.

full junco
#

I've also tried just disabling aa that frame, should do the same like setting current frame weight to 1

#

subjectively I would say I preferred how one frame fxaa looked like

candid viper
#

@full junco It might not - setting the frame weight high means the history is being reset from the newly rendered frame. Running FXAA, or disabling TAA won't be updating the TAA history buffer, so when you swap back you'll see the effect of the history being wrong for a short while.

full junco
#

are you sure the history isn't reset by disabling aa? I don't see any artifacts from the wrong history any more when doing it

#

so I think it's reset

sturdy coral
#

is there a code path for clearing the history for things like teleporting to another area?

candid viper
#

@full junco Sure? No. I've not tried toggling it to check. I think I'd prefer a none FXAA frame to restart the history. But - you're game, your choice.

full junco
#

@sturdy coral very good question

candid viper
#

There is "responsive aa" used on particles etc. Set by stencil. It overrides the blend for the current frame to something like 0.25 IIRC.

#

Yup, just checked - "responsive" sets 1/4 of the new frame.

#

The normal frame weight isn't the final weight btw. It is further weighted by some calculations involving the history clamp, which can limit the max blend allowed. Responsive overrides that to a fixed 0.25 of the new frame no matter what.

sturdy coral
#

@full junco @candid viper ah there is this:

#

if(Context.View.bCameraCut)
{
// On camera cut this turns on responsive everywhere.

full junco
#

ah!

#

and whats a camera cut?

#

sounds a bit like matinee stuff?

#

or is a camera cut always there if the camera moved a lot?

sturdy coral
#

yeah

#

looking

#

Engine/Private/LocalPlayer.cpp
693: ViewInitOptions.bInCameraCut = PlayerController->PlayerCameraManager->bGameCameraCutThisFrame;

full junco
#

ok

sturdy coral
#

I do see it in some matinee code

full junco
sturdy coral
#

I bet it can't use position easily

#

because you might be on a moving ship, etc.

full junco
#

I dont see it being set anywhere though related to regular gameplay

#

seems to be ULevelSequencePlayer::UpdateCameraCut()

#

and ansel stuff

sturdy coral
#

yeah I see bPhotographyCausedCameraCut

full junco
#

and sequencer

#

so for something like a teleport that doesnt seem to be used

full junco
#

hm, the light shaft bloom flickers a lot for some reaon when pixel density is changed

#

even with TAA disabled

fleet veldt
#

@sturdy coral Hi I don't know if your question was answered but you can switch between MSAA and TAA easily at runtime. Just set everything to MSAA and simply changing r.MSAACount to 0 will turn TAA on. Here's the help from the cvar: HELP for 'r.MSAACount':
Number of MSAA samples to use with the forward renderer. Only used when MSAA is enabled in the rendering project settings.
0: MSAA disabled (Temporal AA enabled)
1: MSAA disabled
2: Use 2x MSAA
4: Use 4x MSAA
r.MSAACount = "4" LastSetBy: DeviceProfile

full junco
#

the light shaft flicker is way worse than the problem with the TAA

clever sky
#

Fuckin' Steam reviews sometimes.

#

Dumbass comes along and negs me because

  1. He's retarded and doesn't realize it's already doing exactly what he wants (i.e. direction is set by hand, and modified by thumb - just like Onward which he mentions)
  2. He wants me to release the project now.
#

If I could prevent that twit from using my stuff after release I would.

real needle
#

@clever sky Welcome friend. Just don't read the negative reviews, nothing good comes out of it

clever sky
#

Haha ๐Ÿ˜›

real needle
#

If I was to look at the review wall of The Nest, I would probably stop making the game

clever sky
#

I mean, I don't mind if I get neg reviews.

#

If you don't like it, you don't like it.

#

But to not like it because you're complaining about something when it's already the way you want it to be...

#

That's just special.

real needle
#

You are allowed to answer the reviews to correct stuff like that

clever sky
#

Yeah, I did.

#

"The biggest problem is it uses thumb for heading which I found troublesome when running! It should be controller only because that's most natural!"

#

'If you're on the Vive, it defaults to controller only.'

#

On the Rift... well, you have to use the thumbstick to give a direction... it's not hard to push up is it?

full junco
#

hm, setting TemporalAACurrentFrameWeight to 1 instead of disabling TAA fixes the light shaft flicker issue!

#

@sturdy coral so you were right that using TemporalAACurrentFrameWeight is better

#

@delicate mantle#2574

#

I can't seem to mention the correct brian any more, it always picks the wrong one

delicate mantle
fresh laurel
#

Google launched the Daydream View headset late last year, the companyโ€™s first virtual reality hardware product. As a smartphone clip-in headset, the View is a relatively simple device which leaves the bulk of the work up to the host smartphone. A slew of recent job postings however suggest significant new AR/VR hardware in the works from โ€ฆ

full junco
#

CPUs have too few cores

full junco
#

I always thought valves OpenVR would be... "open". but just noticed that its closed source

deft badge
#

What? I assumed the same thing.

full junco
#

only the API is "open"

hard light
#

It's 'open' in that anyone can use the API

#

few restrictions

#

compared to the alternatives which are harder to get your hands on and have license agreements

full junco
#

but you cant look at or modify anything the code is doing

hard light
#

No

#

but it does not actually say it's open source ๐Ÿ˜‰

full junco
#

well the name implies that its "open"

#

just giving you a header file and saying "anyone could implement these functions" isnt too "open"

wicked oak
#

and due to valve name, khronos had to call it OpenXR XD

#

Valve stole the OpenVR name from them

full junco
#

@wicked oak ah never thought about that ๐Ÿ˜„

sturdy coral
#

@full junco it isn't open as in open source, but it is how opengl works right? vendors provide the implementations

#

though with opengl there is an open reference implementation or something

#

@full junco there is a light shaft specific temporal AA shader too, not sure how it is used:

#

void LightShaftTemporalAAPS(
in noperspective float2 UV : TEXCOORD0,
in noperspective float3 InExposureScaleVignette : TEXCOORD1,
in noperspective float4 Unused1 : TEXCOORD2,
in noperspective float4 Unused2 : TEXCOORD3,
in noperspective float4 Unused3 : TEXCOORD4,
float4 SvPosition : SV_POSITION, // after all interpolators
out float4 OutColor : SV_Target0 )
{
#if ENABLE_TEMPORAL_AA
float InExposureScale = InExposureScaleVignette.x;
#define AA_ALPHA 0
#define AA_CROSS 0
#define AA_DYNAMIC 0
#define AA_LERP 64
#define AA_NAN 1
#include "PostProcessTemporalCommon.usf"
#else
OutColor = PostprocessInput0.SampleLevel(PostprocessInput0Sampler, UV, 0);
#endif
}

#

in PostProcessTemporalAA.usf

full junco
#

@sturdy coral ah interesting, thanks

sturdy coral
#

@full junco to do the UV scaling I think all you may have to do is scale them in all calls to 'PostprocessInput1.SampleLevel('

#

but other code elsewhere resizes those textures or something I guess, resulting in a crop when going from high res to lower res?

#

and just black fill when going lower to higher?

full junco
#

@sturdy coral what?

#

it would be great if it would be possible to just scale them in the PostprocessInput1.SampleLevel( calls

#

but what did you mean with the crop when going from high res to lower res?

#

@sturdy coral I am only seeing that PostprocessInput1.SampleLevel call in the MinimalReprojectionForDebugging function in PostProcessTemporalAA.usf

#

so there its only used for that debugging path

sturdy coral
#

@full junco ah sorry it is in PostProcessTemporalCommon.usf

#

@full junco PostProcessTemporalAA.usf has a bunch of functions that have bodies defined by setting up defines and then including PostProcessTemporalCommon.usf multiple times

full junco
#

@sturdy coral ah thanks, I guess you mean this line?

#

float4 HistoryColor = PostprocessInput1.SampleLevel(PostprocessInput1Sampler, BackN.xy, 0);

sturdy coral
#

yeah, there are a bunch of others just after it too

#

well I'm not sure I'm on the nvidia branch

#

and they did some modifications to it

#

may just be that one line in stock

full junco
#

hm ok

#

so PostprocessInput1Sampler is the TAA history from last frame?

candid viper
#

@sturdy coral Thanks for mentioning bCameraCut. Not ideal here as it has other effects. The actual TAA use is in AddTemporalAA in PostProcessing.cpp. If there is a camera cut, or TemporalAAHistoryRT isn't valid, then the current frame is re-used as history. Setting TemporalAACurrentFrameWeight very high will have a similar effect but shouldn't have side effects. Note that since CurrentFrameWeight is weighted by the history clamp, then saturated it may be worth trying values > 1 for that first frame to make sure the saturated result being used for the blend comes out at 1 so just the current frame.

full junco
#

ah thanks, have not tried values > 1 yet!

#

but just taking the history from last frame and resizing it using UVs to make it fit the current size would obviously be way better

candid viper
#

@full junco Worth looking through this presentation on their PS4 adaptive resolution. http://gdcvault.com/play/1024476/Higher-Res-Without-Sacrificing-Quality Slides Page 139 in particular - they used fine resolution scale adjustments to good results.

Rendering for VR puts a premium on efficiency and reliability, as failure to render each eye's image in 8.3 milliseconds causes stuttering and risks nausea for the player. This talk goes into detail on the numerous low-level and high-level...

wicked oak
#

gonna have a look

#

im doing PSVR after all

#

and they allow devs to install VR Worlds for free, its like one of the demo examples they have

sturdy coral
#

@full junco yeah I think that should be the previous frame history; I don't know how the resizing of it works though

#

@candid viper what all can make the TAA history invalid? just first frame of the game?

wicked oak
#

well, switch resolution would nuke TAA for sure

sturdy coral
#

yeah but I mean invalid in the code, does switching res actually trigger the invalid bool? if so john shouldn't have seen the black artifacts, unless he changed switch res enough that it no longer set that bool

wicked oak
#

i would 100% avoid TAA on switching resolutions, im not sure about that

sturdy coral
#

@candid viper that sony paper is awesome, I didn't realize they had a better form of that radial density masking stuff that valve had (abuses MSAA to use pixel masking instead of quad masking)

mighty carbon
#

Sooo, what's new in UE4 VR world? ๐Ÿ˜Š

sturdy coral
#

@candid viper I sent those sony guys an email asking how they handled temporal AA with the adaptive res, because it sounds like they are changing res on almost every frame. their temporal stuff was also tied into the dithered stencil mask thing for doing variable density shading, so some of that seems like it would be complicated by adaptive res

candid viper
#

@sturdy coral Easiest way to invalidate the history is by using the CurrentFrameWeight as I've suggested. The other way would be to remove the TemportalAAHistoryRT then recreate it or reattach it. Would require source mods and even then I wouldn't recommend it as an approach. John is changing the portion of the render targets used out of the max he has in his range, not changing the actual resoultion of them each time he changes - otherwise he'd get a full resolution change which takes a long time (e.g. 30ms). That would be a horrible glitch. I can see two possible ways to fix the TAA history to minimise glitching. Adjusting the lookup UVs so they know the size of the history that was present. Since the history is read at the old size and written at the new, may require having two history render targets. The other idea would be to resize the history to match the new render size before running the TAA filter. That would only be done when actually changing pixel density, so no constant cost (unlike the other option). The other complication in this is the history buffer is stored in a higher precision format - F16 per component IIRC. That usually means filtering for lookups doesn't work - which would mean changing UVs alone wouldn't work with manually filtering the lookups which would be slow. That would lean towards using a compute shader to resize the history - handling unfiltered F16 isn't really a problem then. Of course there are a lot of flavours of TAA. For example, just using the 8/8/8 version of the last frame only rather than exponetial history - that would allow filtered lookups and is simpler (but lower ultimate quality).

wicked oak
#

im looking for some testers for my new VR multiplayer game
to play now
this is a small scale playtest to check some functionality
PM me to join

#

both oculus and vive

opal bobcat
#

Anyone know if its possible to use menus/resources from the VR editor aspect of the engine?

wicked oak
#

game playtest is over, we were 4 for it. Lots of bug found XD

mighty carbon
#
lee-dohm.com

Working as the Community Manager of not one but two very popular open source projects, I get to deal with trolls on a semi-regular basis. Iโ€™ve been asked by my coworkers to share more of my thoughts, strategies and tactics around dealing with these kinds of people, so Iโ€™ve been doing write-ups of incidents that happen. One of these write-ups has been particularly popular among my colleagues and Iโ€™ve been asked to share the high-level parts publicly to benefit others who are community managers or moderators ...

#

interesting

#

(I am sure VR games on Steam will get a lot of trolls in user reviews and discussions)

wicked oak
#

mostly common sense

real needle
#

has anyone had success using a PostProcessVolume which, for example, has a different colour tint when the player sticks their head into it?

#

i can't seem to get this to work

glossy agate
#

Are there different LOD settings anyone is using for VR? Seems like they don't upgrade until I'm really close in game. Don't know if it's a screen space difference or I just messed up.

sturdy coral
#

@real needle have you seen the content examples project that shows post process blending?

#

@candid viper ok yeah, I didn't know how he was handling resizing everything.

#

@candid viper I thought exponential smoothing was already essentially using the last (antialiased) frame, just basically new_aa_pixel = cur_aliased_pixel*weight + prev_aa_pixel*(1-weight)

#

but yeah would be in f16 because it would have to be before tonemapping right?

#

@candid viper @full junco ah got a reply from the sony guy:

#

Hi Charles,

We didn't discard the temporal history on a res change - we couldn't really because we're changing res all the time pretty much. There were no noticeable artifacts though. Each res change was pretty small.

In fact someone suggested in another talk that their adaptive resolution actually helped the temporal AA as it varies the sampling locations more. Interesting thought...

Likewise, the temporal probably helped hide the res changes.

Similarly with the resolution gradient. The res changes didn't have any noticeable adverse affects on the temporal aspect.

Hope this helps. Thanks for your mail!
Joe

#

they are changing sometimes every frame (but they downres more aggresively than up res)

#

oh yeah, the TAA shader in UE4 is already doing like 8 samples of the history (at least in one permutation), so maybe that will make up for some of the potential lack of filtering (<-- n/m, just on nvidia branch)

real needle
#

@sturdy coral there appears to be some complications since i am using essentially mobile settings in terms of rendering (for performance)

full junco
#

@candid viper hm very interesting what you said about the TAA scaling!

real needle
#

ive tried scene colour, tint, film colour, etc but no luck

full junco
#

@sturdy coral very interesting reply from that sony guy too, so they they do so small steps that its never visible that the old frame had a different effective size than the new one?

sturdy coral
#

@real needle I think you can do a custom post-process effect on mobile

full junco
#

the steps have to be really small for that, like 0.005 or so

sturdy coral
#

@full junco yeah they do it so frequently that it usually isn't a big percentage change, that means undersampling artifacts and stuff aren't as severe I guess; they may do bilinear sampling or something too which I think adds enough samples that you won't get undersampling dropouts for even fairly big percentage changes

#

not sure on that

deft badge
#

Interesting solution. Btw, who just casually emails the Sony devs?!

sturdy coral
#

@deft badge definitely didn't expect a response on a saturday

deft badge
#

๐Ÿ˜€

real needle
#

i have a collision sphere attached to my camera. this collision sphere, when overlapping an overlapping volume, constantly triggers "start overlap". is there some situation occuring behind-the-scenes that moves the camera on each tick?

#

one further detail: the collision volume is from my waist downwards

#

so the capulse is overlapping - but my HMD is well above the volume (confirmed by printing HMD location on tick)

#

it feels like at each tick the camera goes to the root of the player capsule, and then moves to its location higher up - is that was is happening behind-the-scenes?

sturdy coral
real needle
#

ha damn

#

well at least i'm not a total moron

#

was getting a bit frustrated there. thanks for pointing this out, really appreciate it

#

oddly, a fascinating discovery i made. if you do your collision checks as expected, and use a component tag, you can actually easily achieve the opposite effect

#

it will trigger as "on event overlap" when you leave the volume

#

and vice versa

#

just total reversal, despite what it says

candid viper
#

@full junco I had a bit more of a look at the TAA shader. (PostProcessTemporalCommon.usf). At line 201 it finishes calculating the texture coordinate used to read the history (usually read with a cubic filter for quality). The line is this: BackN = (BackN * ScreenPosToPixel.xy + ScreenPosToPixel.zw + 0.5) * PostprocessInput0Size.zw; Anyway, the actual history buffer isn't in PostProcessInput0 - the final output is. The history is in 1/2. So if that line was changed to BackN = (BackN * ScreenPosToPixel.xy + ScreenPosToPixel.zw + 0.5) * PostprocessInput1Size.zw; it might read the correct history. Note at line 432, it does the actual read. float4 HistoryColor = Texture2DSampleBicubic( PostprocessInput1, PostprocessInput1Sampler, BackN.xy, PostprocessInput1Size.xy ); You can see there Epic are using PostprocessInput1Size.xy - not PostprocessInput0Size.xy, so they are using the size of the history. That miss-match doesn't matter when the buffers are the same size. I'm not sure if the texture sizes are correct going into the shader - so the history is the old size, the output the new size. If they are, changing that 0 to a 1 may fix it.

full junco
#

@candid viper oh interesting, thanks very much!

#

the the question really is if the sizes that go into the shader are correct

#

since the history should always have the same size like the current frame usually, I could easily see Epic just giving it the current frame size, correct?

candid viper
#

@full junco Yup, if the sizes going in are correct with that fix it should work. It's just a typo - Epic used Input1 (history) for the read at 432, but used the input size at 201. Doesn't matter normally as they're the same size. Now since you're seeing the problem, I'm hoping they aren't the same size. It might just work. I tried the Oculus PD Adpative briefly today, but in the test scene it was locking at 2, so no use. Need to downclock my gpu or try it in the main game rather than testbed. If I had a repro case of your issue under Rift, I'd have tried the possible fix.

full junco
#

@candid viper ah well, you can just downclock your GPU or place a bunch of kite assets in the scene I guess ๐Ÿ˜„

#

its funny if its really a typo that causes this

#

but where should it take the correct size from?

#

I dont think I completely understand how that stuff works. the correct size would be the size it was renderer at last frame, but why should UE4 ever store that size somewhere? its always the same like the current frame size in stock UE4

glossy agate
full junco
#

@candid viper I have tested it now, and unfortunately it does not improve it

#

looks exactly same with 1 and 0

odd garnet
#

Do you believe that vr will reach the point where most gamers (and non gamers I guess) will have a headset and controllers?

pearl tangle
#

oculus stopped selling just the headset now so everybody that buys from now on will also have the controllers

full junco
#

@pearl tangle oh that's awesome!

#

but people will still need to buy a separate camera?

pearl tangle
#

no it is the headset + camera + touch + camera

full junco
#

but people need 3 cams for good roomscale I think?

pearl tangle
#

oculus still doesn't support room scale

#

they are purely focussed on front facing only at the moment

candid viper
#

@full junco It was worth a try. It is likely using the full size of the texture, not the smaller size of the viewport that you've been rendering to. So it would come back to changing the input to know about the size - but looks like it can be done using existing inputs to the shader.

real needle
#

@pearl tangle Nate said in his GDC interview that they will be supporting roomscale in a major patch "coming soon" and that they have it "working internally"

#

I've had good roomscale setups with just two cameras but the accuracy of the controllers are worse when one of the cameras are occluded

pearl tangle
#

yeah i hope they can fix it all up. I just find it incredibly annoying with all the usb cables everywhere

#

you manage to get your vive trackers yet @real needle ? Got 1 hooked up to a rugby ball for this project on our side already, the other project we had fell through so managed to knock this 1 out in a few weeks

real needle
#

Yeah we got em, but I can only talk about the silly stuff like foot tracking and cheap mocap using sequencer

pearl tangle
#

you got 3 trackers?

real needle
#

Nope, two, but I use controllers for the rest

#

Well, third

pearl tangle
#

apparently the full body IK rig will be part of the steam vr core

real needle
#

Is there anything written about that?

#

That sounds alot like Oculus Avatars but with more features

pearl tangle
#

definitely saw it around somewhere but HTC mentioned it as well

zinc violet
wicked oak
#

got a PDF or a link?

velvet mango
#

I think that's paid ^^

zinc violet
#

well, it's a paid magazine :p

#

I get my e-book version through my library

#

but yeah, that's a great article, very in depth

wicked oak
#

i doubt i can get that legit from where i live

#

that one doesnt publish in spain

velvet mango
#

but you can get the digital version ;P

wicked oak
#

where?

velvet mango
#

I think they have a website

zinc violet
#

sorry for ad

#

apprently they sell minimum of quarter year sub

#

15โ‚ฌ for digital version it appears

velvet mango
#

dont wanna be rude, but "I doubt I can get this in my country" is the first step to not support them โค

zinc violet
#

sounds odd that they wouldn't sell that in Spain

wicked oak
#

im not going to find that in physical

zinc violet
#

we have these on all kinds of stores here in finland

wicked oak
#

i never saw 3dworld on a store

#

even huge magazine stores

#

its about the english

#

english magazines dont sell in spain

velvet mango
#

I think they do

wicked oak
#

seems i can buy it digital no problem

velvet mango
#

in bigger citiess

wicked oak
#

but there are cases where this is publisher stuff

#

if they dont sell physical in the country, they also dont sell digital

#

ebooks in spain are a fucking disaster

velvet mango
#

Here in germany at least we can actually get english stuff at train stations

wicked oak
#

mostly becouse the cartel that prints books actively sabotages it

velvet mango
#

only in big cities though

wicked oak
#

you can find books cheaper on physical than on digital

#

becouse the few printer companies have a crusade against digital books (logical)

#

and the government does nothing

#

result, no onoe EVER buys digital books

#

i do know people with ebook readers, and they have lots of books, every single one of them pirated

#

a famous book is "The Name of the Wind" by Rothfuss

#

if you go to its website, the digital epub version is 15 euros

#

and the physical version, small version, is 10 euros

mighty carbon
#

Sometimes they publish free PDF with selected articles (at least years ago they did).

#

I wonder if that article is made from GDC talk or something

wicked oak
#

im so mad that the Overwatch tech talks are "pro" only

#

im making a multiplayer prototype, i could really use that information

mighty carbon
#

They use Unity (or even some homebrewed engine), not UE4. Why would you need those talks?

wicked oak
#

becouse they are high level tech

#

networking is networking

#

no matter the engine

#

they talk about how they sync players with the server and back

mighty carbon
#

I see

wicked oak
#

how do they do the server hit detection and validation, anticheat, that kind of stuff

#

and ovewatch does it quite well

mighty carbon
#

IMO indies should stay away from competitive multiplayer

wicked oak
#

not in the case of VR

#

VR mp games sell like hotcakes

#

as long as they are good

#

but dont expect to have any kind of longevity

mighty carbon
#

Too involved, requires a lot of engineering and support, dedicated servers, etc.

#

So, why bother?

wicked oak
#

Steamworks gives you a server browser

#

anyone can just host a match

#

wich is exactly what im going to do

mighty carbon
#

I mean, where are you going to run servers and scale it up if necessary?

wicked oak
#

you arent really doing it in a huge scale

#

Hover Junkers

#

FREE GAME that came with the vive

#

100 players all time high

#

concurrent players

mighty carbon
#

I don't know about VR yet, but on PC and consoles indie MP was a bad thing to do for most devs. I can't imagine why it would be different for VR.

wicked oak
#

at 6 players per server, with 20 servers you have all you need

#

even i can host 10 dedicated servers for the launch

mighty carbon
#

Lol, 100 players. You need thousands of concurrent players for sustainability

wicked oak
#

i did told you it wasnt sustainable

#

but they do buy the game at the start

#

this is the arch-famous Onward

mighty carbon
#

Then why waste time on something unsustainable? (Besides learning process)

wicked oak
#

270 all time peak

#

becouse money?

#

the Onward dev is rolling the $$$

#
SteamSpy - All the data about Steam games

Steam Spy automatically gathers data from Steam user profiles, analyzes it and presents in simple, yet beautiful, manner. Steam Spy is designed to be helpful for indie developers, journalists, students and all parties interested in PC gaming and its current state of affairs.

mighty carbon
#

You can sell 270 copies of SP games easily

wicked oak
#

45,937 ยฑ 6,055

#

of owners

#

at 20 something per sale

#

its allways at the error range, so you can say it can be 40k sales

#

this means 800.000$ in sales

#

bit more

#

and then, 270 all time high

#

if i release a MP game, i would add like 10-20 dedicated servers for launch

#

then decrease it after the first wave of players

#

Steam browser being Steam itself

#

so i just need to deal with game servers

mighty carbon
#

Onward was first

wicked oak
#

yes

mighty carbon
#

it's milsim, sort of, shooter

wicked oak
#

but there have been others

#

Bullets and More, Art of Fight, Pavlov

#

this is a cycle

#

new game releases, the fanbase takes it. If they like it, it goes huge

mighty carbon
#

if you make random pew-pew FPS with inconsistent graphics, what makes you think people will buy it as well as they did Onward ?

wicked oak
#

for like 2 weeks

#

then dissapears

#

@mighty carbon this new game would be properly made

#

with a consistent art style

#

the DWVR case its due to being improvised from the very start

mighty carbon
#

Pavlov stats: Owners: 5,638 ยฑ 2,121

wicked oak
#

good enough

mighty carbon
#

ok

#

you can make SP game, properly, and make more than Pavlov

wicked oak
#

uhm, no

#

mp games are far easier

#

you need way less content

#

what you do need is good gameplay

#

and proper netcode

mighty carbon
#

MP games are as complex as they come due to software engineering, support and balancing you have to do

#

it might sounds easy, but it's not

wicked oak
#

not, sure, i already got a cool prototype

mighty carbon
#

aye, good luck

wicked oak
#

now that the netcode for guns and movement works, im focusing on getting the Interactions right

#

i plan to have the core weapons to feel good to use today, at least for the alpha phase. Tomorrow ill get proper game loop to work

#

"start game -> match -> end game someone won->restart"

#

im doing it so stupidly fast becouse im building from my other projects

#

thats one of the main reasons i do prototypes

#

i try to do different stuff, and that way i can just get the code from other prototype for a specific thing

#

i recomend everyone to do that.

#

try to do 1 week prototype, or just join gamejams from time to time

#

the "1 week" thing for this MP game is for a simple reason. If i can get something that is playable and cool in one week, then i can actually FINISH it in time

#

after the short prototype, is much easier to evaluate how difficult it would be to complete the game

sharp swan
#

ive just been running through multiplayer tutorials. seems fairly basic but I won't know until I make a new project from scratch so I have a prototype task to do now, which makes me so happy ๐Ÿ˜ƒ

wicked oak
#

multiplayer is pretty damn hard

#

one tip @sharp swan make sure your game is playable on mouse and keyboard

#

at least for debugging purposes

#

like have keys to move the camera around without the HMD, and keys to move the hands around without the HMD controllers

#

becouse you cant test MP from VR

#

literally impossible to do so

sharp swan
#

not even sure it will be a vr prototype yet tbh. dont want to overcimplicate things

#

just need to run something up in a week or so

full junco
#

I wish I would have time to work on multiplayer, but first single player has to work perfectly

wicked oak
#

@full junco doesnt work like that

#

either you do it MP from the start, or you fail

full junco
#

@wicked oak no

#

I worked on a RTS before. did singleplayer first and after half a year or so started on multiplayer

wicked oak
#

how do you make the MP code? gotta rebuild everything

full junco
#

worked very well

#

you don't need to change most stuff for multiplayer

#

it will just run on the server instead of on the client

#

at least in a RTS it was quite simple. instead of actually spawning something the client just tells the server to spawn it, sure thats one function call more, but the code itself doesn't have to change

wicked oak
#

my case are FPS or VR games

#

i cant just let the server do most stuff

#

becouse it would lag a lot

sharp swan
#

I guess if you follow the rules of making a game mode, instance and such, the transfer to server/client wouldn't be too painful.

wicked oak
#

yeah, that for sure

#

it makes it much better

glossy agate
#

For mp in vr a big part of getting that base is making stuff that's really fun for streamers to make content with. The pr boost will drive a lot of sales. They like recording mp in vr because it's easier to get a lot of good content. Node, viper, nathie are probably good channels to try and get on.

wicked oak
#

yup

#

do you have any idea how to do that with UE4?

#

its a huge issue for that that we dont have mixed reality

#

but given that my game is an MP game... maybe i can make something happen with a "spectator camera"

wicked oak
#

uhmm, having to sync all my brand new interaction system that allows to change the gun weapon and hold it with 2 hands and things like that

#

fuck it im going to replicate movement only

raven halo
#

@mighty carbon

#

did you know about this?

#

have you looked into it at all? ๐Ÿ˜ฎ

#

it looks awesome!

real needle
#

@fresh laurel Nice work there! What are the biggest issues? SteamVR runs natively on linux now I assume?

mighty carbon
#

@raven halo nah.. It's for Mi phones which I haven't seen sold in USA/CA

#

plus, Samsung has much larger install base

#

and Oculus is unbeatable when it comes to software behind VR

raven halo
#

right, but it might be interesting to put something on the Chinese store?

#

maybe there is some money to be made there

#

and xiaomi seems to provide SDK for Unreal (I think)

#

they even have ASW

mighty carbon
#

you can't put anything into Chinese store directly

#

you have to work through Chinese company

#

so it's like middleman on top of another middleman

raven halo
#

wow really?

mighty carbon
#

yeh

#

oh, yeah, and direct integration of Gear VR is the best in Unity/UE4. Better than Daydream too. And on top of that it's still a struggle to work with compare to Rift/Vive. I don't see myself getting into anything lesser supported.

raven halo
#

I think once I finish the gear vr version of the game

#

I'll just casually look into all these platforms to see how feasible a port would be

mighty carbon
#

๐Ÿ‘

dawn cipher
#

Anyone know why SteamVR pops itself open when I launch unreal even though I have the SteamVR plugin disabled?

glossy agate
#

Might be because it's detecting an hmd. If you unplug it does it stop opening?

wicked oak
#

alright, finally got the basic rifle to have MP interactions that are properly replicated

#

you can drop it, and it goes to your waist. you can use it with 1 hand or 2 for more accuracy, and switch the hand you use to fire

dawn cipher
#

@glossy agate Oh good point.

#

That would probably fix it, since it doens't happen on my machine at work which doesn't have a Vive plugged in.

glossy agate
#

Was it hard to code the 2 handed weapon? I could never get it to work right, so I downloaded someone else's plugin

wicked oak
#

i really dislike downloading plugins for stuff

#

i can get it to see how it does stuff, but not directly use it in my game

#

i prefer to build my own solution

#

and the guy one wont work MP

glossy agate
#

Oh, I didn't know open vr can't work in mp that's too bad. I mostly do art and am a really mediocre programmer so I need all the help I can get on these solo projects haha

ripe kindle
#

have any of you guys tried recording with sequencer for VR?

#

I can't seem to get anything to record other than the footprints my player leaves...

sturdy coral
#

@ripe kindle yes, @dusky moon did a few days back

#

I haven't tried

ripe kindle
#

ah cool. I'll look into this and get back. thanks

#

I got it to work for a single actor, but I think I probably just set my world up weirdly... I have blueprint that spawns and controls everything, and I want to just record that, but it wont update anything that happens

#

I'm looking to record the entire game, not just one actor at a time. Anyone know if this is possible? Even with the setting to record nearby spawned elements nothing updates but the single actor chosen to record

ripe kindle
#

Dammit... I just tried to do a console command for "hmd mirror mode 0" and it killed my VR preview on my monitor. So I closed the editor and now I cant open because it crashes throwing errors about Blueprint pins... what

dusky moon
#

@ripe kindle It works well if you want to record Movements (transforms) of your actors but It's not intended to record the whole gameplay.

ripe kindle
sturdy coral
#

@ripe kindle yeah that is a common problem, it ends up changing something in your Saved folder can't remember what

ripe kindle
#

in saved?

#

ok good place to start

sturdy coral
#

I think command history or something

#

anyone know if oculus have something similar to SteamVR's frame timing graph? the performance HUD seems to mostly be statistics about timewarp? never changes from 90hz

#

no matter how high I crank up the res