一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Vision Pro開發(fā)實踐(結(jié)合24黑馬idea)

京東云 ? 來源:jf_75140285 ? 作者:jf_75140285 ? 2024-09-04 17:56 ? 次閱讀

這是我參與創(chuàng)作者計劃的第1篇文章

開篇

之前寫過一篇文章,主要介紹visionPro基本信息、操作和基礎(chǔ)適配的文章: http://sd.jd.com/article/30242?shareId=152384&isHideShareButton=1

恰逢2024黑客馬拉松舉行,我結(jié)合本次參賽的一個idea,介紹一下visionOS的開發(fā)實踐,希望能為大家在進行“空間計算”開發(fā)的過程當(dāng)中提供幫助。

idea內(nèi)容

這次結(jié)合的idea是我參加黑馬比賽時想到的,主要內(nèi)容是:在商品評價時增加商品的3D模型,用戶可以在虛擬現(xiàn)實環(huán)境中查看商品的3D模型,并對模型的特定位置進行評論。例如,用戶可以點擊運動鞋鞋底部分,留下關(guān)于材質(zhì)和舒適度的評論。直接在商品3D模型的對應(yīng)位置添加詳細(xì)評論具像化評價內(nèi)容,更為直觀。

結(jié)合這個idea我實踐開發(fā)了簡單的展示Demo,開發(fā)過程和用到的知識點比較適合作為visionOS開發(fā)入門的教程,所以在本篇文章里向大家作簡單的介紹。

實踐開發(fā)

場景

結(jié)合idea,我們要做的工作,首先是采用mixed的展示形式,這樣更符合“商品評價”的應(yīng)用場景。如果對.mixed, .progressive,.full三種展示形式還不了解的同學(xué),可以看我前一篇文章的介紹。

@main
struct MyImmersiveApp: App {
    @State private var currentStyle: ImmersionStyle = .mixed


    var body: some Scene {
        WindowGroup() {
            ContentView()
        }


        // Display a fully immersive space.
        ImmersiveSpace(id: "USDZ Test") {
        }.immersionStyle(selection: $currentStyle)
    }
}

后續(xù)的開發(fā)主要集中在ContentView中。

添加3D模型

Xcode原生支持的3D模型文件類型是.usdz,支持編程的模型文件類型是.reality,右鍵點擊工程,可以直接向工程里添加模型文件。

wKgZombX08SAVJnJAAKIjvbhxvw902.png

添加后的模型可以預(yù)覽

wKgaombX08WAUysUAANlBjuLik0143.png

visionOS開發(fā)中主要有兩種方式向view中添加3D模型:Model3D和RealityView+ModelEntity

Model3D

Model3D(named: "sneaker", bundle: realityKitContentBundle)
    .scaleEffect(0.1)
    .frame(depth: 120)
    .frame(width: 200, height: 200)
    .background(Color.gray.opacity(0.3))
    .cornerRadius(12)

這種方式主要用于簡單的加載和展示3D模型,如果僅用于展示,可以采用這種方式。

RealityView+ModelEntity

RealityView { content in
    if let sneaker = try? await ModelEntity(named: "sneaker") {
        content.add(sneaker)
    } Task {
        // Asynchronously perform any additional work to configure
        // the content after the system renders the view.
    }
}
.frame(width: 600, height: 600)
.scaleEffect(1)
.edgesIgnoringSafeArea(.all)
.background(Color.white.opacity(0.1))

利用ModelEntity加載模型,添加到RealityView的content中展示,這樣可以對模型做各種操作,比如添加子模型,修改光照,材質(zhì)等要素。舉個例子來講,我需要在運動鞋模型“sneaker”上面添加一個可以與用戶交互的白色圓點模型,用于在用戶點擊的時候添加/展示對應(yīng)部分的評價。

// 創(chuàng)建白色圓點
let sphere = MeshResource.generateSphere(radius: 0.8)
// 材質(zhì)
let material = SimpleMaterial(color: .white, isMetallic: false)
let sphereEntity = ModelEntity(mesh: sphere, materials: [material])
                                    
// Add tap gesture to the model
sphereEntity.generateCollisionShapes(recursive: true)
// 將圓點放置在運動鞋模型的底部
sphereEntity.position = [-10, -0.8, 3] //
// 將圓點添加到模型
sneaker.addChild(sphereEntity)

效果:

wKgZombX08aAK5zQAAzjrbSwaXk905.png

用戶交互

模型旋轉(zhuǎn)可以通過gesture實現(xiàn),使用戶可以360度的觀察商品,并在不同的位置添加評論:

@State private var sneaker: ModelEntity?

.gesture(
    DragGesture()
    .onChanged { value in
        // 計算旋轉(zhuǎn)角度
        let rotationDelta = Float(value.translation.width / 100.0) // 調(diào)整比例因子以控制旋轉(zhuǎn)速度
        print("drag!(rotationDelta)")
        if let modelEntity = sneaker {
            modelEntity.transform.rotation = simd_quatf(angle: currentRotation + rotationDelta, axis: [0, 1, 0])
        }
    }
    .onEnded { value in
        // 更新當(dāng)前旋轉(zhuǎn)角度
        currentRotation += Float(value.translation.width / 100.0)
    }
)

