Steam VR Template

Way are two pawns created when creating a game? I am trying to set the camera settings after spawn but can’t because the after initial setting the duplicate takes control.

**LogBlueprintUserMessages: [Vive_Pawn_1203] Hello
LogBlueprintUserMessages: [Vive_Pawn_COMPLETE_C_0] Hello
LogBlueprintUserMessages: [Vive_Pawn_1203] X=1752.000 Y=1530.000 Z=104.000
LogBlueprintUserMessages: [Vive_Pawn_COMPLETE_C_0] X=-883.000 Y=2162.000 Z=7.000

LogBlueprintUserMessages: [Vive_Pawn_1203] Hello**

Vive_Pawn_COMPLETE_C_0 stops being referenced and only Vive_Pawn_1203 changes.

Does that make sense?

One is default pawn and the other must be being possessed. Put the camera changes in the pawns OnPossessed event.

Nice, the pawn possession was the issue. I probably didn’t do it the way you would have but I am getting the result I want. Thanks!

Any chance someone can upload a quick video on showing exactly how to transfer the template to an existing project? I keep getting multiple errors and I’m not sure what the culprit is. I’m sure it’s simple and visually seeing what I’m not doing would help tremendously! Thanks!

Another question… does anyone have a link to the Oculus Forward Renderer? The links are broken. Oculus VR Forward Rendering - Feedback & Requests - Epic Developer Community Forums

unfortunately we still couldn‘t work on old version because of the “hands Animation” which the gripcontrollers used, we couldn‘t migrate the last version “.uasset” to old version,
maybe you can put the .fbx file into the packet and make a script to import them

I didn’t have anything to do with the hands.

@Diem I remember that my first iterations were on a character and then I changed it for a pawn for reasons I forgot since… Give me some time it will come back to me since basically it’s the locomotion/controls the difference between the 2. If I don’t find any good reasons why not.

@ Thanks I’ll follow your progress I’ll try somethings too since for trying 2 computers/vive make the system crash.

@afrench I’ll have more time next week should do a tutorial for at least migrating pawn into another project.

@robslove I put 2 kind of fbx files on the drive: RIGHT and LEFT HAND GRIP ANIM (just added): these contains rough MOCAP captures of the hands. The thing is don’t use the animation directly, but just do a 1D blendspace between ref pose and last pose. There is also Right and left hand grip, that is the skeletal mesh without animations to do your own poses. Feel I should do also a tutorial on doing your own poses in Maya it’s super simple, that way we could share poses!
Drive is at Microsoft OneDrive - Access files anywhere. Create docs with free Office Online.

@Proteus Thanks a lot, looking forward to seeing it. :smiley:

@Proteus

I noticed that there is an issue with the blink time in “vive pawn Complete” with an other value than 0 you can’t tp anymore maybe an issue with the set timer by function name. I tried different things but nothing worked like I expected.

EDIT: After some tests I noticed the bug come from the move event. When I set the blink time to 0, in the move event the part where “teleport actor” is link to “is valid ?” return true, but when i set a blink time to another value this part return false.

EDIT2: I made a fix that seems to work :


Here I added a delay for the blink time after the “start camera fade” then I attached the completed to the second pictures

Hey got a feature request for this template would it be possible to get a “Run in place” Style locomotion?

Here are some articles / Videos on this -

https://.com/watch?v=HO_JGtub5T8

Well, I downloaded the code, but I’m having a problem getting it to run. I’m on 4.12.4. I tried both the git version and the OneDrive version, template and “copy to project folder”.

The last part of the error log is as follows:


LogStats:Warning: MetaData mismatch. Did you assign a stat to two groups? New //STATGROUP_Threads//FLauncherTask///Thread_2c1c_0///####STATCAT_Advanced#### old //STATGROUP_Threads//FLauncherTask///Thread_1778_0///####STATCAT_Advanced####
LogPlayLevel: CommandUtils.Run: Run: D:\Unreal\Epic Games\4.12\Engine\Binaries\DotNET\UnrealBuildTool.exe UE4Game Win64 Development -remoteini="D:\Unreal\SteamVR_3" -noxge -generatemanifest -NoHotReloadFromIDE
LogPlayLevel: UnrealBuildTool: ERROR: No modules found to build. All requested binaries were already part of the installed engine data.
LogPlayLevel: CommandUtils.Run: Run: Took 2.0661227s to run UnrealBuildTool.exe, ExitCode=5
LogPlayLevel: Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.AutomationException: Command failed (Result:5): D:\Unreal\Epic Games\4.12\Engine\Binaries\DotNET\UnrealBuildTool.exe UE4Game Win64 Development -remoteini="D:\Unreal\SteamVR_3" -noxge -generatemanifest -NoHotReloadFromIDE. See logfile for details: 'UnrealBuildTool-20
16.07.02-17.20.55.txt'
LogPlayLevel: at AutomationTool.CommandUtils.RunAndLog(String App, String CommandLine, String Logfile, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary`2 EnvVars)
LogPlayLevel: at AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, String CommandLine, String LogName, Dictionary`2 EnvVars)
LogPlayLevel: at AutomationTool.UE4Build.BuildWithUBT(String TargetName, UnrealTargetPlatform TargetPlatform, String Config, FileReference UprojectPath, Boolean ForceMonolithic, Boolean ForceNonUnity, Boolean ForceDebugInfo, Boolean ForceFlushMac, Boolean DisableXGE, String InAddArgs, Boolean ForceUnity, Dictionary`2 EnvVars)
LogPlayLevel: at AutomationTool.UE4Build.Build(BuildAgenda Agenda, Nullable`1 InDeleteBuildProducts, Boolean InUpdateVersionFiles, Boolean InForceNoXGE, Boolean InUseParallelExecutor, Boolean InForceNonUnity, Boolean InForceUnity, Boolean InShowProgress, Dictionary`2 PlatformEnvVars, Nullable`1 InChangelistNumberOverride, Dictionary`2 InTargetToManifest)
LogPlayLevel: at Project.Build(BuildCommand Command, ProjectParams Params, Int32 WorkingCL, ProjectBuildTargets TargetMask)
LogPlayLevel: at BuildCookRun.DoBuildCookRun(ProjectParams Params)
LogPlayLevel: at AutomationTool.BuildCommand.Execute()
LogPlayLevel: at AutomationTool.Automation.Execute(List`1 CommandsToExecute, CaselessDictionary`1 Commands)
LogPlayLevel: at AutomationTool.Automation.Process(String] CommandLine)
LogPlayLevel: at AutomationTool.Program.MainProc(Object Param)
LogPlayLevel: at AutomationTool.InternalUtils.RunSingleInstance(Func`2 Main, Object Param)
LogPlayLevel: at AutomationTool.Program.Main()
LogPlayLevel: Program.Main: AutomationTool exiting with ExitCode=5 (5)
LogPlayLevel: Domain_ProcessExit
LogPlayLevel: copying UAT log files...
LogPlayLevel: Completed Launch On Stage: Build Task, Time: 1.505088
LogPlayLevel: BUILD FAILED
PackagingResults:Error: Error Launch failed! Unknown Error


I also sometimes get http errors in the build log, but drove to the local Starbucks and got past that, so that’s not the problem.

Any ideas?

[INDENT]== John ==[/INDENT]

P.S. Initially posted to the old thread, deleted and reposted here.

Its technically very easy to implement something like that, I have it on my TODO list of things to play with this week. I had an alternative concept for implementing it however. If it bears fruit beyond the video i’ll post information.

Since vive related tutorials aren’t as readily available as normal ue4 tutorials and I’m still a noob, just wanted to stop by and say love the template it has saved me tons of time when making my vive demo. I was wondering how I would go about making a drawer that is opened/closed by pulling it/pushing it with the motion controller?

Ok, i finally got my friend online to test vive x vive with the grip plugin, everything seems pretty good so far. The plugin currently handles everything, so its just calling Grip / Drop on the servers side and then it handles replicating the correct states and functions to the clients.

H_zRsc-N_2k

@ Diem thanks I’ll post a fix tomorrow
@ That’s fantastik would you mind sharing your settings for replication? Because for now I’ve had only bad results trying to replicate a basic pawn…

Also: I’ve been able to do some AR with the vive camera and ARtool plugin. However the camera feed is stuttering a lot. Someone tried it?

Finally: I’ve spent some time in the VR Editor, lot of fresh ideas to improve the template…

Nice work! I’ve been struggling with spawning two Vive pawns for a while. Would like to see how its properly.

Wow, very cool.

Would love to see your IK solution for the arms/head setup, you are doing great things with it.

here is my shoddy attempt at it
https://blueprintue.com/blueprint/9vok1gyt/

basically I’m polling for z velocity of the headset. When it detects a change in direction (aka a step) add a movement input to the player pawn like how proteus vehicle works. Like in ripmotion you have to place the controller near your side and bmovetrackpad is set when you hit the grip button.

What exactly are you having issues with? The HMD has to be manually replicated and the controllers I had to tweak the plugin to get working perfectly, the built in engine motion controllers need modifications. I actually intend to make a component that sits below the HMD (or at it) to whatever defined offset someone wants so that things like chest holsters or bodies would be easier for people, have them auto replicate position based on the HMD.

In the game mode I ask each player OnLogin if they have an active HMD, if yes I spawn a vive pawn for them and have them possess it, if not I spawn a FPS pawn for them and have them possess it. I am using the plugin controllers though as the defaults don’t replicate without modification or forcing them on tick which is pretty nasty.

AnimBP with FABRIK nodes controlling different bone chains to points that I designate that are offset from the controller position. It is actually pretty simple and I haven’t touched it since the first couple of hours of using the vive with UE4. Could be expanded to be much better.