Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

[RELEASED] VR Panorama - render 360 stereo videos

Discussion in 'Assets and Asset Store' started by olix4242, Jun 25, 2015.

?

What would you like to see added in a future version of VR Panorama?

Poll closed Mar 23, 2016.
  1. Audio Capture Support

    40.4%
  2. Side By Side Stereo rendering

    28.8%
  3. Automatic 360 panorama metatagging for Youtube H.264 Video Export

    30.8%
  1. TorbenDK

    TorbenDK

    Joined:
    Jun 28, 2016
    Posts:
    24
    As requested, here is an example of the rendered single-frame capture using Animation Capture+Video Capture. Captured by hitting "play", then "space".

    Please observe that while nice to have, it's no biggie for me atm. but all the camera effects really are :)
     

    Attached Files:

  2. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    Was this made with last version of VR panorama on assetstore? This was a bug from vršio before, but it was coerected. Strange.
     
  3. TorbenDK

    TorbenDK

    Joined:
    Jun 28, 2016
    Posts:
    24
    The VRCapture.cs that I have in my project is dated 2016.09.07 (ymd).

    Also, not sure if by design, or related to my issues: When I render a regular "2D" video capture, there is no visual display of the scene on screen. It's just black with a text saying something like "No camera rendering on display 1". (probably because of the render to texture?).

    Still it would be nice to see the scene output, just like the 360 renders.
     
    Last edited: Sep 13, 2016
  4. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    It will be done in next version. It's on to do list, but probably as an option (as it would slow down rendering a quite bit). 360 uses another approach, so it's almost free. But for Standard video capture, it could create performace issues.
     
  5. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    That should be correct. But I can't replicate that error on my system. Really strange.
     
  6. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    Ah ok, I think I've got it. You are probably using negative Environment distance or IPD value. I will probably have to make that it can't go to negative values as this breaks rendering.
     
  7. TorbenDK

    TorbenDK

    Joined:
    Jun 28, 2016
    Posts:
    24
    Do keep in mind that the image above was rendered even though VR Pro was "told" to render a single screendump. Thus I was expecting a normal framecapture. I did not specifically set anything regarding IPD, but I'll look into it when I get the chance. Might not be today though.

    Thanks for your swift responses, that is really something! :)
     
    Last edited: Sep 14, 2016
  8. TorbenDK

    TorbenDK

    Joined:
    Jun 28, 2016
    Posts:
    24
    Hi again.

    About that "Amplify Motion" screen space effect, and possibly other effects.
    It seems that if I keep the scene really simple and fast rendering, VR Capture Pro is in fact able to capture the effects. But when the scene is/gets really heavy to render (low fps), VR Capture PRO doesn't get the effect?

    When VR Capture PRO is disabled, the effect shows nicely even at very very low fps.

    There are options in the "Amplify Motion" trial version to boost the effect. The boost - although rediculously overdone "in game", provided a fair amount when "rendered" using VR Capture. Sadly the effect is unpredictable as it really depends on the speed of the rendered frame. (Some frames have too much, others too little)

    Speculation ahead: Makes me wonder if in fact VR Capture PRO should pause some internal Unity timer? - but doesn't. As it looks like that at least the "Amplify Motion" effect is in a way relying on the duration between frames to perform.
     
    Last edited: Sep 14, 2016
  9. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    Not sure about that. From my experience, Amplify motion renders quite well. BUt it could also depends on settings that you are using. I'm using SoftEdge Sm3 and quality steps to large value like 16-30. And it works quite well. I'm not sure if they are doing also some internal interframe blending, and in that case, rendering could change a visual appereance.
     
  10. paxilon

    paxilon

    Joined:
    Aug 9, 2016
    Posts:
    25
    Last edited: Sep 16, 2016
  11. julienrobert

    julienrobert

    Joined:
    Sep 15, 2014
    Posts:
    65
    Hi
    I'd like to add some image effects (like motion blur and bloom) and to be able to change the settings dynamically. Is it complicated? How would I do it?
     
  12. rmuk

    rmuk

    Joined:
    Feb 18, 2015
    Posts:
    65
    I'm having an issue where some of the objects in my scene are not showing up in the panorama render. If i run the application normally, they show just fine, but when I enable the pano cam, it renders out just certain sets of objects. I'm not using any layers besides the default one, and all of those objects are using the standard shader. Has anyone had something like this happen to them?

    EDIT: Additionally, is there support for using different cameras for left/right eye? I'm doing some tricks in my application that require different skyboxes for each eye.

    EDIT2: Looks like switching platforms from android to desktop solved the missing object issue. Still curious about the dual camera question though.
     
    Last edited: Sep 20, 2016
  13. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    You eould have to do it by scripting. If you are familiar with scripting, you should make a script that assigns global variables for your image effects (public static). Keep in mind that VR PAnorama duplicates your camera with all image effects and scripts assigned and that all animated variables 'listen' to animations asigned on only one camera. So, actually, it's not too complicated.
     
  14. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    Not sure, but you can actually switch on Depth buffer, in some cases it could help.


    Yes, you should always use Dektop platform, as some shaders may not compile correctly.


    Hmm. you can use layers by using VRCompositor.cs script. But I'm not sure if this can help you as I don't know what is exactly your case.
     
  15. TorbenDK

    TorbenDK

    Joined:
    Jun 28, 2016
    Posts:
    24
    I need your help pretty urgently..

    I need to render a 360 panorama movie, and have it ready on youtube by tomorrow. But all I get is garbage (with the latest script from 2016.09.07). Please see attached image.

    It looks like all the images for stitching are one and the same!?

    I use Animation Capture + Equi.Mono + JPG + 30fps.

    The VR Panorama RT is showing the same errors. JPG/PNG toggle makes no difference. FPS makes no difference. resolution and quality settings make no difference. Setting Environment Distancte to -2 or 15 or 1 does not make a diffence.

    Please help!
     

    Attached Files:

  16. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    Hi, how do you move your camera? You are probably using some script that isn't Animator or Animation controller. Without a screenshot of your camera scripts, It's impossible to tell.
     
  17. TorbenDK

    TorbenDK

    Joined:
    Jun 28, 2016
    Posts:
    24
    Yes, I move the camera using a script. Ofcourse I do that?! I use lateupdate to reposition alot of things. :)

    What is the pitfalls I need to avoid then?

    Is there a way for me to only reposition my camera one time? So that it does not override what ever it is you do in - guessing - the following lateupdates?

    Perhaps there is a value I can read from your script that indicates when I can safely reposition MY camera?
     
    Last edited: Sep 21, 2016
  18. TorbenDK

    TorbenDK

    Joined:
    Jun 28, 2016
    Posts:
    24
    HAH! Sorry.. Crisis averted! lol - I am a stressed out old fart! Moved the camera to a gameobject and scripted my motion on that. Sorry for the trouble. All is well!

    Peace :)

    ♥♥♥ VR Panorama Render
     
    olix4242 likes this.
  19. rmuk

    rmuk

    Joined:
    Feb 18, 2015
    Posts:
    65
    Normally I have 2 unity cameras, one set to left eye, and one set to right eye, and each one has it's own skybox. The two skyboxes form a 3D stereo pair. So, I have 3d elements in the scene, and then a "3d skybox" as well. Is that something that could be added easily? I can look into updating the scripts myself, but would appreciate any thoughts you had on the best way to go about it.
     
  20. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    Hi,

    Can I render my custom Stereo rig (non VR) ?

    Any help on this?
     
  21. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    Here is a script that has to be atttached to a VRCamera and it lets you filter objects to render per eye (by using Layer Masks).

    Code (CSharp):
    1. using UnityEngine;
    2. using System.Collections;
    3.  
    4. namespace VRPanorama
    5.  
    6.  
    7. {
    8.  
    9. public class VRLayerMasks : MonoBehaviour {
    10.  
    11.     public LayerMask layerMaskRight;
    12.     public LayerMask layerMaskLeft;
    13.     private VRCapture vrCapture;
    14.  
    15.  
    16.     void Start () {
    17.            
    18.             vrCapture = gameObject.GetComponent<VRCapture>();
    19.  
    20.    
    21.     }
    22.    
    23.    
    24.     void Update () {
    25.             vrCapture.camLR.cullingMask = layerMaskRight;
    26.             vrCapture.camRR.cullingMask = layerMaskRight;
    27.             vrCapture.camTR.cullingMask = layerMaskRight;
    28.             vrCapture.camDR.cullingMask = layerMaskRight;
    29.             vrCapture.camBR.cullingMask = layerMaskRight;
    30.             vrCapture.camFR.cullingMask = layerMaskRight;
    31.             vrCapture.camDRX.cullingMask = layerMaskRight;
    32.             vrCapture.camTRX.cullingMask = layerMaskRight;
    33.  
    34.             vrCapture.camLL.cullingMask = layerMaskLeft;
    35.             vrCapture.camRL.cullingMask = layerMaskLeft;
    36.             vrCapture.camTL.cullingMask = layerMaskLeft;
    37.             vrCapture.camDL.cullingMask = layerMaskLeft;
    38.             vrCapture.camBL.cullingMask = layerMaskLeft;
    39.             vrCapture.camFL.cullingMask = layerMaskLeft;
    40.             vrCapture.camDLX.cullingMask = layerMaskLeft;
    41.             vrCapture.camTLX.cullingMask = layerMaskLeft;
    42.  
    43.  
    44.  
    45.     }
    46. }
    47.  
    48. }
    49.  
     
  22. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    Currently this can't be done with standard non VR rendering. I'm valuating a possibility to add stereo rendering feature also for standard rendering in future version.

    But you can always use two cameras and render two separate movies per camera, and merge them later in some video editing software.
     
  23. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    Thanks for reply.
     
  24. howardt12345

    howardt12345

    Joined:
    Jan 4, 2016
    Posts:
    31
    I've been getting this error...
    It's telling me that "Can't add script component 'VRCapture' because the script class can't be found. Make sure that there are no compile errors and that the file name and class name match."
    I also can't seem to update the asset to the latest version because apparently my account reset... I remember buying it but now it's gone...
     

    Attached Files:

  25. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    I think that you have some import error. Are you in Standalone publishing paltform mode (You should check that you are). Sometimes assets don't get downloaded well, and you should try to download it again from assetstore. Are you logged with correct account? If your account doesn't work, than you should contact Assetstore team. Or, if you are in hurry, just send me your invoice number, and I can send you a latest version (but contact Asetstore team ayway).
     
  26. rmuk

    rmuk

    Joined:
    Feb 18, 2015
    Posts:
    65
    Thanks for that! With some adjustments, I think I can make that work. All of my objects will be in both eyes, so layering won't help there. However, since I need to give each eye it's own skybox via unity's skybox attachments onto the cameras, I can just use vrCapture.camLR/RR/TR/etc. to manually attach the skybox via this script. However, since i'll be attaching an object instead of just setting a parameter, I assume this would slow the render down significantly. Are those camera sets created/destroyed every frame, or can I just attach the skybox once at the start instead of doing it once per frame?
     
  27. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    They are created once in PreparePano function. So this means that once they are created, you should set them only once. But, you can do freely also in a script like mine, that updates even every frame. This shouldn't give you any performance issues as VR Panorama i'snt so heavy on CPU in preparing rendering (but it wastes much time on encoding images) so some milisecond more or less doesn't make much difference.
     
  28. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    BTW; there are good news for those waiting a support for HDRI (OpenEXR) output. From now, you will be able to export even HDRI images or sequences.
     
  29. howardt12345

    howardt12345

    Joined:
    Jan 4, 2016
    Posts:
    31
    Yeah, I'm in standalone mode
    I'm signed in with the right account (only have 1 account). I contacted the Assetstore team and they couldn't help...
    What's an invoice number...?
     
  30. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    A number that you receive in a mail when you buy something from assetstore. (mail is usually named "Unity Asset Store purchase confirmation. Order number:", and you can find your Invoice number in a PDF file attached to that mail).
     
  31. howardt12345

    howardt12345

    Joined:
    Jan 4, 2016
    Posts:
    31
    Huh odd, I couldn't find the PDF file in my inbox...
    Even the spam folders...
     
  32. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    Without proof that you've bought vr panorama, I'm really unable to help you. You should have at least some proof of transaction from PayPal or credit card (is there any way to send that one?)
     
  33. howardt12345

    howardt12345

    Joined:
    Jan 4, 2016
    Posts:
    31
    I just got a reply from the Assetstore team and they managed to help me on this haha. I think it should be ok now
    Now I seem to have another problem with the renderer...
    As you can see from the attached screenshot, there's this black area on the top bit of the pic. That's not supposed to happen, right?
     

    Attached Files:

  34. howardt12345

    howardt12345

    Joined:
    Jan 4, 2016
    Posts:
    31
    Update: This is what it looks like when rendered in Equidistant stereo
     

    Attached Files:

  35. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    Strange. I think that package didn't import well. Be sure to delete old (Assets/VRPanorama) folder. And then reimport.
     
  36. howardt12345

    howardt12345

    Joined:
    Jan 4, 2016
    Posts:
    31
    I also tried it with multiple other scenes in the same project and it seemed to work perfectly fine...
     
  37. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    I think tht there is something in your scene that breaks VR Panorama rendering. But it's impossible to tell without seeing your scene scripts. This shouldn't happen in any way. Try to solve it by activating Use Depth Buffer. But I'm not sure that this will help. There must be something else that breaks rendering (some scripts).
     
  38. howardt12345

    howardt12345

    Joined:
    Jan 4, 2016
    Posts:
    31
    There's no scripts attached to the camera except the usual stuff (Camera component, Audio Listener, VRCapture script) and I have Depth buffer on at the highest setting available so I have no idea what's really happening...
    The only other scripts in the scene are some scripts for the audio spectrum that shouldn't (and don't) interfere with the renderer so...
     
  39. howardt12345

    howardt12345

    Joined:
    Jan 4, 2016
    Posts:
    31
  40. world_naoki

    world_naoki

    Joined:
    Mar 24, 2016
    Posts:
    11
    I plan to buy this asset.
    movies made by this asset have parallax?
    I wanna watch video by Oculus or GearVR.
     
  41. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    Yes, it iuses stereoscopic 360 rendering.
     
  42. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    I have no idea what could be a problem. This looks like some other scripts or packs interfere with correct functioning of VRPanorama. But it's impossible to know what without looking into a project.
     
  43. TorbenDK

    TorbenDK

    Joined:
    Jun 28, 2016
    Posts:
    24
    +1 on 2DS Stereo (SBS, HD)

    That would be most welcomed! I would even consider it pretty much straight forward. Just render with a tiny horizontal overlay, and shift the L/R images into place. There would probably be a big speed-boost gained if YOU do the SBS, as you could probably render in half the resolution (besides the speed gained by you placing the two images into one, and rendering the movie) - Dont you just love pressing the button, go to bed, and voila.. whaddayaknow.. your work is 100% done in the morning!

    When you "get at it", consider automating the calculations needed for ortho-stereo on different sized screens, with different viewing distances.

    :D
     
    olix4242 likes this.
  44. riker96

    riker96

    Joined:
    Nov 26, 2015
    Posts:
    2
    Just purchased this asset, Mac OSX: I am unable to render/encode video from the sequence. Is this still not available on Mac? There's nothing to indicate it wont work on OSX (H264 encode). Please let me know what's up as the video encoding is one of the main features of this asset that sets it apart from other (free) assets.

    OSX 10.11.4
    Unity Pro 5.2.2
     
  45. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    Hi,
    You have a problem with OSX permissions that block encoding process. You have to call "chmod u+x" on the ffmpeg-binary (from terminal), and it will work.
     
  46. KC1302

    KC1302

    Joined:
    Jan 11, 2014
    Posts:
    94
    Hi, just found out about blackmagic intensity pro4k.
    Would this card help me encode faster with FFmpeg. I am asking just to be sure.
     
  47. julienrobert

    julienrobert

    Joined:
    Sep 15, 2014
    Posts:
    65
    Is it possible to render the frames to an external hard drive?...
     
  48. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    Well, if your graphic card can render in realtime in VRPanorama RT mode in 4K, then it can. You should check this before.
     
  49. olix4242

    olix4242

    Joined:
    Jul 21, 2013
    Posts:
    1,960
    Not at this moment. But I'm looking into adding this feature.
     
  50. julienrobert

    julienrobert

    Joined:
    Sep 15, 2014
    Posts:
    65
    Is it the kind of strategy you're talking about? : (putting that script on the camera, motionBlurActiver been the public variable on another object)

    private OscQballsVr scriptObj;
    private UnityStandardAssets.ImageEffects.MotionBlur motionBlur;


    void Start () {
    GameObject obj = GameObject.Find("scripts");
    scriptObj = obj.GetComponent<OscQballsVr>();
    motionBlur = transform.GetComponent<UnityStandardAssets.ImageEffects.MotionBlur>();

    }


    void Update () {
    motionBlur.enabled = scriptObj.motionBlurActiver;
    }