RealityView iOS 18 Как точно переместить объект с помощью жеста сенсорного перетаскиванияIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 RealityView iOS 18 Как точно переместить объект с помощью жеста сенсорного перетаскивания

Сообщение Anonymous »

В iOS 18 RealityView очень удобно заменяет SceneKit для создания 3D. Но когда дело доходит до перемещения 3D-объектов с помощью 2D-прикосновения и перетаскивания, я сталкиваюсь с проблемой: я не могу сделать точное движение, например, прикрепить 3D-объект к пальцу во время перетаскивания. на экране это было намного проще в SceneKit с использованием проекта и отмены проекта, а также в ARKit/ARView с использованием raycast и в VisionOS это очень успешно, потому что это 3D Touch, и я могу использовать 3D-локацию в значении жеста, но в 2D это просто невозможно работает
вот самый близкий вариант, который у меня получается, и он перемещает трехмерный объект, но
плохо реагирует на положение пальца.

Код: Выделить всё

import SwiftUI
import RealityKit

struct ContentView: View {
@State var box = Entity()

@State var lastPanTouchPosition: CGPoint = .zero

var body: some View {
RealityView{ content in

let item = ModelEntity(mesh: .generateBox(size: .init(0.25, 0.25, 0.25)), materials: [SimpleMaterial(color: .blue, isMetallic: true)])
box.addChild(item)
content.add(box)
}
.gesture(dragThis)
}

var dragThis: some Gesture {
DragGesture()
.onChanged { value in
print(value.translation)
print(value.location)

let dragRatio: Float = 0.0001

box.position.x += Float(value.translation.width) * dragRatio

box.position.y -= Float(value.translation.height) * dragRatio
}
.onEnded{_ in
box.position = [0, 0, 0]
}
}
}
Изображение


Подробнее здесь: https://stackoverflow.com/questions/791 ... ag-gesture
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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