效果:

wKgaombX08uAAFyBACfp00Kb_NQ769.gif

然后為該模型添加點擊效果,點擊時展示用戶針對商品該部分的詳細(xì)評論:

.onTapGesture {
    showTextOverlay.toggle()
}

效果:

wKgZombX09SANS-OAFjEtoKamio740.gif

更多擴展

如果有一定的3D模型編程經(jīng)驗,就可以直接把用戶交互做在模型上,比如展示商品材質(zhì),使用動畫等等,我借用蘋果官方提供的示例模型進行演示:

wKgaombX09eAK7D6AAjvx7xGJRw272.gif

同時,可以為該商品添加空間視頻評價,利用visionPro拍攝的空間視頻,可以直接通過AVKit加載,上傳和播放,使用戶可以通過空間視頻第一視角真切地看到商品的真實情況,增強用戶信心:

import AVKit

public func makeVideoEntity() -> Entity {
    let entity = Entity()
    // 加載視頻
    let asset = AVURLAsset(url: Bundle.main.url(forResource: "evaluate", withExtension: "MOV")!)
    let paltItem = AVPlayerItem(asset: asset)
    // 創(chuàng)建播放器
    let player = AVPlayer()
    entity.components[VideoPlayerComponent.self] = .init(avPlayer: player)
    // 操作視頻文件
    entity.scale *= 0.4
    player.replaceCurrentItem(with: paltItem)
    //播放
    player.play()
        
    return entity
}

其他idea

本次參加黑馬大賽,我還有兩個更進一步的idea:

3D模型動畫展示

?用戶可以直接對商品3D模型進行操作,掌握使用方法,了解相關(guān)特性

?功能描述:通過3D模型動畫,用戶可以直觀地了解產(chǎn)品的特性和使用方法。例如,用戶可以看到升降桌的升降詳細(xì)過程,或者一款咖啡機的操作步驟。

?實現(xiàn)方式:在3D模型中嵌入動畫腳本,用戶可以通過點擊或語音指令觸發(fā)動畫播放。動畫將展示產(chǎn)品的各個細(xì)節(jié)和使用場景,幫助用戶更好地理解產(chǎn)品。

比如,可以直接通過3D模型演示宇航服的開啟和穿戴方法,用戶可以360度的學(xué)習(xí):

wKgaombX09uAJMpTACDRRBpsLNI610.gif

虛擬商品銷售

?在京東app直接購買虛擬類型商品,并能夠直接在京東vision的虛擬空間中使用

?功能描述:針對非實體類虛擬商品,拓展新的銷售模式和渠道,購買的商品可以在虛擬現(xiàn)實設(shè)備中展示和使用。例如花卉商品的3D模型、畫作等。

?實現(xiàn)方式:通過NFT等認(rèn)證技術(shù)授予購買者產(chǎn)權(quán)認(rèn)證,在京東vision中創(chuàng)建虛擬空間,用戶可以查看、擺放和使用虛擬商品。

形象一下:藝術(shù)家可以直接在京東上架自己的虛擬藝術(shù)品,用戶購買后可以在京東Vision的虛擬空間里直接陳列展示。我可以擁有全虛擬世界唯一的一副《蒙娜麗莎》,并把它掛在我家的墻上!

這種營銷模式在國外的某些平臺上已經(jīng)有所嘗試,我們可以搶占商機,拓寬出這樣一條新的賽道。

?審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    372

    瀏覽量

    41251
  • VisionPro
    +關(guān)注

    關(guān)注

    6

    文章

    20

    瀏覽量

    15728
  • idea
    +關(guān)注

    關(guān)注

    1

    文章

    70

    瀏覽量

    4487
