>  기사  >  웹 프론트엔드  >  웹 기반 VR에 대한 초기 소개

웹 기반 VR에 대한 초기 소개

伊谢尔伦
伊谢尔伦원래의
2017-01-24 11:43:395518검색

2016년 기술계에서 가장 흥미로운 주제는 VR이 세상을 어떻게 변화시킬 것인가입니다. 일부 영화는 VR에 참여하기 시작하여 사용자가 3D 이미지를 볼 수 있을 뿐만 아니라 "변환" 기술을 사용하여 장면에 몰입할 수 있게 되어 전례 없는 몰입형 시청 경험을 제공하고 게임 분야도 시작되었습니다. VR이 되기 위해 사용자는 더 이상 게임 패키지의 단일 장면을 참을 필요가 없습니다. 이러한 멋진 효과는 상상을 위한 거대한 공간을 가져오고, VR은 사람들의 삶에 다가오고 있습니다. 그러나 현실은 가끔 검은 기술의 경이로움을 경험하는 것과는 별개로 자본과 하드웨어 제조사들의 열광 뒤에는 VR이 대중화되지 못한 채 의구심도 속속 커지고 있다.

현재 VR 하드웨어 개발은 ​​빠른 속도로 진행되고 있지만 콘텐츠는 매우 빈약합니다. VR 영화의 가격은 상당히 높으며 VR 게임도 그다지 비싸지 않습니다. 높은 콘텐츠 제작 비용으로 인해 VR이 주목을 받게 되었습니다. 고독한 귀족의 화려함을 벗고 서민들의 집으로 날아들기 위해서는 VR이 여전히 콘텐츠 공급 문제를 해결해야 한다. HTML5로 대표되는 웹 기술의 발전은 이러한 교착상태를 변화시킬 수 있습니다. 현재 최신 Google Chrome 및 Mozilla Firefox 브라우저에는 HTML5 기술에 대한 WebVR 기능 지원이 추가되었으며 모든 당사자는 업계의 최신 WebVR API 표준을 작성하고 강화하고 있습니다. 이러한 웹 기반 가상 현실 표준은 VR 콘텐츠의 기술적 제작 비용과 한계점을 더욱 낮추고, 세계 최대 개발자 그룹인 HTML5(JavaScript) 개발자가 VR 콘텐츠 제작 분야에 진출하는 데 도움이 될 것입니다. 이는 웹 기술 발전에 있어서 획기적인 진전일 뿐만 아니라 VR이 도약할 수 있는 기회를 창출합니다.

웹사이드 VR의 장점

웹은 VR 경험의 문턱을 낮출 수 있다

웹 기술은 VR 제작 비용을 저렴하게 할 뿐만 아니라 기술적인 비용도 크게 낮춘다. 한계점. WebGL 기술의 급속한 발전에 힘입어 Web VR은 GPU를 사용하여 계산을 수행하고 게임 엔진 기술을 사용하여 칩 수준 API를 최적화하여 그래픽 렌더링 컴퓨팅 기능을 향상시키는 동시에 개발자가 VR 분야에 진입할 수 있는 문턱을 크게 줄입니다. , 웹 VR도 더 잘할 수 있습니다. 클라우드 컴퓨팅 기술과 결합하여 VR 터미널의 컴퓨팅 성능을 보완하고 대화형 경험을 향상시킵니다.

웹이 VR 활용 범위를 확대한 것은 확실하다. 광고와 마케팅, 파노라마 영상 분야에서도 수많은 혁신적인 사례가 등장했고, 생활밀착형 콘텐츠도 VR에 접목됐다. 실제 관광, 뉴스, 보고서, 가상 쇼핑 등과 같은 콘텐츠 표시 및 상호 작용을 HTML5 엔진으로 쉽게 만들 수 있습니다. 이는 의심할 여지 없이 향후 개발을 위한 상상의 여지를 더 많이 가져올 것입니다.

웹 개발자의 기반이 넓습니다

웹은 기술적인 구현 장점 외에도 광범위한 응용 프로그램과 엄청난 발전을 가지고 있기 때문에 VR에 큰 혁신력을 가져올 수 있습니다. 사용자 기반은 VR 기술이 인민 전쟁에서 승리하는 데 도움이 될 수 있으므로 VR은 더 이상 산업 거물을 위한 주요 게임이 아니라 민간인 방식으로 사용자 일상 생활의 모든 측면에 침투했습니다.

