[發明專利]一種三維場景中物體自轉及縮放的實現方法、裝置及設備有效
| 申請號: | 201911214456.7 | 申請日: | 2019-12-02 |
| 公開(公告)號: | CN110910515B | 公開(公告)日: | 2023-04-25 |
| 發明(設計)人: | 鄭思慧;范淵 | 申請(專利權)人: | 杭州安恒信息技術股份有限公司 |
| 主分類號: | G06T19/20 | 分類號: | G06T19/20 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王曉坤 |
| 地址: | 310000 浙江省*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 三維 場景 物體 自轉 縮放 實現 方法 裝置 設備 | ||
1.一種三維場景中物體自轉及縮放的實現方法,其特征在于,包括:
在三維場景中添加軌道控制器,并通過所述軌道控制器提供的設置參數將所述三維場景設置為自動旋轉;
利用requsetAnimationFrame依據幀頻對瀏覽器頁面進行重繪,在所述瀏覽器頁面每次重繪前調用回調函數更新所述三維場景與相機位置,其中,所述回調函數由場景渲染函數與所述軌道控制器的更新函數組成;
在運行所述軌道控制器的所述更新函數前,獲取相機的當前三維位置,根據所述當前三維位置距所述三維場景中心點的當前距離,更新所述相機與所述三維場景中心點的目標距離,以得到所述相機的目標三維位置;其中,所述當前距離大于等于預設最小距離閾值小于等于預設最大距離閾值;
將所述目標三維位置傳輸至所述軌道控制器后,運行所述更新函數,以便所述相機沿預設橢圓軌道運行的同時改變所述相機與所述三維場景中心點之間的距離,然后運行所述場景渲染函數對所述三維場景重新渲染;
其中,所述在三維場景中添加軌道控制器,并通過所述軌道控制器提供的設置參數將所述三維場景設置為自動旋轉包括:
在所述三維場景中新建所述軌道控制器;
通過設置controls.autoRotate=true,將所述三維場景設置為自動旋轉模式;
并且,所述根據所述當前三維位置距所述三維場景中心點的當前距離,更新所述相機與所述三維場景中心點的目標距離,以得到所述相機的目標三維位置包括:
判斷所述當前距離是否等于所述預設最小距離閾值;若所述當前距離等于所述預設最小距離閾值,則將所述當前距離增加預設距離長度后,得到所述相機與所述三維場景中心點的目標距離;若所述當前距離不等于所述預設最小距離閾值,則判斷所述當前距離是否等于所述預設最大距離閾值;若所述當前距離等于所述預設最大距離閾值,則將所述當前距離減小所述預設距離長度后,得到所述相機與所述三維場景中心點的目標距離;若所述當前距離不等于所述預設最大距離閾值,則判斷前一幀所述相機至所述三維場景中心點的距離是否小于所述當前距離;若前一幀所述相機至所述三維場景中心點的距離小于所述當前距離,則將所述當前距離增加所述預設距離長度后,得到所述相機與所述三維場景中心點的目標距離;若前一幀所述相機至所述三維場景中心點的距離大于所述當前距離,則將所述當前距離減小所述預設距離長度后,得到所述相機與所述三維場景中心點的目標距離;根據所述目標距離,確定所述相機的目標三維位置。
2.如權利要求1所述的方法,其特征在于,所述利用requsetAnimationFrame依據幀對瀏覽器頁面進行重繪,在所述瀏覽器頁面每次重繪前調用回調函數更新所述三維場景與相機位置包括:
將render()函數與controls.update()函數設置為所述回調函數;
將所述回調函數設置為所述requsetAnimationFrame的參數;
調用所述requsetAnimationFrame依據幀對所述瀏覽器頁面進行重繪,在所述瀏覽器頁面每次重繪前調用所述render()函數與所述controls.update()函數更新所述三維場景與相機位置。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州安恒信息技術股份有限公司,未經杭州安恒信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911214456.7/1.html,轉載請聲明來源鉆瓜專利網。