收藏 人收藏

    評論

    相關(guān)推薦

    好了,我們來好好聊聊Vision Pro這東西吧!

    好了,我們來好好聊聊Vision Pro這東西吧! 01 Vision Pro是個啥 這東西就是這次蘋果推出的Apple Vision
    發(fā)表于 06-07 10:14

    蘋果MR Vision Pro將會帶動哪些零部件出貨?

    蘋果身上。 簡單來說,Vision Pro本質(zhì)上其實還是VR設(shè)備,不過所有操作界面可以結(jié)合頭顯攝像頭捕捉的外界環(huán)境,在頭顯內(nèi)部顯示出來,即一款數(shù)字內(nèi)容無縫融入真實世界的VR顯示設(shè)備。同時Vi
    發(fā)表于 06-08 10:19

    LabVIEW調(diào)用康耐視Vision Pro dll

    LabVIEW調(diào)用康耐視Vision Pro dll,直接調(diào)用CogToolBlock
    發(fā)表于 09-08 15:07

    儀器設(shè)備研制與開發(fā)-科研與實踐教學(xué)結(jié)合,自主開發(fā)實踐教學(xué)設(shè)

    摘 要:我們將科研與實踐教學(xué)相結(jié)合,有意識地將科研成果轉(zhuǎn)移到學(xué)生的實踐教學(xué)中去,自主開發(fā)了3套學(xué)生實踐教學(xué)使用的設(shè)備和系統(tǒng),對學(xué)生素質(zhì)培養(yǎng)起
    發(fā)表于 02-14 16:11 ?0次下載

    IntelliJ Idea開發(fā)環(huán)境安裝教程

    我們后面會在IntelliJ Idea開發(fā),因此先安裝開發(fā)環(huán)境。
    的頭像 發(fā)表于 10-17 10:53 ?1519次閱讀

    TinyAnimal:Grove Vision AI上的動物識別實踐

    電子發(fā)燒友網(wǎng)站提供《TinyAnimal:Grove Vision AI上的動物識別實踐.zip》資料免費下載
    發(fā)表于 06-13 16:20 ?0次下載
    TinyAnimal:Grove <b class='flag-5'>Vision</b> AI上的動物識別<b class='flag-5'>實踐</b>

    蘋果公司或下調(diào)MR頭顯Vision Pro的產(chǎn)量

    蘋果公司或下調(diào)MR頭顯Vision Pro的產(chǎn)量 蘋果的MR頭顯Vision Pro一經(jīng)推出就吸引了一大批的眼球,盡管價錢高到離譜,依然被寄予厚望。 在2023年6月6日的蘋果WWDC
    發(fā)表于 07-04 11:58 ?5628次閱讀

    蘋果apple Vision Pro 設(shè)計亮點,震撼!

    近期,蘋果重磅發(fā)布Apple Vision Pro,標(biāo)志著用戶界面UI設(shè)計方式的革新。蘋果Apple Vision Pro 是一種VR 和 AR 混合現(xiàn)實
    的頭像 發(fā)表于 07-04 19:56 ?3241次閱讀
    蘋果apple <b class='flag-5'>Vision</b> <b class='flag-5'>Pro</b> 設(shè)計亮點,震撼!

    Intellij IDEA 開發(fā)工具實例

    本篇博客我們將會以Intellij IDEA 開發(fā)工具為例,所以我這里簡單談?wù)勎覀兯褂玫?b class='flag-5'>開發(fā)工具。 目前大家做Java開發(fā)的,無外乎就兩種,eclipse或者Intellij
    的頭像 發(fā)表于 09-25 16:21 ?1056次閱讀
    Intellij <b class='flag-5'>IDEA</b> <b class='flag-5'>開發(fā)</b>工具實例

    曝蘋果砍掉了低配版Vision Pro:銷量不被看好

    分析師郭明錤據(jù)蘋果已經(jīng)取消了他開發(fā)低配版vision pro 2024年vision pro的出貨量為40萬到60萬輛之間,不會有大幅增長。
    的頭像 發(fā)表于 09-28 14:41 ?1141次閱讀

    蘋果Vision Pro這塊屏,有故事

    體驗過 Vision Pro 的媒體們都對這兩塊屏幕的顯示效果表示了肯定。屏幕顯示效果可以說是 XR 都帶設(shè)備的靈魂,而 Vision Pro 的屏幕做到了看不到像素點,幾乎就是肉眼看
    的頭像 發(fā)表于 10-22 10:11 ?2938次閱讀
    蘋果<b class='flag-5'>Vision</b> <b class='flag-5'>Pro</b>這塊屏,有故事

    蘋果Vision Pro夏季將在法國推出?

    據(jù)悉,自去年12月份以來,蘋果已經(jīng)針對美國零售員工啟動Vision Pro相關(guān)培訓(xùn),并在今年1月中旬開展,此時距離Vision Pro正式開售僅有兩周左右。
    的頭像 發(fā)表于 03-30 11:13 ?1742次閱讀

    Vision Board 創(chuàng)客營】Vision Board上的DAC實踐

    1、概述 感謝官方舉辦【Vision Board 創(chuàng)客營】活動,使得我有機會試用Vision Board開發(fā)板,體驗嵌入式AI的快樂。在此,再次感謝官方以及導(dǎo)師們的熱情幫助。在本次活動中,本人
    的頭像 發(fā)表于 04-24 21:55 ?864次閱讀
    【<b class='flag-5'>Vision</b> Board 創(chuàng)客營】<b class='flag-5'>Vision</b> Board上的DAC<b class='flag-5'>實踐</b>

    蘋果擱置Vision Pro 2開發(fā),轉(zhuǎn)向更親民頭顯

    在全球科技行業(yè)持續(xù)發(fā)展的背景下,蘋果公司的一則最新消息引起了廣泛關(guān)注。由于第一代Vision Pro頭顯設(shè)備上市后銷售情況并不理想,蘋果決定暫時擱置第二代Vision Pro
    的頭像 發(fā)表于 06-20 10:52 ?824次閱讀

    蘋果低價版Vision Pro量產(chǎn)延至2027年后

    知名分析師郭明錤近日發(fā)表觀點,指出低價版Vision Pro的量產(chǎn)時間已被遞延至2027年之后,這一決定已醞釀多時。 據(jù)悉,Vision Pro是蘋果公司推出的一款頭戴顯示設(shè)備,因其出
    的頭像 發(fā)表于 11-05 10:40 ?507次閱讀