머지않아 VR 애플리케이션은 이제 유비쿼터스 앱처럼 될 것이라고 믿습니다. 동시에 웹 개발의 낮은 문턱에 힘입어 많은 VR 개발자가 대거 진출할 것입니다. , 모든 종류의 이상하고 이상한 아이디어가 끝없이 나타날 것이며 가상 현실은 전자 상거래 판매자 등에게 필요한 비즈니스 도구가 될 것입니다. 이 단계에 도달하면 VR은 진정한 번영을 누리게 될 것입니다.

웹사이드 VR 콘텐츠 개발

다음에는 실습을 통해 웹사이드 VR 콘텐츠를 실제로 제작하고 WebVR의 편리한 장점을 경험해 보겠습니다. 우리는 많은 VR 경험이 애플리케이션 형태로 제공된다는 것을 알고 있습니다. 즉, VR을 경험하기 전에 해당 애플리케이션을 검색하고 다운로드해야 한다는 의미입니다. Web VR은 이러한 형식을 변경하여 VR 경험을 브라우저로 이동시킵니다. Web+VR = WebVR입니다. 실습에 앞서 먼저 WebVR 구현의 기술적 현황을 분석해 보겠습니다.

WebVR 개발 방법

웹에서 VR 애플리케이션을 개발하는 방법에는 세 가지가 있습니다.

HTML5+ Java Snipt + WebGL + WebVR API

기존 엔진 + Emscripten[1]

A-Frame과 같은 타사 도구[2]

첫 번째 방법은 일반 웹사이드 3D 애플리케이션을 기반으로 WebVR API와 결합된 WebGL을 사용하는 것입니다. API를 통해 VR 장비로 해당 VR 구현을 얻습니다. 두 번째 방법은 Unity, Unreal 등의 전통적인 엔진 개발 콘텐츠를 기반으로 Emscripten을 사용하여 C/C++ 코드를 Java Snipt 버전에 이식하여 웹에서 VR을 구현하는 것입니다. 세 번째 방법은 첫 번째 방법을 캡슐화해 프로그래밍 기초가 없는 일반 사용자를 위한 웹사이드 VR 콘텐츠를 구체적으로 제작하는 것이다. 이 기사에서는 주로 첫 번째와 세 번째 방법을 예로 들어 설명합니다.

WebVR Draft

WebVR은 Oculus Rift, HTC Vive, Google Cardboard와 같은 VR 장치의 기능에 액세스할 수 있는 API를 제공하는 초기의 실험적인 JavaScript API입니다. VR 애플리케이션에는 만족스러운 경험을 제공하기 위해 고정밀, 저지연 인터페이스가 필요합니다. Device Orientation Event와 같은 인터페이스의 경우 얕은 VR 입력을 얻을 수 있지만 고품질 VR에 필요한 정확도 요구 사항을 제공하지 않습니다. WebVR은 VR 하드웨어에 액세스할 수 있는 전용 인터페이스를 제공하므로 개발자는 편안한 VR 경험을 구축할 수 있습니다.

WebVR API는 현재 Firefox 나이틀리가 설치된 Oculus Rift, Chrome 실험 버전, Samsung Gear VR 브라우저에서 사용할 수 있습니다.

A-Frame을 사용하여 VR 콘텐츠 개발

낮은 임계값으로 WebVR 개발을 경험하고 싶다면 MozVR 팀에서 개발한 A-Frame 프레임워크를 사용할 수 있습니다. A-Frame은 HTML을 통해 VR 경험을 만들기 위한 오픈 소스 WebVR 프레임워크입니다. 이 프레임워크를 통해 구축된 VR 장면은 스마트폰, PC, Oculus Rift 및 HTC Vive와 호환됩니다. MozVR 팀은 웹 개발 커뮤니티를 WebVR 생태계로 끌어들이기 위해 3D/VR 장면을 더 쉽고 빠르게 구축할 수 있도록 A-Frame 프레임워크를 개발했습니다. WebVR이 성공하려면 콘텐츠가 필요합니다. 하지만 현재 WebGL 개발자는 소수에 불과하지만 웹 개발자와 디자이너는 수백만 명에 이릅니다. A-Frame은 모든 사람에게 3D/VR 콘텐츠를 만들 수 있는 힘을 주고자 합니다. A-Frame은 다음과 같은 장점과 특징을 가지고 있습니다.

