virtualcinema's People
Forkers
nail-lianvirtualcinema's Issues
Improve performance of video content in BLUI
We're getting a terrible 16FPS on my surface pro 3. Naturally, we can't support such low-end hardware, but we need to improve performance if this application is going to work on semi-decent systems.
Lobby Level: Game Join/Host Options Screen
It doesn't work all that well to have the screen showing on the initial level. 3D widget reliability + BLUI plugins have issues with that. Better to have a lobby screen and to not start with BLUI.
We also need a screen to host, join, or quit the game.
Add helpful image to present controls to user.
Right now, the controls aren't clear. It'd help to have a menu image to clearly indicate this.
Register mouse down and mouse up events separately to enable things like drawing collaboration.
Right now, you can do cool things like go to the whiteboard app (http://awwapp.com) and do some collaborative drawing. This is because we only register click events. We should register click and mousedown events to make this possible.
Ability to see where the other person is looking
We should be able to see where the other robot is looking. This is a key interactivity component, but will also help with the screen highlighting collisions code ( #13 )
Disable player character movement, and enable looking with mouse in non-VR mode.
Highlight the Bevel to indicate that the character is looking at it.
We need to detect where the player is looking. Otherwise, we won't be able to interpret the proper screen coordinates in VR space. A good milestone for this is to set up a character actor, use that actor, line trace, detect collision, and highlight the bevel material behind the screen if someone is looking at it.
Later on, we can do fancier things like actually draw the cursor/reticle ( #6 )
Ability to scroll using mouse wheel or gamepad.
Network problem strikes again! When client joins the game, they start in a weird location and cannot move.
Fortunately, turning on VR mode seems to solve this. But this should be a problem we fix.
"Main Menu" of video-based websites.
Environment blocking: Throw in the basic environment assets just to set the stage.
Does not open using 4.7.6
Unable to migrate robot or emotion animations to program. Will not open using Unreal Engine edition 4.7.6
Support for Voice chat via Steam!
Research with Voice
Support for Steam / Drop LAN support
The primary purpose of our project is for two remote people to hang out around a "virtual couch," enabling them to watch something or browse the web when they are far apart. For this reason, it makes absolutely no sense to waste time and energy supporting LAN play.
In addition, after spending hours and hours of work, it just doesn't seem possible to support switching from LAN/Steam with an in-game setting using blueprint matchmaking. If you have the steam binaries, you will always use steam, regardless of whether UseLan is checked. The only difference is, when it is checked, things just don't work.
Goal:
- Support for Steam
- Dropping LAN support for good (making things MUCH easier for us).
Assignment #6
- Proof-of-concept UI screen capable of browsing the web and playing audio
- Assignment requirements: Networking + Replicated actors, etc...
Sessions aren't closed properly / errors sometimes occur on exit
We need to close the program gracefully and clean some things up. Otherwise, we run into errors.
Specifically, we need to:
- Close the session
- Turn off the UI display
Add gamepad button to quit game.
Ability to get the URL of the currently viewed page.
This one sounds simple, but I actually need to modify BLUI to tap into this Chromium functionality. This is necessary to make #30 possible.
Character doesn't look up and down using keyboard
Screens that are capable of browsing the web and playing audio.
Goal: Non-synchronized implementation where two players can join in a network game and both look at a screen capable of browsing the web and playing audio.
Scope: The screen does not yet need to support video and doesn't need to support synchronized views (each person could technically be looking at different content).
Create a Robot Body Mesh
It's good practice to build a separate body and head for our avatars (See #8). Since the head is supposed to follow the Rift orientation, we need to detach it from the robot body somewhat.
For this issue, we should build a simple body for the robot. In fact, it can be little more than a sphere with a material that accepts parameters (where one player is another color than the other)
Ability to see a "cursor" and click the screen based on where you're looking at
We also need to know where the "cursor" is. Scope of this issue is:
- Draw something akin to a cursor on the screen.
- Properly map the cursor-on-screen location to appropriate browser coordinates.
- Interact with the screen with an input event.
Ability to reset HMD Rotation and Position
It's a bit annoying when you have an odd starting HMD rotation/position. We need a button to reset the HMD.
Synchronize position of the mouse cursor so that the browser is reactive for the person in control of the screen.
Double vision in VR when camera is looking at robot body.
If you look straight down, at the Robot's body, you get a weird double vision effect. Not sure what is causing this, but it needs to be fixed.
Ability to sync the current URL from the controlled screen.
Sometimes it's possible for the two screens to become out-of-sync. For example, if there are random/personalized elements shown on this page. For this reason, we should enable some sort of manual sync process (e.g., get URL from server and reload). If it works out OK, we could also try some automatic detection and sync mechanism.
Disable debug mode by default and make it so that a single command brings it up. Add "performance mode" to disable mirror and lower resolution.
Add ability to toggle cursor with left face button, main menu with top, reset HMD with right.
Unable to deploy due to unknown error related to cooking
I keep getting the following error, no matter what I do:
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: begin: stack for UAT
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: KERNELBASE.dll!UnknownFunction (0x00007fff05b28b9c) + 0 bytes [UnknownFile:0]
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: UE4Editor-Core.dll!FOutputDeviceWindowsError::Serialize() (0x00007ffef8fc8074) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:95]
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: UE4Editor-Core.dll!FOutputDevice::Logf__VA() (0x00007ffef8e47999) + 185 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\misc\outputdevice.cpp:139]
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: UE4Editor-CoreUObject.dll!UPackage::SavePackage() (0x00007ffeeb47cd2e) + 40 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\savepackage.cpp:2465]
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: UE4Editor-UnrealEd.dll!UEditorEngine::SavePackage() (0x00007ffedb338411) + 115 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\editor.cpp:4416]
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: UE4Editor-UnrealEd.dll!UCookCommandlet::SaveCookedPackage() (0x00007ffedb88d7cf) + 110 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\commandlets\cookcommandlet.cpp:455]
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: UE4Editor-UnrealEd.dll!UCookCommandlet::Cook() (0x00007ffedb83fde9) + 62 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\commandlets\cookcommandlet.cpp:1344]
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: UE4Editor-UnrealEd.dll!UCookCommandlet::Main() (0x00007ffedb8707c8) + 5 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\commandlets\cookcommandlet.cpp:578]
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: UE4Editor-Cmd.exe!FEngineLoop::PreInit() (0x00007ff6d208ba3a) + 96 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\launchengineloop.cpp:1536]
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: UE4Editor-Cmd.exe!GuardedMain() (0x00007ff6d20821fb) + 15 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\launch.cpp:110]
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: UE4Editor-Cmd.exe!GuardedMainWrapper() (0x00007ff6d20826ea) + 5 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: UE4Editor-Cmd.exe!WinMain() (0x00007ff6d2092219) + 17 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\windows\launchwindows.cpp:202]
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:160][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: UE4Editor-Cmd.exe!__tmainCRTStartup() (0x00007ff6d2092d05) + 21 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]
[2015.05.30-20.13.47:161][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:161][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: KERNEL32.DLL!UnknownFunction (0x00007fff06a013d2) + 0 bytes [UnknownFile:0]
[2015.05.30-20.13.47:161][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:161][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: ntdll.dll!UnknownFunction (0x00007fff085d5444) + 0 bytes [UnknownFile:0]
[2015.05.30-20.13.47:161][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:161][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: ntdll.dll!UnknownFunction (0x00007fff085d5444) + 0 bytes [UnknownFile:0]
[2015.05.30-20.13.47:161][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:161][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd:
[2015.05.30-20.13.47:161][785]MainFrameActions: Cooking (Windows): UE4Editor-Cmd: end: stack for UAT
Synchronized access to the same media screen content
After we enable interaction within the HMD by drawing a mouse cursor on the screen (ideally where the player is looking -- see #6), we need to synchronize the browser commands (e.g., mouse clicks and location). This way, we ensure that both players are looking at the same thing.
We also need to deal with collisions. One simple approach is to only allow one command every 5 seconds. Another approach is for one player to be able to "claim" the screen somehow. An approach like this is within the scope of this issue.
Scope:
- Synchronize the decisions (e.g., mouse click X at location Y).
Out of Scope:
- Handling screen control/collisions ( #13 )
Create a Robot Head with Dynamic Material for Mouth
Per #4 , we want to create a robot head separate from the body. We also want the head to indicate when it is talking to prevent people from getting creeped out too much.
The idea is simple:
- Create a robot head static mesh.
- Assign different materials for different faces in the mesh.
- One material should be dynamic and accepting a parameter (ideally a float between 0 and 1). When 0, the material is one color/texture, and when 1, the material is "fully talking" (e.g., red).
This way, we provide a separate head for the VR avatar while also a mechanism that we can later use to indicate when someone is talking.
Ability to enable LAN mode (for debugging purposes)
LAN mode is still unsupported, but it'd be good if we had a way to turn it on for debugging purposes. The idea is to toggle LAN mode by pressing CTRL-L. If the game was started without the steam library (you may have to manually remove Steamworks), then LAN mode should work.
Collision prevention / Handling of control of the screen
When there are two players, only one should be able to control the screen. This issue is to somehow manage that.
Ability to replicate keyboard input.
Fix warnings that occur in a networked game.
There are a few warnings that have been occurring. We should fix those so it's easier to trace down actual problems. They're primarily centered around misunderstood configs:
[2015.06.03-05.24.48:308][ 0]LogConsoleResponse:Warning: Skipping Unknown console variable: 'TranslucentSortAxis = (X=0.000000,Y=-1.000000,Z=0.000000)'
[2015.06.03-05.24.48:308][ 0]LogConsoleResponse:Warning: Found in ini file '../../../SocialCinema/Saved/Config/WindowsNoEditor/Engine.ini', in section '[/Script/Engine.RendererSettings]'
[2015.06.03-05.24.48:308][ 0]LogConsoleResponse:Warning: Skipping Unknown console variable: 'UIScaleRule = ShortestSide'
[2015.06.03-05.24.48:308][ 0]LogConsoleResponse:Warning: Found in ini file '../../../SocialCinema/Saved/Config/WindowsNoEditor/Engine.ini', in section '[/Script/Engine.RendererSettings]'
[2015.06.03-05.24.48:308][ 0]LogConsoleResponse:Warning: Skipping Unknown console variable: 'UIScaleCurve = (EditorCurveData=(Keys=),ExternalCurve=None)'
[2015.06.03-05.24.48:308][ 0]LogConsoleResponse:Warning: Found in ini file '../../../SocialCinema/Saved/Config/WindowsNoEditor/Engine.ini', in section '[/Script/Engine.RendererSettings]'
"
Add bot head (placeholder) with reticle so you can look-to-highlight
Unable to build VirtualCinema on new machine (Missing Application.ico)
Since /Build/Windows was ignored by git, this file is missing on new environments.
Ability to go back / use a back button.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.