блеск, излучение и зеркальность не являются свойствами этого материала в React VR.

Я разрабатываю приложение с React VR и создал 3D-покебол с блендером. Я экспортировал это как файл Wavefront .obj и использовал его в своем приложении React VR.

В консоли я вижу это предупреждение:

THREE.MeshBasicMaterial: shininess, emissive и specular не являются свойством этого материала.

Ниже вы можете найти мой код:

import React from 'react';
import { AppRegistry, asset, StyleSheet, Pano, Text, View, Mesh } from 'react-vr';

class pokemongo extends React.Component {
  render() {
    return (
      <View>
        <Pano source={asset('sky.jpg')} />
        <Mesh source={{ mesh: asset('pokeball.obj'), mtl: asset('pokeball.mtl') }} 
              style={{ height: 1 }} 
              transform={{ rotate: '0 90 0' }}></Mesh>
      </View>
    );
  }
};

AppRegistry.registerComponent('pokemongo', () => pokemongo);

Это визуализированный вывод

И в этой GitHub Gist вы можете найти файлы obj и mtl и скачать файл blend.

Здесь вы могли увидеть мой покебол в Blender.

Я искал в Интернете, но не нашел решений или документации по проблеме, связанной с React VR.

Что я сделал не так?


person H. Pauwelyn    schedule 08.03.2017    source источник


Ответы (1)


Это больше не должно быть проблемой в react-vr > 0.2.1, как указано в ошибке Github.

Кроме того, если вы хотите, чтобы ваши модели отображались с цветами и оттенками, вам нужно применить к сцене несколько источников света. Это делается путем включения реквизита lit в модели и использования компонентов AmbientLight, SpotLight или DirectionalLight в вашей сцене.

import React from "react";
import {
  AppRegistry,
  asset,
  Pano,
  View,
  Model,
  AmbientLight,
  SpotLight
} from "react-vr";

class pokemongo extends React.Component {
  render() {
    return (
      <View>
        <Pano source={asset("chess-world.jpg")} />
        <AmbientLight intensity={0.5} />
        <SpotLight
          intensity={1}
          style={{ transform: [{ translate: [-5, 5, 0] }] }}
        />
        <Model
          source={{
            obj: asset("pokeball.obj"),
            mtl: asset("pokeball.mtl")
          }}
          style={{
            layoutOrigin: [0.5, 0.5],
            transform: [
              { translate: [0, 0, -10] }
            ]
          }}
          lit={true}
        />
      </View>
    );
  }
}

AppRegistry.registerComponent("pokemongo", () => pokemongo);

3d модель в vr

Для анимации вращения вы можете проверить ModelSample чтобы увидеть, как это делается.

person Valentin    schedule 15.07.2017