A-Frame은 중복되는 코드를 줄일 수 있습니다. 중복되고 복잡한 코드는 얼리 어답터에게 장애물이 되었습니다. A-Frame은 복잡하고 중복된 코드를 HTML 코드 한 줄로 줄입니다.

A-Frame은 웹 개발자를 위해 특별히 제작되었습니다. DOM 기반이므로 다른 웹 애플리케이션과 마찬가지로 3D/VR 콘텐츠를 구동할 수 있습니다. 물론 box, d3, React 등의 자바스크립트 프레임워크와 연동하여 사용할 수도 있습니다.

A-Frame은 코드를 구조화합니다. Three.js 코드는 일반적으로 느슨하며 A-Frame은 Three.js 위에 선언적 엔터티 구성 요소 시스템을 구축합니다. 또한 다른 개발자가 HTML 형식으로 사용할 수 있도록 구성 요소를 게시하고 공유할 수 있습니다.

코드는 다음과 같이 구현됩니다.

// 引入A-Frame框架<script src="./aframe.min.js"></script><a-scene>
  <!-- 定义并创建球体 -->
  <a-sphere position="0 1 -1" radius="1" color="#EF2D5E"></a-sphere>
  <!-- 定义交创建立方体 -->
  <a-box width="1" height="1" rotation="0 45 0" depth="1" color="#4CC3D9" position="-1 0.5 1"></a-box>    
  <!-- 定义并创建圆柱体 -->
  <a-cylinder position="1 0.75 1" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
  <!-- 定义并创建底板 -->
  <a-plane rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
  <!-- 定义并创建基于颜色的天空盒背景-->
  <a-sky color="#ECECEC"></a-sky>
  <!-- 设置并指定摄像机的位置 -->
  <a-entity position="0 0 4">
    <a-camera></a-camera>
  </a-entity></a-scene>

Three.js를 사용하여 VR 콘텐츠 개발

위에서 언급했듯이 또 다른 방법인 WebVR 콘텐츠를 유연하게 제작하는 방법은 WebGL+WebVR API를 직접 사용하는 것입니다. A-Frame에 비해 이 방법의 장점은 VR 지원을 자체 Web3D 엔진에 쉽게 도입할 수 있다는 것과 동시에 하단 레이어, 특히 렌더링 모듈에서 더 많은 최적화 작업을 수행하여 성능과 경험을 향상시킬 수 있다는 것입니다. VR 런타임.

자체 Web3D 엔진이 없어도 문제가 되지 않습니다. Three.js 및 Babylon.js와 같은 성숙한 렌더링 프레임워크를 직접 사용할 수 있습니다. ). 다음으로 Three.js를 예로 들어 WebVR 콘텐츠를 생성하는 방법을 설명하겠습니다.

우선 모든 렌더링 프로그램의 세 가지 요소는 유사합니다. 즉, 장면 설정, 렌더러 및 카메라입니다. 렌더러, 장면, 카메라 설정 작업은 다음과 같습니다.

var renderer = new THREE.WebGLRenderer({antialias: true});
renderer.setPixelRatio(window.devicePixelRatio);
 document.body.appendChild(renderer.domElement);
// 创建Three.js的场景
var scene = new THREE.Scene();
// 创建Three.js的摄像机
var camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 10000);
// 调用WebVR API中的摄像机控制器对象,并将其与主摄像机进行绑定
var controls = new THREE.VRControls(camera);
// 设置为站立姿态controls.standing = true;
// 调用WebVR API中的渲染控制器对象,并将其与渲染器进行绑定
var effect = new THREE.VREffect(renderer);
effect.setSize(window.innerWidth, window.innerHeight);// 创建一个全局的VR管理器对象,并进行初始化的参数设置
var params = {
  hideButton: false, // Default: false.
  isUndistorted: false // Default: false.
};
var manager = new WebVRManager(renderer, effect, params);

위 코드는 렌더링 전 초기화 설정을 완료합니다. 다음으로 장면에 특정 모델 객체를 추가해야 합니다. 주요 작업은 다음과 같습니다.

