Прозрачный слой сеткиСтандартный материал, три js ReactJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Гость
 Прозрачный слой сеткиСтандартный материал, три js React

Сообщение Гость »


Я реализую простую 3D-рисовку и хочу реализовать стирание. Для этого я решил использовать два слоя холста: один для изображения текстуры и другой (прозрачный) для рисования, чтобы стереть только холст для рисования. Не могли бы вы посоветовать, как иметь одну сеткуStandardMaterial с текстурой изображения (которую не следует изменять при рисовании/стирании) и одну или несколько прозрачных сетокStandardMaterial только для рисования? Вот код компонента:

{ gl.physicallyCorrectLights = правда; }} камера={{ позиция: [0, 0, 10] }} > {isControlsAllowed && } { setIsControlsAllowed (ложь); }} onPointerUp={() => { setIsControlsAllowed (истина); }} onPointerMove={(ev) => { handleBrushPointerMove(ev, previousPoint.current); }} геометрия={геометрия} > Мой код ловушки:

const currentCanvasRef = useRef(document.createElement("canvas")); const currentTextureRef = useRef(null); const currentDrawingCanvasRef = useRef(document.createElement("canvas")); const currentDrawingTextureRef = useRef(null); useLayoutEffect(() => { const context = currentDrawingCanvasRef.current.getContext("2d"); контекст?.clearRect( 0, 0, currentDrawingCanvasRef.current.width, currentDrawingCanvasRef.current.height ); createCanvasTextureFromImage("/Stool.jpg"); }, []); const createCanvasTextureFromImage = ( imageUrl: строка, ) => { константный холст = currentCanvasRef.current; новый ImageLoader().load(imageUrl, (изображение) => { const ctx = Canvas.getContext("2d"); холст.ширина = изображение.ширина; холст.высота = изображение.высота; если (ctx) { ctx.clearRect(0.0, 0.0, холст.ширина, холст.высота); ctx.drawImage(изображение, 0,0, 0,0, изображение.ширина, изображение.высота); } }); }; const handleBrushPointerMove = ( currentPoint: ThreeEvent, prevPoint?: ThreeEvent ) => { // Немного логики рисования }; Что я ожидаю увидеть:


Изображение


И что я на самом деле вижу:


Изображение


ОБНОВЛЕНИЕ: я только что проверил, что массив материалов не работает для сетки. Хотя каждый из материалов работает отдельно, при использовании массива 3D-модель вообще не отображается
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Python – Как добавить прозрачный PNG в прозрачный PNG в Tkinter
    Anonymous » » в форуме Python
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Python – Как добавить прозрачный PNG в прозрачный PNG в Tkinter
    Anonymous » » в форуме Python
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous
  • Наложение пиглета/прозрачный стиль не прозрачный
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Прозрачный материал сцены
    Anonymous » » в форуме Android
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Прозрачный фон DIV
    Гость » » в форуме Html
    0 Ответы
    61 Просмотры
    Последнее сообщение Гость

Вернуться в «Javascript»