#virtual-reality
1 messages · Page 101 of 1
some people will see a game. if they like it, they will tell others about it. and if those like it, they will tell others about it
if word of mouth was enough to sell products my entire industry wouldn't exist
because not every product is good or unique
Tesla doesn't need to pay for any regular advertising, other automakers do
because Tesla just works on stuff where it doesn't really have competitors
I get that word of mouth is not enough for most things
when you have 1 of the most famous guys on the planet running the company and doing constant PR for it that kinda helps. a little indie guy that nobody knows or has heard of doesn't quite get the same thing when you post on reddit
elon musk is only one of the most famous guys because he was successfull with tesla and spacex
they aren't successfull because he was famous before
he created paypal and got $200+mill out of that and got pretty famous, got a big following. they do a shitload of PR. they don't make TV ad's because they just do everything with PR
he didn't get that "big following" back then
because social media didn't exist 15 years ago
the newspapers and other traditional media picked up on it and space x was very unsucessful for a long time and nearly went bankrupt
tesla too
and it was very unsuccesful for 10 years too
both almost died 2008, and there he was basically just a guy who has 2 failing companies
well then we agree on that, and my point is just that no one cared about him when he was the guy with the failing companies
he couldnt just tweet something and have all media write about it
yep they did PR, shitloads of it. they just say they dont do marketing. but they do a tonne of it, just through different means
I only said they dont pay for regular advertising
it's like saying apple would be where they are without marketing. nobody would be buying their products if it wasn't for marketing and generating an image around it
neither do a shitload of brands anymore. but they still do marketing
and apple still benefits from the iphone, which was just quite good back then
no. they benefit from the marketing and image they have created around owning apple products. they recovered from near bankrupcty purely because of their marketing
why do you say "no"? lol
they do still benefit from being the company that released the iphone
obviously they have great marketing, but that marketing couldn't have done anything if they wouldn't have had the best smartphones for quite a while
I don't quite agree
In my experience it all depended on the speed and even the direction of the acceleration in relation to the players orientation
Up and down acceleration is less problematic than sideways for example
I have a problem with such generalized statements. It discourages devs to try stuff
about the sales of VR...
yo what he was saying up that you get the sales the first 2 days and then dissapear is 100% true
the only way you can avoid that is by having a multiplayer game
where players that like the game tell others so they play with them
or have the utmost greatest singleplayer game of all eras
i dont know about that
i guess it should be possible to add "free DLC" just so it shows on the lists
the last spike is the last sale
got 750 dollars of that sale
launch window got near 4000
Lol, multiplayer
ouch
Just make interesting single player and people will keep playing your game and sales won't die in 2 days. However, without some kind of PR it might not even work. You need people to see your game on the Net. YouTube and Twitch aren't big on VR yet
So I don't really know if major VR outlets will write about yet another wave shooter made by yet another indie.
@raven halo agree, with smaller FOV you can comfortably play old Quake. What he writes is a scientific fact but he doesn't say in that quote full truth
I got insta-sick trying Quake VR
In which HMD?
Gear VR
You can simply add a black border around your perspective to limit FOV to not more than 65-71 degrees, it should eliminate all motion sickness
Or someone could make a mod to allow teleporting ;)
It would be a different game then
Black border takes away from immersion
Yeah motion sickness in low poly environments adds a lot of immersion
there are a lot of things in games which can take away immersion - simple fact of gamedev, you have to live with it
Any pointers for getting moving platforms to move player pawns/camera?
Such as an elevator
Well, live with teleport locomotion. You don't get motion sickness and don't take away from immersion
Low poly art style has nothing to do with immersion
anyone experienced their vive controllers trackpads where one direction fails to detect click?
ie. for 2 of my controllers (i have 5 in total), the right direction fail to detect press
i tried slamming (gently) them on my palm as suggested by some reddit user, but doesn't seem to fix it
hmm, strange now they work again, could have been a driver issue or something, tried switching back and forth between steamvr and steamvr beta
@glad temple just attach the vr controller to your object and it will work
@eternal inlet try doing the controller calibration stuff within steam vr could help
@pearl tangle thx it may actually have been the repairing that did the fix
because i switched them all out in succession
aye
@glad temple i would use a character component for that, then you can stand on stuff automatically
I took mine apart awhile ago and secured them better due to that
@mighty carbon I'm telling you about making FOV smaller and you reply with teleport? - logic
@tired tree that was actually also what i heard other people do
its the valid fix
slamming them into palm might reseat if you are lucky
but they will move again
atleast two of mine have definetely moved a bit
the click feels very different to the other directions
@eternal inlet What do you mean? Where would I use the character movement component?
instead of using a pawn, use a character
@glad temple as far as I recall, FPS character from template can walk on moving objects and inherit their velocity
I was driving on aerosled like that
@nova wave correct, they do, just did a test with that myself
characters detect the component they are standing on on tick
call it "floor base"
they inherit its rotation and translation then.
you can mock it up without a character
Totally didn't think of that, that worked. Thanks @eternal inlet
What are the caveats?
character location by default is not the same at HMD location
hmd is location is relative in roomscale to the parent actors 0,0,0
while the character itself would be at that 0,0,0 point
I helped jonas get it working in blueprint, think he has it almost done now
(Hey everyone ! Any of yall using VR Content Examples from Mitch with a Forward Rendering project ?) NVM found the solution to my problem
if you are just looking for bluieprint
I also see that teleporting onto moving platforms(or holes in the floor) is a-okay, but walking onto one is not
So just gotta move the capsule component to the x/y of the camera?
lol
you can't really do that in blueprint, or in engine normally
capsule is the root component
so it is the location of the actor
when you move it, you move the HMD
you need to decouple the HMD location by offsetting it back
I gotcha
I move the capsule in my C++ version but its not possible in BP
@tired tree @glad temple i got it working 95% in BP only, the last 5% is a bitch, so as far as i can tell, you need c++ to be able to get the last bits perfect
Not sure he needs the entire capability of the character, sounded like he just wanted gravity and floor basing. Otherwise I would have linked him my plugin.
will tonight, wife was very much pregnant last night, I didn't get to do much at all
well, we DO have a 8 month old and a new one on the way, have to help out a lot to keep her from frustration :p
i totally understand... i recall pregnant wife
= boss fight haha
= full concentation and focus
i made it work with a simple-ish way
basically i dont directly parent the vr space to the capsule
i use a "VR Origin" component
when the player moves into position X 2 Y 0
then i "move" the character into x2 y0
and then move the VR Origin to x -2 y0
basically the capsule allways stays in sync below the camera
yeah that was one of two options I gave Jonas at the start for it
also completely breaks replication
yeah, i do something similar
i still havent done that custom movement stuff
the method I gave jonas keeps the potential for replication, but has its own downsides
honestly, when they de-couple the character movement from characters, if they do it right and have a "root component" and a "UpdatedComponent" instead of just "UpdatedComponent" it would be a breeze
you would just give it the component you want used for collision, and the component that you want moved as a result
i would really hope that would happen too
could be the same, or two different ones
I should probably mention that actually to them before they finish the refactor...
or the same problems will exist
but i suppose they will do that eventually, don't u think? i mean, it's so fundamental
well they stated they are making character movement not character exclusive, but that doesn't mean they would change that behavior
I guess the moveImpl function would have to be altered too, so its likely out of scope for them
aha, you talked to some of the devs themselves or was it a post somewhere?
was a post
ok
also ties into navigation too come to think of it
damn
I am prob stuck re-writing 90% of the character for the complicated one for forever....
ah yes navigation code is tied into that too
rather than move the capsule with a teleport and break replication, move the capsule by feeding input vectors to the controller
what I do is feather down the movement speed after a threshold when it gets really close
to prevent orbiting or anything
ah, he isn't using two actors
I'm not either, I did in my really old implementation last year before the camera refactor though
if you take the required move and figure out how much of the 0.0.1.0 scale it would require of the movement speed to move the amount, you shouldn't need to do anything special to prevent "orbit"
unless other factors get in the way of the speed of course
yeah, orbit is pretty well prevented by having a higher braking speed too and not trying to get exactly to where the head is
but to just a threshold
eh?
and one character with the capsule
I just kind of put that in in case I threw it onto a character with a high movement speed just to make it more general
... i understand you man
im also getting pretty tired of all the hackyness i have to go through
well, I guess I can't say that, the main character is pretty hacky, but at least I can control every little thing directly about it
@tired tree Thanks for the plugin!
@plain badger thanks, if you have any feedback regarding it feel free to PM me. Always looking for input
Well, just the boring stuff. More documentation... 😃
Ah yes........well the template was kind of made to try and make that not as required for me :p, some things are difficult to explain how to use in text. But I started updating the wiki again yesterday.
Hehe, I know the feeling. There is a lot of stuff in the template/"plugin example" though. I tried migrating the simpleVRChar and that seemed to mostly work. Teleport broke for example.
@tired tree Anyway, if all I want is collision, picking stuff up and teleport and/or trackpad movement. Should I make my own char based on your simpleVRChar or am I better off making my own, peeking at your stuff?
Doesn't really matter, depends on if you want a different architecture than the plugin or not and if you want to change fundamental behaviors.
Its all really one big example of how to do things, its not always going to be the "Best" method in every area
I suggest in the thread that very experienced devs build off of the ideas, but so far most seem to be taking it as is....
I saw your mention somewhere here that you have changed some tick stuff in the Character class for example?
I moved a few things around regarding tick order
but nothing major
mostly just preresiquites to ensure that the controllers tick after the movement and stuff
To make the controllers move smoothly or why? Is that noticable?
Hehe, alright.
Valkyrie Blade is a first-person sword fighting action game in the Virtual Reality world. Within the game, you have to use the movement of both your body and motion controllers to fight and survive against enemies in epic battles. What matters in this game are your reflexes and skills with the blades. Use them to fight your way through several enemies from simple thralls to the giant Minotaur each with its own combat style.
free?!
Looks badass haha. Wonder if I can ReVive this
Never mind, its on Steam with vive support already. Says release is this month sometime
I don't get how people can manage to make games with non-low poly assets for free o.O
its a publicity stunt
like when i did vrmultigames
they do it to get feedback and then do the full game
or catch the attention or oculus game fund
they got gallery-d so it probably isnt that good
or has some serious issues
Well, I guess someone else pays their bills
Maybe they got money money from occulus to build it?
Actually it looks like a South Korean company with some history. Maybe they will use micro transactions or something to buy more enemies and sword skins.
Ah, perhaps
are there any other videos.... i see barely see gameplay here.. feels like a classic "hype trailer". Show cgi to dazzle.. but no idea what the game feels or plays like. Not that thats not the way to succeed. The masses dont carea bout game play these days.. only cool "movie-like" videos. so shrugs
It's free, try it :)
Yeah, free on vive too once it's released. Steam shows more gameplay
cool. ill check it out.. a more intuitive melee combat game is on my list for VR projects.. interested to see how there's holds up. Not a fan of Oculus at all... glad its gonna come for Vive on steam too.
theirs*
Hey Guys, two questions here ... Is Gear VR Controller in stores now ?! And can some1 name some good titles made with UE4 for gearvr ?!
Not yet and no good titles on Gear VR made with UE4
Gunjack is the only titles afaik, but not my cup of tea
it would be weird if it was your cup of tea, and you kept spilling it because of tiny VR people in your saucer
goes surreal for the rest of the night
Heh
the LOD per eye issue with HISMCs is marked as target fix 4.16, thats good 😄 https://issues.unrealengine.com/issue/UE-43763
and master is now 4.17
so we can expect 4.16 to get released soon?
yeah that's what i mean hehe
so I would guess 1.5 weeks until the preview starts and then 4 more weeks until its released
sounds reasonable
I will move to 4.16 after its branched...
I already fear all the merge conflicts
but there are important performance optimizations
and I would like to test the volumetric lighting
i'll wait and see if there's something interresting for me, but it's always fun to test out the new preview builds
well I know that there's interesting stuff since I always read through all of the commits that are added to master 😄
yeah
reading through a dev-rendering merge is better than watching your favorite tv series 😛
btw if i wanna make a crosshair, and want it to always display as the same size in the HMD, what would the preferred approach be? to do a traceline and project hit on an invisible sphere centered around the hmd or something else?
and then draw my crosshair with noclip material too
i wanted something to point with for showing where i would grapple hook at
similar to how WindLands do
right now i just do traceline, but its hard to see when the target is far away
hm, ok
far away is hard in VR with the current resolution
anything far away will be a few pixels
yeah, that's why i think it's a good idea to show the crosshair at a fixed distance
What if for a test you did a text render and just put a period in there and child it to the camera at a fixed distance. Just change viz when you hit the grip to see if that works.
Probably need to do the thing with draw where it always shows over the other meshes
well, i wanted it to be at the aim of the controller
Oh nevermind
but generally i think the idea is the same
just assumed there was a recommended/normal way of doing this already
I saw a video where they did something similar for health bars in an RTS. I'll see if I can find it. I think it was set to take up a certain amount of screen space. Maybe you can do the same with a decal spawned on the normal of what you will hit.
That free game posted earlier is now available on Steam. checking it out now http://store.steampowered.com/app/619020/
About 10 min of playtime. Shorter if the controls work right. The extra level cinematic was the coolest part, but I couldn't beat the last girl because the move controls work about 20% of the time.
you mean the whole game has 10 minutes of playtime?
Yep. Just point out your arm and wiggle it
Extra level cinematic was really cool though
Is it possible to kick off an action when the player wears the headset (oculus)?
HMDDevice has a method "GetHMDWornState" https://docs.unrealengine.com/latest/INT/API/Runtime/HeadMountedDisplay/IHeadMountedDisplay/GetHMDWornState/index.html
re: Crosshair. In shiva I used a projector with a fov of 1 and that worked fine, not sure if it will behave the same in unreal
@eternal inlet line above, crosshair
Anybody using the Ikinema indie runtime? I just downloaded it, and the Installation documentation seems to have diddlysquat to do with the contents of the zip
@simrak#0804 i use ikinema
I would like to use it, but it doesn't work with source builds
Anyway i only used the online documentation
does the forward renderer support post process SSAO?
@native cedar no, it doesn't, I really wish it would
I got Daniel to say he will add it "in a month" but after a month he noticed that he has too much other stuff to do
he told me rough steps though what would need to be changed in the engine to make it work
you can try to do that 😄
Today's WIP : A Tilt brush like painting tool !
doesnt look like tiltbrish though 😄
@full junco have to start somewhere 😂
well with an emissive material it might already look like tiltbrush 😛
I have a bunch of TB inspired materials ready to be used 😃
for the curious
at the rate their project is going, I'll have my own tool ready to go xD
Thanks for sharing the materials!
👌
Re: Ikinema, will have to mess with it more tonight. So the Indie license does not work with a custom build UE4 engine if I understand correctly, but if you were to buy the real license ( at an undisclosed price ) then it would be ok? That's a bit sad, might have to look around for alternatives
@jaunty shell omg I have used painting that kind of stuff in paint 3D and even export it to FBX to ue4 or you can set that hello asset to paint3d as fbx file and paint it and sent fbx file back and you get surface of it
@alpine torrent can you rephrase that ? 😄 Needs punctuation !
@fair anchor did using ue4 asset as fbx model paint it in paint 3d app what comes with Windows 10 creators update and use it back in ue4
Ah I can't export it from UE4 to FBX yet
I am using the spline mesh component and have yet to discover how I can convert it to a static mesh or procedural mesh
https://www.youtube.com/watch?v=wDD1yZG1AxE to check what you and do and then use it in ue4 is possible
@alpine torrent I dont really understand anything you write
He is probably using a translator or something :v
You can indeed open and save fbx models in Creator's update... Just trying the exported fbx in UE to see what the crack is...
3D Paint in Creator's update ^
Here's a quick result of exporting from MS 3D Paint...
Separate splines now working as intended 😃 Performance is still whacky after a while, need to find why the spline mesh is so expensive
@blissful bear looks good, are the UVs correct ?
I'll try painting over the models and exporting again. See what it does with UVs and materials... I'm not optimistic.
Exporting to fbx from MS 3D Paint just exports geometry. Any nice stuff you do with painting on the models etc is lost. As far as my simple test goes anyway... 😦
you can't just export texture? it should just use the already made UVs
also is there no stamp tool?
There are all the tools in Paint, stamps etc but the fbx Save As option appears to just output the mesh of the scene you've created.
Each of the people in my scene gets a separate material slot with the WorldGridMaterial in it on Import.
vr project, forward rendering, many project settings turned off, empty material has 539 shader instructions
halp
That's normal and to be expected. Lighting calculations in forward rendering are done per material. That's the increased instruction count in the pixel shader.
The 3D doodle tool and text tool export ok. At least we have a bundled Win10 app that can create fbx meshes. It must have some use.... 😃
The 3D Paint exported fbx doesn't contain smoothing group info and causes a a warning on import.
don't you normally wanna spawn in HISM for 3dpainting?
i mean in terms of performance, that should allow a ton of more meshes
@graceful junco so adding a material increases the cost of every material?
is that really a thing?
No, switching to forward renderer increases the number of instructions displayed in each material. That however doesn't mean that performance is worse than with the deferred renderer.
makes perfect sense. Thanks for the clearance, sorry for the confusion
so unlit materials in forward are like extremely efficient I guess
its much cooler to model something in oculus medium and then export it directly to unreal
now it has a automatic simplify and i think it exports .obj
wow, I'd love to get into VR modeling
the windows 3d paint looks pretty limited, granted its priced right at Free, so I guess comparing it to other tools too much
you liar, blender sells your data too! It records how many hours you take learning its interface and then reports it as an IQ value
@tired tree @wicked oak Agreed it is currently quite limited. However millions of people are about to find they can export fbx models. It must be a good thing somehow...
I mean, sketchup has been able to do that since forever right?
and its been pretty accessible
Yes, I agree. 3D Paint will be imposed on every Win10 user sooner or later though...
I guess it will work well with my kids and the 3d printer, so not complaining.
Dammit can't get the Spline mesh component to work correctly at runtime, I really don't want to bother with procedural meshes T_T
It's quite fun... Would be good to get your kids stuff in proper UE VR as well... It'll have it's uses for some people.
oh....my oldest already plays with UE4, he made a VR obstacle course level for his friends to play with using my plugin....pretty sure most adults would quit seconds into it
He must think he has the coolest Dad ever. Great stuff man!
I really do wonder why him and all of his friends seem to have no motion sickness, from the bat, in VR
wonder if it has to do with the being in puberty and body balance already being off
Not sure... Maybe you just enjoy the 'dizzy' feeling when younger. I remember spinning round and round to make myself dizzy just for the fun of it. When you get older you associate the dizzy feeling with illness perhaps?
dizzy != actual sickness which they appear immune too without "gaining legs"
Ah to be young again....
screw that. I was a mess when I was younger. Now if I could go back with the knowledge I have now, I would be a multi-millionaire.
luckily though I got all that nonsense out of my system
Everyone feels like that Marc I expect. Totally agree though, I'm happier in general now I've aged like a fine wine... 😉
I look young for my age but damn if the 4 kids im raising dont make me feel old on the inside.
anyone know of there's a component or node that works like radial force, but only for a designated physicsbody? like a sort of spring constaint, to create an elastic feel between the two bodies.
Well..there ARE spring constraints, not sure that blueprint has them opened up though.
you could play with lightly forced linear drives
I was reading about spring physics the other day. Seemed simple enough to actually do it yourself without physx or anything
its a fairly constant setup
ah, linear drives have a spring value on them
under the constraint settings in blueprint
hmm sec
physics constraints has linear drives too, but haven't been able to get them to behave as i want them to
i wanted to have the ability to set a limit length, but allow some springyness to happen when passing that limit so it acts like an elastic
Has anyone experience how to synchronize the initial position between perception neuron and a vive?
i just used the vive for the rotation tracking stuff and removed the positional tracking and used the perception neuron for that instead
is the tracking of the PN precise enough for the headposition?
Any latency or stuff like that?
yeah more latency but the positional tracking can have a lot more flexibility than the rotational stuff can before it affects you too much
doesn't sound like an ideal setup
should be able to retain HMD overall
for positional
then you have 2 things trying to tell you positional information
for the view
do you know if it is possible to send audio from UE to speakers output while in vr?
whenever i start the vr preview, sound outputs just from oculus
@sullen burrow There are many ways to mirror audio, you can google on that. I use SteamVR and there's an option to mirror there directly. You can probably run SteamVR alongside Oculus, not sure if the audio mirror mode works that way though
Interesting. I will check this out thank you @real needle
I'd just like to throw out that anyone who's using rocket builds from the launcer, Event Driven Loader can now be enabled in 4.15 without compiling from source
It decreases load times significantly, so if you're not doing any level streaming magic I'd advised to turn it on!
I missed it in the patch notes even though I submitted the bug about the option existing in rocket builds even though it didn't work in 4.14
Would appreciate some upvotes on this feature request of mine: https://answers.unrealengine.com/questions/588705/feature-request-allow-3d-widgets-to-have-a-negativ.html
@real needle the event driven loader is enabled by default in 4.15
and it's still buggy, I have stuff that just crashes when it's enabled
@real needle and you can have the widget bend the other way, I'm actually doing that, just give it a two sided material and mirror it
@full junco Well then my recommendation is to not disable it!
I haven't experienced any crashes on level load... either using level streaming or regular "open level"
Mirror it?
yeah mirror it
yeah, that's how I did it
I did it through the render transform of the widget, but maybe it works too with the scale of the widget component
Since you're on source can't you just change the values to negative?
which values?
Arc angle
well when it's possible to easily workaround it without modifying any source then I clearly prefer that
took me a few seconds to setup
fair
way less than changing source and compiling it
double sided isn't optimal in my use case but I can work around it
thanks I was pushing this idea forward but now I have an excuse to implement it 😉
ok
Corporate Vice President of AMD just slipped up. #VR is coming to #Xbox, and it will be in partnership with AMD. #Scorpio #ProjectScorpio
I find the "spash screen" stuff quite boring, is there nothing better for loading screens in VR? like showing a 360 movie or something like that?
a flat plane somewhere in the world is just really boring
so something like giving that default steamvr environment a different texture?
and is there a way to change the background color for that splash screen to something else than black?
you can do level streaming to avoid that right?
Blueshift has a decent load. Looked like Star Wars when they enter warp speed
@pearl tangle I dont trust that to not block when the GT is stalled
Cheap and easy I think
@pearl tangle I haven't been able to seamlessly stream without a drop
And that's on ssd's. On a hdd it definitely "loads"
well I'm also manually stalling the game thread for a few seconds and stuff like that
the actual loading of assets isnt what I'm waiting for
you could write an openvr overlay that kicks in
thats what the splash screen is for I think
yeah I've tried plutoVR, they let you do "avatar chat" overlayed
could make an entire game that way
and it works, I can put UE4 in an infinite loop and be completely unresponsible so that I need to close it with the task manager, but tracking is completely smooth with the splash screen
the splash screen can only show an image or a video, so nothing interactive
you could have a clever quote 😉
@full junco Looks tilt brushy enough now ? 😄
Even better shot
thats better
works pretty well with the materials I linked yesterday
need to find how to save drawings now
thats much better than i expected from your photos yesterday
@wicked oak switched for spline meshes to particles 😃
While I have no idea on how I can record each element, performance isn't a problem now. Need to find how to make infinite lifetime particles too
generate the mesh yourself
particles are very expensive due to their calculations
if you want to go actually serious, you should try to create the mesh yourself
I tried but I get confused quite easily with mesh generation :/
you could essentially create a cylinder spline with a glowy material, or a planar thing.
Its from the spline points
you basically start from the beggining and keep adding triangles per zone. For example every X units
creating a function that ads a quad is not problematic. Basically you go from the start, go to the next spline location at X units, and add a quad (or cylinder) there
repeat till its the whole thing
as in with procedural mesh or spline mesh ?
procedural
okay
blueprints, I don't have much experience with C++ (I come from Unity C# dev)
but the idea is that, you basically start from point 0, and do a big "for" loop of a lengh of X, adding one quad each time
or a cylinder
uhmm
there is a plugin to do procedural meshes in blueprints
but im not sure of that
well there's the procedural mesh component
but shit gets quite complicated when you have to handle vertex/triangles/UVs/etc.
its pretty much the same algorithm than when i did something like that myself
Thanks, I'll have a look at it after lunch !
if you do anything procedural, use the RMC and no the PMC
its basically just a way better PMC
its same easy to use, has basically the same API, is just a lot more efficient
@full junco What does the R stand for in RMC ?
@jaunty shell runtime
https://www.unrealengine.com/marketplace/runtime-mesh-component I guess this one ?
yeah
Right I'll get the source and compile it for my VRWorks branch
its on github
is it possible to use SteamVRs keyboard in the game or do you manually have to implement a keyboard in UMG?
You'd probably have to implement your own, as steamVR's keyboard is part of Big Picture afaik
understandable :/
@full junco so I'm working on the RMC, trying to figure out how to define triangles from the vertex array. Is there a pattern or something ?
?
ie how am I supposed to fill in the triangle array ? Or do I have to create a section for each triangle ?
it looks fine like you did it
so if I get this bit into a for loop with an offset on the vertex position each time it should be good ?
righty
@jaunty shell http://puu.sh/vjYDe/e92d3f7d00.png
so there is one ?
Did anyone else grab the photorealistic character preview and then try it in VR preview?
I didnt
Then find themselves putting their face near the floor to look at this bust in detail 😛
I found myself having horrible performance while viewing it in VR :p
Yeah, that makes sense too.
but it looks cool for sure
oh wow, the steamvr keyboard just works, its great 😄
😮 is it accessible in BP ?
no, had to edit ue4 source
and would it be hard to expose it to bp ?
I dont know yet, I'm just happy that I got the keyboard to show up 😄
its actually more ugly than I expected though
the keyboard or the code ? 😂
the keyboard
looked pretty ok in the steamVR interface 😐
yeah its just a keyboard ¯_(ツ)_/¯
mmm, no call back for "end input" on the keyboard either
@full junco is the word suggestion included ?
guess you can use the overlayevent to handle that
@jaunty shell I havent tested too much yet
only saw that it showed up and that it received input
that was enough to make me happy
:p
@tired tree I havent yet looked at how to get the event back when the player pressed "done", but just getting the text every tick might be a simple solution that works too
shit, thanks for bringing this up, going to implement it
nah, can poll for events
includign focus / key down / exit
VREvent_KeyboardClosed = 1200,
well I never looked at openvr events
VREvent_KeyboardCharInput = 1201,
VREvent_KeyboardDone = 1202, // Sent when DONE button clicked on keyboard
no idea how to get notified by those
what plugin?
well I dont know about that, what is it doing currently?
mmm, adding new tabs to the overlay too, nice
dashboard i meant
thought we already talked about my plugin when you said you don't like gameplay plugins
it also handles a bunch of OpenVR specific things
like render models and polling information from devices
ah now I remember
@tired tree +1 if you add the keyboard to your plugin man.
can't really think of a use for the dashboard tab addition, unless you would want to config settings in SteamVR instead of in game....hmmm
well yeah I dont like plugins that add simple stuff, but plugins are great for exposing things that weren't exposed before. your plugin seems to do way more, so it has gameplay things implemented, and those I wouldnt want to have
maybe you could create a version without all the gameplay stuff
there is a seperate module for the openvR stuff
but it requires some headers from the non OpenVR module
@full junco I disagree. The extra functionality in his plugin is super useful. Overall what it does is excellent. Please don't change it Mordentral!
@blissful bear I didnt say he should change it
Fair enough.
i wish they would update steam so I could just access the functions globally from SteamVR, have to use the same DLL loading hack that epic uses currently to gain access.
well you could split it up a bit more so that the openvr module only needs its own stuff, that would be nice to have for people who dont need all the gameplay stuff
I had it like that, but it involved code duplication and the major use is both together
with OpenVR disabled if not needed
well its not only the openvr stuff thats nice to have, stuff like this is also nice: http://i.imgur.com/opPcWkZ.png
just all stuff that tries to implement mechanics is not nice to have 😄
the main problem is right now I support the vive trackers, since its broken for epic since firmware update
and I use a subclass of my grip controller to handle it
so I kind of need it linked back to the main plugin
didn't epic add that as a default anyway? I did it temp
have more useful nodes than that one
well anything that isnt gameplay mechanics is great 😛
have one that figures out if you are in VR preview or a standard preview, so with VR plugged in can still test with FPS characters for mechanics and then go over to the headset for exact testing
like, ramas victory plugin also doesnt have gameplay mechanics I think
that is prob my favorite
I mean, none of the gameplay mechanics effect anything unless you use the actors/components, but I guess I can see why you wouldn't want extra code
mm this keyboard is pretty juicy, and here I was going to just implement the compartmentlized render models today instead...guess thats on the back burner again
like the controllers
you can either get the models as one peice
or each seperate component
with each seperate component the buttons and pads are all each their own object, so coulddo things like procedural animation
based on axis values
also retuexturing say the face button at will
ah. well such stuff is super useful to have, I would surely find a use for that
just without gameplay mechanics
currently I just extract the entire model, retains the perfect size / scale and supports the custom skins on the workshop
would like to allow for the full seperate component extraction as well is all
ok
can't you create a base plugin that has the regular stuff and a second plugin that builds on that and adds gameplay stuff?
already have two modules in this plugin
or just do it in a way that with a #define NOGAMEPLAY 1 the gameplay stuff just isnt there?
well then two plugins
a plugin with useful functions is something everyone likes to add, it doesnt hurt
anyone off the top of their head know if epic exposed: static EBPHMDWornState GetIsHMDWorn(); to blueprint yet? I would like to get rid of that function
but not everyone wants gameplay stuff for sure
I think that stuff is exposed, yeah
or it isnt, I can't find it
unless they called it differently in BP; it isnt
@jaunty shell yes, the keyboard has the suggestions
Hey, so I think I understand the process to make a procedural ribbon now, but I'm seeing an increasing amount of drawcalls for each face created
damn that's super nice
@jaunty shell are you creating them as 1 mesh?
i saw the "section" thing above
sections are to have different materials
each section is like 1 individual mesh
I am using an instanced material
doesnt matter
you need to make them all as one section
exactly
also should detect snap range and combine lines if possible
you are basically there tho
no, he shouldnt
he will have hand drawn lines
they wont be fully straight
as an option i'm saying
and complicates stuff
you can combine two spline paths
just do what you have already but add it all as 1 section instead of several
brain is already overloaded for the week 😄
ahhh, thats what you mean
lowers calls even more, plus allows for clean intersections
yeah
hmm, so right now I have my BP organized by the following
Check arbitrary size of ribbon (1 = one face) => Update Vertex array to fit one face per ribbon size => Loop for size of ribbon, get each 4 vertex of a face, and create a new face in the RMC
@tired tree I think theres no way to limit how many chars the player can enter in that keyboard, right?
don't see anything
would have to be an event to pass back to it
you could totally display above it
a bit annoying that the player can enter 500 chars
well and you can get the text on tick, thats what I'm doing
do you have some example code for using openvr events?
just Poll for the event using the overlay handle
it keeps a queue of available events
ah, PollNextOverlayEvent?
yea
what should I give it as vr::VROverlayHandle_t?
virtual EVROverlayError ShowKeyboardForOverlay( VROverlayHandle_t ulOverlayHandle
think you need to attach to an overlay
otherwise the polling would be system wide
which would be a problem, as epic eats those
not sure though, can't test in VR currently
thats what I thought too, doesnt want to steal UE4 its events
Guys, I can't find a way to handle the triangles array for more than a single face in RMC 😦
well at least unity version is a global event listen, but its not attaching with an overlay
@tired tree well just getting the whole text on tick works fine
so I think I prefer that for now
ah ok, confirmed, ShowKeyboardForOverlay allows you to access it through overlay polling
nice
so I can proto now, and test in vr later
it allows what?
you make an overlay instance, then ShowKeyboardForOverlay for that instance
you can then poll keyboard events with the overlaypollevent using that overlays handle
I am using the overlay from UE4
the VROverlay* thats in SteamVRHMD.h
I just dont get whats special about that ShowKeyboardForOverlay function, why that instead of the ShowKeyboard one?
I am using ShowKeyboard
showkeyboard throws the keyboards events globally
showkeyboardforoverlay throws its events local to that overlay
so you can poll them with the overlays handle
it prob won't matter to you doing direct source editing
but for me with a plugin I can't access the global event pool
ah, ok
Getting closer !
But plugging the vertices into the triangle array certainly isn't the right thing to do
ergh half of the faces are flipped too
@tired tree any idea what that uint32_t unCharMax argument is doing? I'm not really seeing any impact
@jaunty shell if you want to flip a face, just use the opposite vertex order for the triangle. so 1,2,3 flipped would be 3,2,1
@full junco glorious
I assume that should be max characters allowed
@tired tree that it isnt
valve documentation is as lacking as ever
I have it set to 1 and it doesnt limit anything
now maybe that int is only used if for example bUseMinimalMode is true
or if k_EGamepadTextInputModePassword is selected
or if whatever else
documentation would be nice 😛
well i can test it all tonight
I tend to implement these things during down time at work, and then finish them at home :p
why can't valve just make openvr OPEN
or at least comment / document cleanly
its habit though
no real boundries on employees there and a lot of technical guys that don't like writing docs
@full junco Need to do the UV part now. Should I stretch it on the whole mesh ?
@jaunty shell I think that wouldnt look nice
Isn't that what the particle system is doing though ?
I dont know, I'm not a graphics guy 😄
you mean the world coordinate conversion?
yeah
I just dont want that keyboard to show up directly in front of the head
just something like half a meter lower in Z
it uses the same as the render models I had to mess with that yesterday since they changed coordinate systems a few months ago
// OpenVR y+ Up, +x Right, -z Going away
// UE4 z+ up, +y right, +x forward
vertices.Add(FVector(-vPosition.v[2], vPosition.v[0], vPosition.v[1]));
vPosition is in their world coords
epic also has a tracked space to ue4 space conversion function somewhere in steamvrhmd
forget the function name
I need ue4 space to tracked space
yeah think theirs uses matrix's so can just reverse it
there is a scale difference too
mm no. didn't see that one before
thats just vector change
meant where they get the HMD location
ah maybe I need this: http://puu.sh/vk42G/93f32f74e3.png
thats taking a UE4 FMatrix and giving the HmdMatrix34_t
yah
good that that exists
think you have that reverse though
pretty sure that us SteamMatrix to ue4FMatrix
you would just have to reverse it
oh
nvm
you are right
there is a reversed function of that too
too bad its all private to the class and i'll have to re-define it for myself...like everything else with the VR stuff in engine
well at least the matrix conversion is public
the vectors are still private
oh, hm
the location stuff doesn't really work correctly, but it works good enough
and for some reason only my left controller can "click" on the keyboard, the right can't
i know for their overlay it uses the sending controller to interact
might be that usernum value
ah, so you think its designed to only be interactable by 1 controller?
it is normally
if you test it, you can only interact with their dashboard with whatever controller brought it up
I noticed that, yeah
you are right, its the last argument
that says which controller can interact
@tired tree I think they slightly changed the behavior of that in a SteamVR patch a few months ago
can't remember the old behavior
dunno, i'm on beta and it still acts like that
btw, does oculus have a keyboard too?
@tired tree just checked, what I think it is is now you can click with the other controller's trigger and it will switch to it
ah thats cool
and before it would always stay with whatever pulled it up
they probably changed that for oculus
because the menu button is only on one side
hmm, must be an event for that then in the overlay interface
I'm happy with the keyboard now
i got all of my plugin integration with it "done" in "theory"
can anyone tell me if the pointer indexes for menu interaction on vive controllers need to be unique to a player or across all players?
i.e if i have 2 players with 2 vive controllers, each controller has a widget interaction component, do i need 0,1 on both players or 0,1 on player 1 and 2,3 on player 2 ?
will test in VR at home later :p
@short moat two VR players in the same process or multiplayer
how is it integrated in your plugin? just a function to call or different?
@bold sparrow I would just check locally controlled and not apply it to other players
its part of the component I have to use, you call OpenKeyboard with params, and then it throws events for done/closed/inputchar with the text, can manually close it too.
why "have to use"?
because open vr can't be globally integrated until they update steam
they note it in their source
and they don't give access to the dll entries they set up
so I had to make my own
don't want to be reloading the dll every function call
ok
also a component gives me "tick" to work with for event polling
scaling the keyboard breaks interaction, but I'm fine with that, I don't need to scale it
@sturdy coral thanks - still having issues, just playing around with the pointer indexes and virtual user index to try and work it out
how do you mean check locally controlled?
on each character once they have connected i am setting the Virtual User Index for that chars controllers from the steam player id
and then i am setting the pointer indexes to 0,1
from an event which runs on the owning client
the problem i'm having is that only one of the players can then interact with the menus
the menus are client side
is there an easier way of testing the steam networking stuff than packaging every time?
test lan
you don't need steam for testing this
this is all handled in engine
in fact, attach the interactors to an fps characterm and run two editor instances
PIE instances ,that is
@tired tree link to that "vr/nonvr" check you had?
i have use for it, i currently do it manually
just to copypaste the function itself
bool UVRExpansionFunctionLibrary::IsInVREditorPreviewOrGame()
{
#if WITH_EDITOR
if (GIsEditor)
{
UEditorEngine* EdEngine = Cast<UEditorEngine>(GEngine);
return EdEngine->bUseVRPreviewForPlayWorld;
}
#endif
// Is not an editor build, default to true here
return true;
}
if in editor this detects if using vrpreview or another mode
thanks @tired tree
metadan, you shouldn't use SteamIDs as virtual index btw, use netplayerID
as in playercontroller -> getUnique net id?
one thing. What if its not an editor play?
i cant really do PIE constantly
most of the time i launch the game directly with the right click project-> launch game
if not in editor then it defaults to true for VR
since tracking will always be enabled
metadan, playerstate->playerID
should be the index you want
alright, ill play with that stuff
ok great thanks
@short moat You can right click the .uproject and "Launch game"
Virtual User Index needs to be unique across all clients but not the pointer indexes
I had a huge problem with the widget interaction components. I have to spawn them on client side only after begin play, otherwise whenever a new player joins they stop receiving "release pointer" events
I finally got round that issue - it was related to https://answers.unrealengine.com/questions/500895/413-bug-widget-interaction-component-stops-working.html for me
or at least the delay fix seemed to make it work
we also had to set the pointer indexes to be unique
Pointer indexes doesn't have to be unique across clients, but the virtual does. I use a timer to fake tick and check for valid playerstate, once it's valid locally controlled fires properly
Am I the only one getting SteamVR to freeze a frame inside the HMD and crash the render thread since the last update?
It's happening frequently now...
And I'm pretty sure it's not unreal because the frame stays rendered in the HMD even after I've closed editor/packaged game
Hmmm firefox also stops working when it occurs, so possibly a gpu issue
Time to update drivers
I have this BP set up to manually adjust the scale of an object in-game
it works but every time I start to scale it
it reverts to its original size, and scales from there
why?
The next scale is meant to be relative to the changed scale, not to the original. I think you need to save the final scale when the action is done to use it as a multiplier for the next scaling action.
hmm, that makes sense. I'm still fairly new to unreal, can you tell me how I'd save the scale and then how I would go about referencing that saved scale in this BP I've shown you? Thank you ❤
If you log out the values you are getting now, I presume it should show that this is the case.
This is maybe more basic ue-blueprint channel stuff, but let's skim it fast. Make a float variable and be sure to set it to 1.0 default value, set it when the scaling ends. Feed that value into the 1,1,1 vector
I think it should be simple as that
okay, hold on trying to figure that out now
what kind of float value exactly?
@dusk vigil
-
-
- etc
-
I presume you are making a uniform scale, so what you are inputting now into New Scale Vector is something like 1.25, 1.25, 1.25 ? So just one of those will suffice
@dusk vigil from what I understand, the scale we log will be inserted into the 1x1x1 vector, making it the new default size, correct? I'm confused mainly about how to go about logging this. When you say float variable, I type in float but get many options and am unsure as to which I would use in this case (by name)
Let's go to ue.blueprint channel ok?
okay
finally got a working proof of concept cooperative VR dungeon crawler
with explosive arrows, a 2 handed rifle, and fairly OK melee combat by having 1 day of dev time, with enemies that have simple aggro systems
https://www.youtube.com/watch?v=KNuDQ69_wKw badly made video of the thing. Please excuse the really bad recording, it was improvised.
and a couple quite important bugs like the IK being broken
im using it as a testbench for the melee combat so i can improve DWVR one
@tired tree @wicked oak @short moat I modify the engine on mine to tell you in the game instance whether it is VR preview (so that when testing multiplayer the non-vr preview windows can distinguish)
Does anyone know how to make beams not look so flat in VR? I have a spell that has to shoot out a ray and in VR it is immediately noticeable that its just a flat line.
@sturdy coral are you saying you can test VR and Non VR multiplayer simultaniously ?
without leaving the engine
yeah
dedicated servers are still broken, I think there is a pull request on github for that
Modentral has a FPS pawn that basically does the same thing
Does updating a mesh to stretch between a two point spline take lots of resources?
@vocal maple I don't think so, pretty sure it is done by a fairly simple geometry shader
might add some cost if it updates the velocity buffer too
Would I need to modify the engine to do it?
@sturdy coral Can you please give more details about the geometry shader approach?
@vocal maple I assumed that's what spline mesh component does, since there is a shader permutation for spline meshes
@vocal maple I'm not 100% sure on that though
so my project just got accepted at the USC vr showcase
we'll see how i do, might be too early to really compete but ill give it a shot
whats USC?
university of southern california
whats their vr showcase, like to show students or something?
no its students showing off their research projects / vr games
supposed to have a bunch of industry folk there
Has anyone tried the "super frustum culling" that Epic mentioned at GDC?
I can't find any more info on it than the one piece of slide I have a picture of
@real needle I don't know about it, what is it doing?
I want to use a button to trigger an object in my game to change.
For example:
If [button] is pressed,
Object A changes to Object B.
If pressed again, Object B changes to Object C.
If pressed again, Object C reverts back to Object A.
Note that the "object" is part of the player pawn itself (in this case the VR motion controllers) and I want them to change every time a certain button is pressed.
Can anyone break this down for a noobie?
@uneven moon https://gyazo.com/bd00478ef8b01a8a28e6817a8e07816f
Use array of objects instead of strings
Oh and default the "temp-int" to 1
is the widget interaction component not working correctly with widget components that are using the cylinder geometry mode?
cylinder? you can wrap a widget around a cylinder?
thats cool
you do that with depth?
How can I use gestures on the thumb pad?
kinda like how Streetfighter and stuff works
Vive thumbpad
Maybe not native.
I was thinking of just having a timer reading the axis values or something after a button input
yeah
And if those floats were close enough to a certain set of values it would send out the right event
keep a history of it so you can figure out if a gesture has been made
Yeahhh, it seems like it'll just take some testing. I was wondering if anyone has made any progress on it or something
There's got to be a better way then just looking at the floats
well i assume there are well studied gesture tracking algos
i havent studied any of them though
i think thats part of computer vision
Mfw
eye of the beholder
yeah no stalks
This guy!
Yeah we're making a game based around classic RPG influences, so I have just a ton of those ready for referencing
you got to include the sons of kyuss
Behold!
Yeah from the Worm Lich thing
Kyuss
Yes xD I guess specifically Kyuss
great band too
We just added this bad boy the other day
A mimic yeah
yeah mimic
bust out some oughty
and some bugbear
then look towards dragon mountain for some kobold lore
I think we were gonna do Goblins instead of Bugbears, people are more familiar with them.
Kobolds would be funny lol.
Those are some ones we're looking at making next
@tired tree dit it all work?
he did it with a PSVR. Maniac.
owlbear
damn
the absolute madman
with a psvr
at least with a oculus/vive (specially vive) you can play all steam games and browse internet and stuff
anyone know why WidgetInteraction does only seem to work for one hand?
the hover events only fire for my right hand
i've added it to the std vrtemplate BP_MotionController, parented under the MotionController
Even tried with a unique Virtual User Index for each hand
still only detects hover for Right hand
i think you just cant have several
they start getting bugged
i just went and added only to the right hand by default
ah doh i see
plz help i'm noob, what command in blueprint do i need to get motion controller facing direction? i need a vector value
I want to use the grip button to cycle through 'transform' modes and it works but I have no UI indicator. I want to spawn a shape above the hand depending on which mode I'm on. how would I do this?
Ecklip get forward vector
@uneven moon add a widget or actor to the controller, for example
Did I miss anything interesting?
Apparently next week Oculus will present new hardware at F8
depending on which mode I'm on
I need to spawn an indicator, a UI essentially
to let the player know
this UI will be attached to the player's hand
this BP prepares me for that
but I'm not sure how to do this, I've tried a few different things
the two blue nodes reference the left controller (left hand) and the right.
the green nodes indicate which mode its being set to.
any ideas?
@uneven moon Standalone HMD, VR glove
not sure what you mean
he means oculus will show a standalone hmd or a VR glove
What do you mean? 😄
uhm... why didn't the allow us to create a blueprint inheriting from StaticMeshComponent
Ohh, I see, hmm
hehe thought it was pretty obvious from the sad smilie 😛
perhaps i need to create an ActorComponent hmm
It probably doesn't get Blueprintable until ISMC
You might want to just create your own C++ version and inherit from it
Seems odd why you'd have to do that, but ¯_(ツ)_/¯
excactly
i suppose there's a reason, but from my naive bp point of view, i don't understand
Yeah, not quite sure to be honest
My beam particle system with a noise module gets flatter and flatter as I rotate towards a certain axis and then when I am facing that axis it is completely flat. How can I fix this?
It has something to do with the axises of the particle system being different from the world axises. I can't make it in local space because it beams don't support it 😦
@full junco sorry for the late, but yeah it all worked fine
didn't get to test last night
events and all
@eternal inlet I have two widget interactions working fine. Problems do start to happen when you start sending input to your widget. (If I grab a scrollbar with my right interaction component, moving the left inter component scrolls too). I solved that problem by setting the Right interaction component's distance to 0 when the Left one is holding down input. And vice versa. Maybe it can help you in some way
i'll have a look later, thx
problem was that it didn't detect any hover events at all
using the standard vr template
and ue4.15
Wow. I tried it now and I have the exact same issue. I just never noticed because hovers don't affect my game functionality.
oki, so it's not just me going crazy
btw, sorry can't answer your particle question... im no good with particles
doesn't throw hover? or doesn't even allow for the highlight?
strange
Ya'll use Perforce?
Bitbucket/SourceTree here
git for me as well
I just copy the project whenever I have major changes. Its stupid but it works for me. Do source control systems allow something like full snapshots that you can revert to?
hah yes
that's mostly what i use it for
definitely get into source control
source control keeps track of every single change to every single file and you can go backwards and forwards and make alternate versions whenever you want
Are dependencies and loading in and out well managed in UE?
personally i shut down the editor if i have to revert or get stuff from another comit
actually i do that usally everytime i comit, checkout or stash
yeah i close out if i am pulling in changes or if you are committing something big since unreal is rather stupid with its actual saving sometimes
aye, that's what i've seen too...
The file management of Unreal is really weird. Sometimes you delete a file and it still exists on disk or sometimes you delete a file but you can still see it in the editor. Im terrified in those situations when I have to go into explorer and manually delete undeletable folders
i got into a habit of always hitting fix redirectories or whatever it's called when i rename or delete something
that seem to fix most of it
ocasio´nally it leaves a dead file though
thats because its a redirect yeah
I made my project follow a style guide recently and so I had to move all the files between folders. Everything worked with fix up redirectors, however some blueprint variables referencing actors broke and some materials forgot what textures they are supposed to be using
did you delete the folders?
Yes, I deleted everything unneeded
yeah thats why. if you went through and removed the folders from the actual file explorer then you also deleted the redirects
it just creates a symlink in the old folders to redirect to the new stuff
So what is the right way to handle that?
don't delete the folders from the file explorer
How can I get the coordinates of the floor level of HTC Vive in the game world?
that should be exactly where you set your initial camera to be gets registered as the floor
But my camera is attached to the hmd
Are you having the problem where the char is floating too high?
the camera should be yeah, but your whole system itself should be attached to the floor and the camera offsets itself when they put it on their head
that way you aren't trying to screw around with offsets based on different peoples height and stuff like we used to need to do with the rift