function onTextureLoaded(texture) {
  texture.wrapS = THREE.RepeatWrapping;
  texture.wrapT = THREE.RepeatWrapping;
  texture.repeat.set(boxSize, boxSize);  
  var geometry = new THREE.BoxGeometry(boxSize, boxSize, boxSize);  
  var material = new THREE.MeshBasicMaterial({
    map: texture,
    color: 0x01BE00,
    side: THREE.BackSide
  });  
  // Align the skybox to the floor (which is at y=0).
  skybox = new THREE.Mesh(geometry, material);
  skybox.position.y = boxSize/2;
  scene.add(skybox);  
  // For high end VR devices like Vive and Oculus, take into account the stage
  // parameters provided.
  setupStage();
}
// Create 3D objects.
var geometry = new THREE.BoxGeometry(0.5, 0.5, 0.5);
var material = new THREE.MeshNormalMaterial();
var targetMesh = new THREE.Mesh(geometry, material);
var light = new THREE.DirectionalLight( 0xffffff, 1.5 );
light.position.set( 10, 10, 10 ).normalize();
scene.add( light );  
var ambientLight = new THREE.AmbientLight(0xffffff);
scene.add(ambientLight);
var loader = new THREE.ObjectLoader();
loader.load(&#39;./assets/scene.json&#39;, function (obj){
    mesh = obj;    
    // Add cube mesh to your three.js scene
    scene.add(mesh);
    mesh.traverse(function (node) {
        if (node instanceof THREE.Mesh) {
            node.geometry.computeVertexNormals();
        }
    });    
    // Scale the object
    mesh.scale.x = 0.2;
    mesh.scale.y = 0.2;
    mesh.scale.z = 0.2;
    targetMesh = mesh;    
    // Position target mesh to be right in front of you.
    targetMesh.position.set(0, controls.userHeight * 0.8, -1);
});

마지막 작업은 requestAnimationFrame에서 업데이트를 설정하는 것입니다. 애니메이션 기능에서는 HMD가 반환한 정보를 지속적으로 획득하고 카메라를 업데이트해야 합니다.

// Request animation frame loop functionvar lastRender = 0;function animate(timestamp) {
  var delta = Math.min(timestamp - lastRender, 500);
  lastRender = timestamp;  
   // Update VR headset position and apply to camera.
  //更新获取HMD的信息
  controls.update();  
   // Render the scene through the manager.
  //进行camera更新和场景绘制
  manager.render(scene, camera, timestamp);
  requestAnimationFrame(animate);
}

경험과 통찰

위의 소개를 통해 기본적으로 예비적인 인터랙티브 경험을 갖춘 웹사이드 VR 애플리케이션을 구현할 수 있지만 이는 순전히 기술적 구현의 첫 단계에 불과합니다. 엔지니어링에는 여전히 어느 정도의 격차가 있습니다. 최종 엔지니어링 이후 사용자 중심의 제품은 기술적인 프로토타입보다 렌더링 품질, 상호 작용의 원활함, 가상화의 몰입도 등 더 구체적인 사항을 고려해야 하기 때문에 궁극적으로 사용자가 계속 사용할 것인지 여부를 결정합니다. 제품 등이 제공하는 서비스이기 때문에 위의 기술이 엔지니어링에 적용되기 전에는 아직 최적화와 개선 작업이 많이 남아 있습니다. 다음은 웹사이드 VR 애플리케이션을 만드는 과정에서 겪은 개인적인 경험이며, 독자들의 참고를 위해 공유됩니다.

엔진 선택. 기존 WebGL 엔진을 사용하는 경우 VR SDK 통합에 대한 [5] 문서를 참조할 수 있습니다. 여기서는 엔진 레이어를 VR SDK 레이어와 호환되게 만들고, VR 모드를 엔진의 툴 부분과 통합해야 하며, VR SDK 통합에 대해서는 Unity3D 및 Unreal과 같은 데스크톱 엔진의 개발 모델을 참조할 수도 있습니다. 타사 WebGL 엔진을 선택하는 경우 Three.js 또는 Babylon.js 중에서 선택할 수 있습니다. 이러한 주류 WebGL 엔진에는 VR SDK와 통합된 기능이 있습니다.

