poney 发表于 2020-12-16 10:26

unreal的kismet连线是最智障的设计~

冀苍鸾 发表于 2020-12-16 10:31

在座的各位答主请恕我直言,这么大的问题,竟然没有一个专业且中肯的评价答案,要么用都没用过就过来逼叨叨,要么过来就扯一大堆差劲或牛逼,最起码给个对比,丢个原因,讲一下各种方面存在的瓶颈,展望一下未来蓝图。说一些大家都烂熟于心的东西那还有什么意义?抱歉占一个答位,坐等专业点的回答。

心随674 发表于 2020-12-16 10:37

今年1月26日Unity在博客更新里宣布其新版本Unity 2018.1 开始支持立体360度图片和视频捕捉的新功能。
此功能基于谷歌的全方位立体(Omni-directional Stereo, ODS) 技术,在编辑器和PC单机播放器上均支持用户通过Unity本身的图像加工流程里渲染生成立方体地图。生成的立方体可以进一步被转化成立体全景地图,用于在360度媒体上展示播放。
先来一张大神使用unity做的全景视频&全景图,给大家欣赏一下:
来自VeeR环球VR内容社区


那么现在我简单讲解一番这个新功能并在之前发布了立体内容抓取和转化功能的API,如下:
1. public bool RenderToCubemap(Cubemap cubemap, int faceMask = 63)
2. public void ConvertToEquirect(RenderTexture equirect, Camera.MonoOrStereoscopicEye eye)
这篇回答意在对使用步骤进行更详细的分解。这里我使用安装Unity时的案例项目,你可以把它选作一个Component.
现在我们就可以开始使用这项功能了:
1. 在你的项目里启动以下三个渲染质地:
将cubemap_left和cubemap_right的参数如下图所示设置:
然后,将equirect相关选项如下设置:


2. 在API中找到以下脚本,将其附加到系统的主相机上。
using UnityEngine;
using UnityEngine.Rendering;
//attach this script to your camera object
public class CreateStereoCubemaps : MonoBehaviour
{
public RenderTexture cubemapLeft;
public RenderTexture cubemapRight;
public RenderTexture equirect;
public bool renderStereo = true;
public float stereoSeparation = 0.064f;
void LateUpdate()
{
Camera cam = GetComponent();
if (cam == null)
{
cam = GetComponentInParent();
}
if (cam == null)
{
Debug.Log(“stereo 360 capture node has no camera or parent camera”);
}
if (renderStereo)
{
cam.stereoSeparation = stereoSeparation;
cam.RenderToCubemap(cubemapLeft, 63, Camera.MonoOrStereoscopicEye.Left);
cam.RenderToCubemap(cubemapRight, 63, Camera.MonoOrStereoscopicEye.Right);
}
else
{
cam.RenderToCubemap(cubemapLeft, 63, Camera.MonoOrStereoscopicEye.Mono);
}
//optional: convert cubemaps to equirect
if (equirect == null)
{
return;
}
if (renderStereo)
{
cubemapLeft.ConvertToEquirect(equirect, Camera.MonoOrStereoscopicEye.Left);
cubemapRight.ConvertToEquirect(equirect, Camera.MonoOrStereoscopicEye.Right);
}
else
{
cubemapLeft.ConvertToEquirect(equirect, Camera.MonoOrStereoscopicEye.Mono);
}
}
}
3. 选取主相机,用检视器中的渲染质地来创建立体的立方体地图
4. 运行脚本。Equirect此时已经记录下了主相机所捕捉到的立体内容。
创建一个新的UI元素RawImage来跟踪Equirect的产出,如下面这个屏幕中的左上角方块所示:记得把Equirect拖到RawImage的质地属性。然后就全部完成了,现在我们可以播放一遍录制出来的整个场景了!
Unity推荐使用Unity Frame Recorder插件来作为导出媒介。此插件一帧一帧输出渲染质地,然后你可以使用常规的视频编辑软件来把这些帧连接成360度的视频。
而Unity’s 360 Video Playback插件可以用来在Unity里回放全景视频。
此外,XR设置中的360立体捕捉选项,可以用来控制你的Unity项目是否支持360度着色器, 给Unity的游戏开发者们留足了想象空间,因为这样他们就可以让玩家进行第一人称的全景游戏录屏了!
这项新功能目前对于部分开发者的自定义着色器还未必能运行得很好,可能会导致360度拍摄异常。也期待Unity在这方面的进展。
如果你学会了,也可以同样制作属于自己的VR视频或者图片了!然后可以上传到https://veervr.tv/creator?utm_source=zhihu&utm_content=creatorupload
这个网站,里面有一大堆来自全世界的VR创造者的作品,可以进行互动以及讨论~

简单350 发表于 2020-12-16 10:45

unity2017都还没开始用呢

形腿望舞 发表于 2020-12-16 10:53

不知道 2018什么时候可以出。。。

123456825 发表于 2020-12-16 10:58

非常看好Unity 2018,Scriptable Render Loop,Shader Graph,Post Processing Stack三驾马车让懂渲染开发的程序员发挥空间空前的大,而且方便扩展,事半功倍。

戏做顿 发表于 2020-12-16 11:05

只是测试版吧,beta版本更新

明绍宗朱聿键鼻 发表于 2020-12-16 11:13

merge conflict -> prefab broken -> git revert -> fk unity

忆困血馆闻 发表于 2020-12-16 11:14

编辑器很不稳定,各种崩溃,打开脚本都能崩溃。
新的包管理系统看起来不错,内置了不少原来在assetstore上的插件,但是bug太多,经常装着装着就崩溃了。
ShaderGraph没有那么好用,但是不需要技术美术学习Shader语言规范了。但是如果想要避开各种坑,你还是得精通Shader代码,优化不明
导入素材一如既往的慢,不过这不是2018才有的问题。
自定义渲染管线是个不错的新特性,虽然有的答主对这种注入式风格不太感冒,但我觉得,开发小组要是都有改引擎的实力了,用开源的unreal或者商业订阅Unity不行吗?注入式风格的好处就是让中小开发组不要被其他环节束缚住,只要考虑有关联的功能。
然而就算这样,Unity 2018的开发效率还是蛮高的,但是别对它期待太高,感觉有很多细节没有打磨好就扔上来了。

我放心你带套猛 发表于 2020-12-16 11:23

我永远支持unity.jpg
页: 1 [2] 3
查看完整版本: 如何评价 Unity 2018?