Смешать текстуры (aframe / js)

У меня есть кинокартина на 360 градусов, и я пытаюсь сделать это, когда вы нажимаете на что-то, изображение смешивается с одного светлого кинокартины на темное кинокартину, поэтому кажется, что свет гаснет. Некоторые идеи, как я кодирую это в js-функции?

     <a-scene>
          <a-assets>
            <img id = "cinema" src = "cinema360degree.png">
            <img id = "cinema_dark" src = "cinema360degree_dark.png">
            <img id = "button" src = "playbutton.png">
          </a-assets>
          <a-image id = "playit" src = "#button" width = "4" height = "4" position = "-28 5 15" rotation = "0 90 0" onclick = "startmovie()"></a-image>
          <a-sky src = "#cinema"></a-sky>
    <script type = "text/javascript">
    function startmovie() {
     //blend cinema into cinemadark
     // i got this but it only change it. Its not blending:
 //document.getElementById('skyid').setAttribute('src', '#cinema_dark')
    }
    </script>
        </a-scene>

Привет, Delidragon, было бы полезно, если бы вы могли предоставить код, который у вас уже есть, вместе с перечислением того, что вы пробовали. На данный момент ваш вопрос слишком общий и, скорее всего, будет помечен и закрыт модератором. stackoverflow.com/help/mcve

Alex Mulchinock 15.05.2018 14:41

хорошо, я стараюсь быть более конкретным, спасибо

Delidragon 15.05.2018 14:42
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
104
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я бы сделал две сферы, одну с текстурой «день», а другую с текстурой «ночь»:

<a-sphere id = "day" radius = "100" material = "side: back"></a-sphere>
<a-sphere id = "night" radius = "101" material = "side: back"></a-sphere>

И используйте компонент анимации, изменив непрозрачность дня на 0:
Js:

AFRAME.registerComponent("foo", {
  init: function() {
    document.querySelector("#day").addEventListener("click", (e) => {
      this.el.emit("fadeout")
    })
  }
})

HTML:

<a-sphere id = "one" foo animation = "property: material.opacity; to: 0; 
delay: 500; startEvents: fadeout;"></a-sphere>


Check it out здесь.

Другие вопросы по теме