디버그된 장치. 웹에서 VR 애플리케이션을 디버깅하려면 특정 VR 장치의 지원도 필요합니다. 데스크톱 WebM 콘텐츠의 경우 HTC Vive 또는 Oculus와 같은 몰입도가 높은 VR 장치를 사용해 보아야 합니다. 모바일 웹 애플리케이션의 경우 Android 플랫폼의 브라우저 간 성능 차이가 크기 때문에 개발 및 디버깅을 위해 iOS 기기를 사용하는 것이 좋습니다. 그러나 최종 호환성을 위해서는 더 많은 Android 기기에 대한 적응이 필요합니다. 테스트 및 최적화.

성능 최적화. 웹에서 3D 드로잉 및 렌더링을 할 때 여전히 성능이 주요 병목 현상이므로 VR 부분에 더 많은 리소스를 남길 수 있도록 실시간 렌더링의 성능을 최대한 향상시켜야 합니다. 현재 WebVR은 데스크톱 VR SDK처럼 실시간 렌더링에서 스테레오 렌더링 등 심층적인 최적화를 위해 다수의 GPU 기반 인터페이스를 호출하는 기능이 없어 여전히 많은 성능을 소모합니다.

알려진 문제. 현재 WebVR은 여전히 ​​불안정하고 버그가 많습니다. 예를 들어 어떤 경우에는 장치 추적이 손실될 수 있으며 효율성이 그다지 높지 않습니다. 대부분의 WebVR 애플리케이션은 이후 제품에 대한 예비 및 사전 연구로 사용될 수 있지만 실제로 사용 가능하고 사용자에게 원활한 경험을 제공하는 제품을 출시하려면 아직 갈 길이 멀습니다.

VR DEMO의 개발 과정을 살펴보는 것도 좋을 것 같습니다.

다음은 우려할 만한 개발 링크에 대한 간략한 소개입니다.

1. VR DEMO에 소요되는 시간

60일 전, 우리 회의실 테이블 위에 'UNITY 초보에서 마스터까지'라는 책이 놓여 있었습니다. 좋은 것인지 아닌지, 사람들은 '차이나 스피드'가 만들어낸 또 다른 것이라고 생각하기 쉽다.

나중에 UE 엔진으로 전환했습니다. 물론 UE는 우리 엔진이 얼마나 효율적인지, 얼마나 효과적인지, 청사진이 얼마나 편리한지, 쇼핑몰 리소스를 얼마나 쉽게 사용할 수 있는지 살펴보며 매우 기뻐할 것입니다. ...

이 60일은 실제로 기초 없이 시작되지 않았다는 점도 지적해야 합니다. 우리 팀은 기본적으로 30년이 넘는 기본 3D 아트 경험을 갖고 있으며, 오랫동안 Party B의 역할을 수행해 왔으며 이는 더 나은 기술 구현 및 시간 개념으로 이어집니다. 게다가 나 스스로 무언가를 창조하고 있기 때문에 모두가 더 깊이 관여하고 있기 때문이다. 그래서 지금이 이상하고 행복한 시간이라고 말하지만, 당연히 지불한 가격도 매우 높았습니다. 이 기간 동안 우리는 새로운 사업 주문을 받지 못했습니다.

2. VR 개발에 어떤 엔진을 사용할지에 대해

사실 어떤 엔진을 사용할지는 크게 중요하지 않습니다. VR 개발에 UE를 사용할 것인지 UNITY를 사용할 것인지에 대한 의견은 거의 일방적입니다. UE를 사용하는 것과 마찬가지로 함정이 생길 것입니다... 하지만 우리는 한동안 연구한 결과 여전히 UE를 사용하는 것이 적합하다고 느꼈습니다. , 그리고 지금 우리는 여전히 비교적 행복하게 살고 있습니다. "강을 건너는 작은 조랑말" 이야기를 읽어 보셨나요?

이전에 사용했던 도구인 MAX와 MAYA가 생각났습니다. 용도에 따라 둘 다 좋습니다. 건축 애니메이션을 제작하는 경우 속도가 빠르기 때문에 MAX를 사용하고, 캐릭터 기반 애니메이션 영화를 제작하는 경우에는 MAYA를 사용하는 것이 좋습니다. 팀 협업.

또한 UE는 현재 매우 열심히 작업하고 있습니다. 공식 튜토리얼을 보면 쇼핑몰에서 많은 노력을 기울인 것을 알 수 있으며 블루프린트 도구도 특히 팀에 적합합니다. 시각적인 것을 선호하는 사람.

그런데 UE 공식 공개 계정의 조회수는 매번 놀랄 만큼 적습니다. 중국에서 이렇게 뜨거운 VR 테마와 흥미로운 대조를 이루는군요. 어떤 계정을 팔로우하고 있는지 정말 모르겠습니다.

또 다른 큰 문제는 UE에 사람이 상대적으로 적다는 것입니다. 우리는 스스로 탐색하는 데 시간을 할애할 수 없습니다. 이 방법을 교착 상태라고 합니다.

3. VR을 개발하는 CG팀의 장점과 단점

예를 들어 인터랙티브 도구인 Vive 컨트롤러도 다른 점이 있어야 한다고 생각합니다. 시나리오 테마라서 다양하고 아름다운 컨트롤러들이 등장했는데, 모두 공식몰에 올려도 될 것 같아요.

중국의 VR 콘텐츠 개발 배경은 여러 가지로 나눌 수 있다고 생각합니다.

첫 번째는 기술적인 문턱이 상대적으로 낮은 파노라마 영상입니다. 이러한 배경은 대부분 실생활에서 나온 것입니다. 촬영. 이전 직함은 대개 감독이었습니다.

두 번째 유형은 게임 회사입니다. 프로그램과 워크플로우가 VR과 비슷하고, 기술적으로 변형이 쉽다는 점이 장점이지만, 아쉬운 점은 시각 효과를 추구하려는 경우에는 그렇지 않다는 것입니다. 차세대 게임을 만드는 것이 가장 좋지만, 중국에서는 현재 대부분의 온라인 게임이 모바일 기반이고, 차세대 게임은 주로 아웃소싱 처리를 하고 있습니다.

세 번째 유형은 과거 CG 업계 출신으로, 비주얼에 대한 추구가 더 크다는 장점이 있습니다. 이전에는 기술적으로 발전해야 했지만 일부 업그레이드와 변형이 이루어졌지만 다행히 기본 원칙은 유사하여 한 눈에 이해할 수 있습니다.

네 번째 유형은 프로그래머들로 구성된 팀입니다. 멋진 코드를 개발하고, 원하는 셰이더를 작성하고, 원하는 기능을 얻을 수 있다는 점은 노력이 필요한 부분입니다.

마지막으로 VR을 한다고 하네요.

4. UE 엔진 블루프린트

블루프린트는 UE가 작업 효율성을 향상시키기 위해 특별히 개발한 시각적 모듈 프로그래밍입니다. 이것이 없으면 우리 DEMO는 불가능합니다. 가능한. .

예를 들어보세요.

DEMO 후반부에는 팔이 날개로 변해 소금호수에 왔을 때. 물과 하늘과 같은 색, 날개가 깃털로 변해 하늘을 나는 모습.. 참 로맨틱한 장면입니다.

이를 실현하려면 청사진의 도움이 필요합니다. 물론 우리의 주석은 매우 현실적이며 이해할 수 있는 사람은 분명히 이해할 것입니다.

웹 기반 VR에 대한 초기 소개

간단히 말하면 코드 한 줄도 작성하지 않고도 완전한 청사진을 갖춘 DEMO라고 할 수 있죠? 사실 UE 개발 청사진의 목적은 최종 효과에 더 도움이 되는 것에 집중하게 하는 것이 아닐까요?

5. 또 다른 기술적 포인트: PBR 프로세스

PBR 프로세스는 CG 업계에서 배우고 게임 업계에서 도입했다고 하는데, CG 업계 후기에는 프로젝트 종류 때문에 UV조차 거의 전시하지 않은 점이 아쉽습니다.

PBR 머티리얼 시스템을 사용하면 객체가 엔진에서 더욱 사실적인 질감과 풍부한 디테일을 보여줄 수 있습니다. 이는 또한 현 세대 게임 엔진의 일반적인 머티리얼 시스템이기도 합니다. 실제 세계에서 텍스처를 그리고 재질을 조정합니다. 이 시스템을 기반으로 하는 도구 소프트웨어인 Substance Tools 시리즈는 원래의 다중 소프트웨어 도구 협업의 텍스처, 재료, 셰이더 및 기타 시스템을 완전한 시스템으로 통합하는 동시에 유연한 워크플로우로 제작 시간을 크게 절약하고 제작을 용이하게 합니다. 직렬화된 텍스처 재료 반복 및 업데이트는 재료 매핑 작업 프로세스를 더욱 직관적이고 효율적으로 만듭니다.

Substance Painter 소프트웨어를 사용하면 이 프로세스가 초창기 PS와 MAX 텍스처 병합 사이를 오가며 진행했던 것보다 훨씬 낫습니다.

기술도 중요하지만 새로운 시청각 체험 방식 앞에서 창작도 중요하고, VR 체험 디자인에서도 어려운 점이다.

7.VR 체험 주제 선정에 대해

사실 저희가 선택한 건 요즘 볼 수 있는 대부분의 VR이 총격 사건인 것 같아요. 저는 문화적 주제에 더 관심이 있었고, 동료 중 몇몇은 항공 팬이었기 때문에 이 주제를 선택했습니다.

STEAM에 아폴로 달착륙 체험을 한 외국 팀이 있다는 걸 알고 다운받아서 공부했는데, 그 분이 우리에게 뭔가 잘못된 경험을 해준 게 아닌가 하는 생각이 들었어요. 지루한 엔지니어들은 너무 지루해서 참을 수가 없어요. 문화적 산출물은 우리가 상대적으로 잘하는 것입니다. 이는 이전 작업 경험과 관련이 있을 수 있으며, 의미 있는 일을 하려면 새로운 기술을 사용해야 하지만, 단순히 괴물을 물리치는 것은 잘못된 것입니다.

제가 내린 결론은 자신이 좋아하는 소재이고, 심도 있게 연구하고, VR 표현에 적합한 소재가 가장 좋다는 것입니다.

8. VR의 서사 언어는 어떻게 달라질까요?

창의적인 관점에서 과거에는 감독님이 카메라를 들고 원하는 곳을 바라보게 하셨습니다. , 몽타주 등이 있었습니다. 하지만 VR의 세계에서는 당신이 라이브 참가자이고 감독은 당신이 보고 참여하기를 원하는 것을 안내해야 합니다.

우리는 2008년부터 많은 라이브 이벤트의 기획과 실행에 참여해왔습니다. 이 경험은 실제로 소음과 빛이 있는 넓은 공간에서 VR과 유사한 경험이라고 생각합니다. 플롯의 발전을 촉진하는 것은 섬세하고 재미있는 문제입니다.

그래서 VR의 시각적 언어는 영화적 접근이 아닌 라이브 이벤트나 퍼포먼스적 접근이라고 생각합니다.

기술적인 측면에서 보면 원래의 구성 및 편집 직위는 폐지되었지만 완전히 폐지된 것은 아니지만 실제로는 비선형 편집이 UE에 추가되었을 뿐입니다. 포스트 프로덕션 필터도 사용할 수 있고 이런 것들이 정말 재미있습니다.

9. 작업의 진행과 분업에 대하여

전후에 20명 정도가 참여하게 되는데 대부분이 3D아트 소재의 입장에서 집중하게 되는데, 이는 비슷하다. 게임 개발 인력의 배치에 관한 것입니다. 모든 것을 조정하고 예술적인 통제를 해줄 감독인 Pu An 선생님이 계십니다. 그리고 다른 동료들과 저는 함께 기술적인 과정을 추진할 것입니다.

기본적으로 이 주제는 시작하기에는 너무 클 수 있습니다. 장점은 전체 오디션 언어가 더 완전하고 심층적으로 논의된다는 것입니다. 단점은 많은 리소스가 필요하다는 것입니다. 지난 10년 동안 많은 리소스를 개발했지만 Zhong은 특히 대량 생산과 훌륭한 제품 판매에 능숙한 팀입니다. 그러나 제한된 시간 내에 일부 리소스는 정확하지 않을 수 있습니다. 시간이 더 있으면 더 좋을 것입니다. 나는 운이 좋게도 빠져나올 수 없을 것이라고 예상했던 함정에 빠지지 않았고 항상 재난을 행운으로 바꾸었습니다. 프레임 속도는 여전히 괜찮았습니다. 즉, 엔진의 운반 능력이 실제로 우리가 상상했던 것보다 낫습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.