TW202032328A - 物件操控方法、主機裝置及電腦可讀儲存媒體 - Google Patents

物件操控方法、主機裝置及電腦可讀儲存媒體 Download PDF

Info

Publication number
TW202032328A
TW202032328A TW109104847A TW109104847A TW202032328A TW 202032328 A TW202032328 A TW 202032328A TW 109104847 A TW109104847 A TW 109104847A TW 109104847 A TW109104847 A TW 109104847A TW 202032328 A TW202032328 A TW 202032328A
Authority
TW
Taiwan
Prior art keywords
controller
operable object
cursor
vector
value
Prior art date
Application number
TW109104847A
Other languages
English (en)
Other versions
TWI737175B (zh
Inventor
鍾維人
Original Assignee
宏達國際電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 宏達國際電子股份有限公司 filed Critical 宏達國際電子股份有限公司
Publication of TW202032328A publication Critical patent/TW202032328A/zh
Application granted granted Critical
Publication of TWI737175B publication Critical patent/TWI737175B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

本發明提供一種物件操控方法、主機裝置及電腦可讀儲存媒體。所述方法包括:響應於一可操作物件被選擇,將一游標顯示在該可操作物件上;響應於一控制器的移動而在該可操作物件上移動該游標;以及響應於一移動觸發事件,依據該控制器的該移動來移動該可操作物件。

Description

物件操控方法、主機裝置及電腦可讀儲存媒體
本發明是有關於一種虛擬實境(virtual reality,VR),且特別是有關於一種用於操控VR服務中物件的物件操控方法、主機裝置及電腦可讀儲存媒體。
在VR世界中,由於VR控制器需要被精確地調整,而此種調整行為需要非常專注的控制,因此用戶很難執行調整和輸入。因此,研發人員不願意製作需要精細移動的用戶界面。例如,在VR環境中,可以使用控制桿將音量從0調節到100。由於螢幕的限制,控制桿通常不是很寬。如果用戶希望將音量微調到0到100之間的值,則用戶的手必須高度穩定。若此行為過於困難,則研發人員可能希望使用不太精確的範圍,例如0到10。或者,研發人員可以設計用於用戶執行調整的按鈕,例如+和–按鈕,但是整個調整將需要用戶重複執行按壓按鈕的動作,而不是一次完成調整。
控制器的精度經常不足,並且容易跳動和搖晃,這可能給用戶帶來不滿意的體驗。具體而言,用戶必須使用指向螢幕的控制器點並準確瞄準一些小的控制點,這可能會使用戶疲累。另外,還難以設計出便於用戶在處於平躺姿勢時使用VR的便捷控制方式。
有鑑於此,本發明提供一種物件操控方法、主機裝置及電腦可讀儲存媒體,其可用於解決上述技術問題。
本發明提供一種物件操控方法,包括:響應於一可操作物件被選擇,將一游標顯示在可操作物件上;響應於一控制器的移動而在可操作物件上移動游標;以及響應於一移動觸發事件,依據控制器的移動來移動可操作物件。
本發明提供一種主機裝置,包括儲存電路及處理器。儲存電路儲存多個模組。處理器耦接於儲存電路,並存取前述模塊以執行以下步驟:響應於一可操作物件被選擇,將一游標顯示在可操作物件上;響應於一控制器的移動而在可操作物件上移動游標;以及響應於一移動觸發事件,依據控制器的移動來移動可操作物件。
本發明提供一種電腦可讀儲存媒體,其記錄將一可執行電腦程式,可執行電腦程式經載入於一主機裝置以執行下列步驟:響應於一可操作物件被選擇,將一游標顯示在可操作物件上;響應於一控制器的移動而在可操作物件上移動游標;以及響應於一移動觸發事件,依據控制器的移動來移動可操作物件。
概略而言,本揭露提供了一種物件操控方法,其經設計為降低執行選擇的困難度並提供研發人員更多的設計可能性。
請參照圖1,其是依據本發明實施例繪示的主機裝置的功能方塊圖。在不同的實施例中,主機裝置100可以實現為電腦、智慧型手機、伺服器、平板電腦等,但本揭露不限於此。在一實施例中,主機裝置100可以是VR系統的一部分,所述VR系統可包括頭戴式顯示器、一對控制器、基地台、鏈接盒(link box)等,且主機裝置100可用於運行VR軟體,以向其用戶提供VR服務。
如圖1所示,主機裝置100 包括儲存電路102及處理器104。儲存電路102例如是任意型式的固定式或可移動式隨機存取記憶體(Random Access Memory,RAM)、唯讀記憶體(Read-Only Memory,ROM)、快閃記憶體(Flash memory)、硬碟或其他類似裝置或這些裝置的組合,而可用以記錄多個程式碼或模組。
處理器104耦接於儲存電路102,並可為一般用途處理器、特殊用途處理器、傳統的處理器、數位訊號處理器、多個微處理器(microprocessor)、一個或多個結合數位訊號處理器核心的微處理器、控制器、微控制器、特殊應用積體電路(Application Specific Integrated Circuit,ASIC)、現場可程式閘陣列電路(Field Programmable Gate Array,FPGA)、任何其他種類的積體電路、狀態機、基於進階精簡指令集機器(Advanced RISC Machine,ARM)的處理器以及類似品。
在本發明的實施例中,處理器104可存取儲存電路102中記錄的模組、程式碼來實現本發明提出的物件操控方法,其細節詳述如下。
請參照圖2,其是依據本發明之一實施例繪示的物件操控方法流程圖。本實施例的方法可由圖1的主機裝置100執行,以下即搭配圖1所示的元件說明圖2各步驟的細節。
另外,為便於理解本揭露的概念,以下將輔以圖3A至圖3H作說明,其中圖3A至圖3H是依據本揭露實施例繪示的如何操控可操作物件的示意圖,但本揭露可不限於此。
請參照圖3A,其繪示有可操作物件310。在本實施例中,可操作物件310可以是VR環境中的轉盤,且用戶可以透過使用控制器將可操作物件(operable object)310朝方向D1或D2旋轉。為了提供視覺上的輔助,可操作物件310可設置有參考點310a,其可便於用戶觀察可操作物件310的旋轉。此外,圖3A還可顯示控制器代表(controller representative)320。控制器代表320可以具有錨定(anchor)部分320a和指向(pointing)部分320b,其中錨定部分320a可設計為停留在所示位置,而不會響應於控制器的移動而四處移動。指向部分320b可用於表示控制器當前指向的位置,但本揭露不限於此。
此外,圖3A還示出了座標系統399,其可以是一右手座標系統。亦即,可基於右手規則來定義座標系統399的X軸、Y軸和Z軸上個別的正/負旋轉方向。因此,依據定義,方向D1可以是在Y軸上的正旋轉方向,方向D2可以是在Y軸上的負旋轉方向,並且可操作物件310可以在Y軸上旋轉。
在一實施例中,當用戶欲旋轉可操作物件310時,用戶可以使用指向部分320b指向可操作物件310並透過例如按下控制器上的一些特定按鈕來選擇可操作物件310,但本揭露不限於此。在其他實施例中,用戶可以透過與VR技術有關的任何已知方式來選擇可操作物件310。
請參照圖2,在步驟S210中,響應於可操作物件310被選擇,處理器104可將游標330顯示在可操作物件310上。在步驟S220中,處理器104可響應於控制器的移動而在可操作物件310上移動游標330。
在本實施例中,游標330可以用於提示/告知用戶如何旋轉可旋轉物件310,並且游標330可經設計為可在可視窗口330a中進行一維(one dimension)移動。具體而言,在游標330顯示於可視窗口330a中的第一位置之後,處理器104可以取得由控制器連續輸入的多個控制器向量。
在第一實施例中,對於控制器向量中的第一控制器向量,處理器104可以取得在旋轉軸上的第一控制器向量的第一旋轉分量。即,處理器104可以取得第一控制器向量在Y軸上的旋轉分量。
接著,對於控制器向量中的第二控制器向量,處理器104可以取得第二控制器向量在上述旋轉軸上的第二旋轉分量,其中第二控制器向量接續於第一控制器向量之後。亦即,處理器104亦可取得第二控制器向量在Y軸上的旋轉分量。
之後,處理器104可以取得第一旋轉分量和第二旋轉分量之間的旋轉分量差。由於第二控制器向量在第一控制器向量之後,因此處理器104可以第一旋轉分量減去第二旋轉分量以取得旋轉分量差。
在第二實施例中,對於控制器向量中的第一控制器向量,處理器104可以在一特定軸上取得第一控制器向量的第一平移分量。在第二實施例中,特定軸可以是方向D1和D2對應的軸。以圖3A為例,由於可以將方向D1和D2視為位於由X軸和Z軸形成的平面上,因此可以選擇X軸或Z軸作為特定軸,但本揭露不限於此。在其他實施例中,上述特定軸可以是垂直於旋轉軸的任何軸,但本揭露不限於此。為便於進行以下討論,X軸將被視為特定軸。即,處理器104可以取得第一控制器向量在X軸上的平移分量。
接著,對於控制器向量中的第二控制器向量,處理器104可以取得第二控制器向量在特定軸(例如,X軸)上的第二平移分量,其中第二控制器向量接續於第一控制器向量之後。即,處理器104亦可取得第二控制器向量在X軸上的平移分量。
之後,處理器104可以取得第一平移分量和第二平移分量之間的平移分量差。由於第二控制器向量接續於第一控制器向量之後,因此處理器104可以第一平移分量減去第二平移分量以取得平移分量差。
因此,基於第一實施例中的旋轉分量差或第二實施例中的平移分量差,處理器104可以將游標330從圖3B中例示的第一位置移至圖3C中例示的第二位置。
簡言之,在圖3B所示的情境中,用戶例如可向左滑動控制器以控制游標330相應地移動。相應地,在第一實施例中,處理器104可以基於在旋轉軸(即,Y軸)上的前述旋轉分量差將游標330向左移動。在第二實施例中,處理器104可以基於在特定軸(即,X軸)上的前述平移分量差將游標330向左移動。
然而,如上所述,由於游標330僅是視覺輔助,所以可操作物件310實際上不會隨著游標330的移動而旋轉。在圖3D中,即使游標330朝另一個方向移動,可操作物件310也不會旋轉。
接下來,在圖2的步驟S230中,處理器104可響應於一移動觸發事件而依據控制器的移動來移動可操作物件310。在一實施例中,當控制器上的某些特定按鈕在游標330顯示於可視窗口330a中被(持續地)按壓時,可判定發生了移動觸發事件,但本揭露不限於此。
在圖3E、3F、3G所示的過程中,當用戶在觸發移動觸發事件的同時向右滑動控制器時,可操作物件310將依據控制器的移動而朝方向D1旋轉。從另一個觀點而言,可操作物件310將依據游標330的移動朝方向D1旋轉。
在本實施例中,旋轉可操作物件310的機制可以類似於移動游標330的機制。具體而言,在第一實施例中,響應於移動觸發事件,處理器104可以取得由控制器連續輸入的多個控制器向量。對於上述控制器向量中的第一控制器向量,處理器104可以在旋轉軸(即,Y軸)上取得第一控制器向量的第一旋轉分量。對於控制器向量中的第二控制器向量,處理器104可以在旋轉軸上取得第二控制器向量的第二旋轉分量,其中第二控制器向量接續於第一控制器向量之後。接下來,處理器104可以取得第一旋轉分量和第二旋轉分量之間的旋轉分量差,並基於該旋轉分量差使可操作物件310沿旋轉軸(即,Y軸)旋轉。不限於此。
在第二實施例中,響應於移動觸發事件,處理器104可取得由控制器連續輸入的多個控制器向量。對於上述控制器向量中的第一控制器向量,處理器104可以取得第一控制器向量在特定軸(即,X軸)上的的第一平移分量。對於控制器向量中的第二控制器向量,處理器104可以取得第二控制器向量在特定軸上的第二平移分量,其中第二控制器向量接續於第一控制器向量之後。接下來,處理器104可以取得第一平移分量和第二平移分量之間的平移分量差,並基於平移分量差沿旋轉軸(即,Y軸)旋轉可操作物件310,但本揭露不限於此。
此外,由圖3H可看出,當用戶在觸發移動觸發事件的同時向左滑動控制器,可操作物件310將依據控制器的移動而朝方向D2旋轉。
在一些實施例中,用戶可以透過例如釋放控制器上的特定按鈕來停止運動觸發事件。響應於此,處理器104將再次執行步驟S220以移動游標330而不旋轉可操作物件310。
此外,如上所述,由於可將游標330設計為限制在可視窗口330a中,所以當游標330到達可視窗口330a的邊界時,可操作物件310的旋轉將相應地停止。在此情況下,若用戶欲向方向D1重複地旋轉可操作物件310,則用戶可重複執行以下步驟:(1)在觸發移動觸發事件的同時向右滑動控制器;(2)停止移動觸發事件,並將控制器向左滑動。
應注意的是,儘管以上實施例中僅提及可操作物件310可在Y軸上旋轉,但本發明的方法可廣泛地理解為可基於更複雜的控制器向量類型而在多個軸上旋轉其他可操作物件。
另外,可操作物件310可被設計為對應於VR環境中的配置值,例如音量或是門/閥門的打開程度。因此,隨著可操作物件310的旋轉,可因應於此調整相應的配置值。例如,當可操作物件310朝方向D1/D2旋轉時,可以增加/減小配置值,但本揭露不限於此。
此外,處理器104可依據可操作物件310的移動程度來調整對應於可操作物件310的配置值。例如,可操作物件310旋轉得越多,則配置值被調整得越多。
基於上述教示可知,本發明的物件操控方法為用戶提供了一種在VR環境下操作物件的新穎方式,使得用戶的操作難度大以及研發人員研發困難度能夠同時降低。
在其他實施例中,本揭露中提供的方法可以用於操作其他類型的物件並調整對應的配置值,以下將作進一步說明。
在一實施例中,假設存在介於第一配置邊界值(例如,0)和第二配置邊界值(例如,2000)之間的配置值。當游標出現於可視窗口中時,游標可以設置於可視窗口中的預定位置並指示配置值(例如550)。可視窗口對應於數值範圍,並且此數值範圍在第一窗口邊界值和第二窗口邊界值之間。在本實施例中,可假設游標指向可視窗口的中心。在此情況下,可視窗口的數值範圍可以在100(即550-900/2)和1000(即550+900/2)之間。此外,數值範圍可映射到0到1之間的正規化(normalized)範圍。
接著,隨著控制器的移動,可基於數值範圍將第一實施例中的旋轉分量差或第二實施例中的平移分量差映射為偏移值(offset value),其中偏移值可在0和1之間。在一些實施例中,可基於研發者的需求來設計將旋轉分量差或平移分量差映射為偏移值的方式。舉例而言,如果第一實施例中的旋轉分量差是+1度(例如,錨定部分320a已經旋轉+1度),則偏移值可以增加0.01。即,可以透過將旋轉分量差除以100來取得偏移值,但本揭露不限於此。舉另一例而言,若第二實施例中的平移分量差為+1(例如,若特定軸為X軸,則控制器已沿正X方向移動了1),則偏移值可以為增加了0.01。即,可以透過將平移分量差除以100來取得偏移值,但本揭露不限於此。
假設偏移值是+0.2,則處理器104可以透過將窗口差與偏移值相乘來計算移位值(shift value),其中,窗口差是第一窗口邊界值與第二窗口邊界值之間的差。例如,窗口差可以是900(即1000-100),而移位值可以是180(即900×0.2)。之後,處理器104可將配置值與移位值相加以更新配置值。例如,更新的配置值可以是730(即550+180)。處理器104可透過將移位值加到第一窗口邊界值和第二窗口邊界值來更新可視窗口的數值範圍。亦即,更新後的數值範圍可介於280(即100+180)和1180(即1000+180)之間。
請參照圖4A至圖4C,其是依據本發明一實施例繪示的操控物件的示意圖。在圖4A中,界面400可以是用於讓用戶調整配置的VR界面。如圖4A所示,界面400包括可操作物件410、420和430,其中可操作物件410和420可以分別是包括選項的選單,並且可操作物件430可以是可調桿(adjustable bar)。
在圖4A中,可假設為已選擇可操作物件410,故在可操作物件410的可視窗口410b中相應地示出了游標410a。對應於可操作物件410的配置值可映射至可操作物件410中的選項之一。
具體而言,配置值可介於第一配置邊界值和第二配置邊界值之間。在圖4A中,假設可操作物件410為包括八個選項的可滾動選單,並且可視窗口410b當前示出八個選項中的五個。在此情況下,對應於可操作物件410的配置值可介於0(即,第一配置邊界值)和7(即,第二配置邊界值)之間。
在圖4A所示的情境中,可將配置值映射至由游標410a指示的選項411a。另外,可視窗口410b可經定義為對應於一數值範圍,此數值範圍可經定義為介於第一窗口邊界值和第二窗口邊界值之間。在圖4A中,可視窗口的數值範圍可以在1(即,第一窗口邊界值)和5(即,第二窗口邊界值)之間,並且由於在可操作物件410中存在五個選項,故窗口差可以是5。
此外,也可以在可視窗口410b中顯示游標410c,並且可以基於類似於移動游標330的機制來移動游標410c。
基於移動游標410c的類似機制,游標410a例如可隨著控制器的向下移動而向下移動。例如,在第一實施例中,可以取得連續的控制器向量之間在旋轉軸(在此情況下可為X軸或水平軸)上的旋轉分量差,以判定如何移動游標410c和游標410a。在第二實施例中,可以取得連續的控制器向量之間在特定軸(在此情況下可為Y軸或垂直軸)上的平移分量差,以判定如何移動游標410c和游標410a。關於旋轉/平移分量差異的詳細討論可以參考前述實施例,於此不另贅述。
然而,假設用戶直接選擇選項411a,此將導致出現圖4B所示的情境。
在圖4B所示的情境中,配置值可以被映射至選項421a,其由游標420a指示。另外,可視窗口420b可以被定義為對應於一數值範圍,此數值範圍可以被定義為在第一窗口邊界值和第二窗口邊界值之間。在圖4B中,可視窗口的數值範圍可以在0(即,第一窗口邊界值)和2(即,第二窗口邊界值)之間,並且由於在可操作物件420中存在三個選項,所以窗口差可以是3。
此外,游標410c也可以顯示於可視窗口420b中,並且游標410c可以基於先前提及的機制而移動。
基於類似於移動游標410c的機制,游標420a例如可隨著控制器的向下移動而向下移動。
然而,假設用戶直接選擇選項421a,此將導致出現圖4C所示的情境。
在圖4C所示的情境中,配置值可以在第一配置邊界值(例如,0)和第二配置邊界值(例如,100)之間的範圍內。游標430a可以用於指示當前配置,並且游標430a可以依據控制器的移動在可視窗口430b中移動。
此外,游標410c也可顯示於可視窗口430b中,並且游標410c可以基於先前提及的機制而移動。
基於先前實施例的教示,游標430a可以隨著控制器的水平移動而水平移動。例如,在第一實施例中,可以取得連續的控制器向量之間在旋轉軸(在此情況下可為Y軸或垂直軸)上的旋轉分量差,以判定如何移動游標430a。在第二實施例中,可以取得連續的控制器向量之間在特定軸(在此情況下可為X軸或水平軸)上的平移分量差,以判定如何移動游標430a。
換言之,圖4C中情境可視為移動游標430a以指向不同的配置值。然而,在其他實施例中,游標的位置可以是固定的,而可視窗口的數值範圍可以隨著控制器的移動而調節。
請參照圖5,其是依據本發明一實施例繪示的隨著控制器的移動來調整可視窗口的數值範圍的示意圖。在圖5中,假設由可操作物件510中的游標510a指示的配置值為9,998,並且此配置值可以在0和
Figure 02_image001
之間調整。對應於可視窗口510b的數值範圍的窗口差可以是2500,並且此數值範圍在第一窗口邊界值和第二窗口邊界值之間。在此實施例中,可假設游標510a固定地指向可視窗口510b的中心。在圖5中,可視窗口510b的數值範圍可以隨控制器的移動而調節,其細節可以參考第一實施例的描述,於此不另贅述。
本發明還提供一種用於執行前述物件操控方法的電腦可讀儲存媒體。電腦可讀儲存媒體由其中包含的多個程式指令(例如,設置程式指令和部署程式指令)組成。這些程式指令可以被載入至電子裝置(例如,主機裝置100)中並由其執行以執行上述的物件操控方法。
綜上所述,本揭露的物件操控方法、主機裝置和電腦可讀儲存媒體為用戶提供了一種在VR環境中操作物件(例如旋轉物件和/或調整配置值)的新穎方式。因此,用戶可以容易地執行精細調整,並且調整可以立即完成。如此一來,可以減輕用戶的操作困難度和研發人員的研發困難度。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100:主機裝置 102:儲存電路 104:處理器 310, 410, 420, 430, 510:可操作物件 310a:參考點 320:控制器代表 320a:錨定部分 320b:指向部分 330, 410a, 410c, 420a, 430a, 510a:游標 330a, 410b, 420b, 430b, 510b:可視窗口 399:座標系統 400:界面 411a, 421a:選項 D1, D2:方向 S210~S230:步驟
圖1是依據本發明實施例繪示的主機裝置的功能方塊圖圖。 圖2是依據本發明之一實施例繪示的物件操控方法流程圖。 圖3A至圖3H是依據本揭露實施例繪示的如何操控可操作物件的示意圖。 圖4A至圖4C是依據本發明一實施例繪示的操控物件的示意圖。 圖5是依據本發明一實施例繪示的隨著控制器的移動來調整可視窗口的數值範圍的示意圖。
S210~S230:步驟

Claims (20)

  1. 一種物件操控方法,包括: 響應於一可操作物件被選擇,將一游標顯示在該可操作物件上; 響應於一控制器的移動而在該可操作物件上移動該游標;以及 響應於一移動觸發事件,依據該控制器的該移動來移動該可操作物件。
  2. 如請求項1所述的方法,其中該可操作物件包括一虛擬實境物件。
  3. 如請求項1所述的方法,更包括: 依據該可操作物件的一旋轉程度調整對應於該可操作物件的一組態值。
  4. 如請求項1所述的方法,其中該可操作物件設置有用於顯示該游標的一可視窗口,並且響應於該控制器的該移動而在該可操作物件上移動該游標的步驟包括: 響應於該控制器的該移動而在該可視窗口中移動該游標。
  5. 如請求項4所述的方法,其中該可操作物件可旋轉於一旋轉軸上,並且響應於該控制器的該移動而在該可視窗口中移動該游標的步驟包括: 在將該游標顯示在該可視窗口的一第一位置之後,取得由該控制器連續輸入的多個控制器向量; 對於該些控制器向量中的一第一控制器向量,取得該第一控制器向量在該旋轉軸上的一第一旋轉分量; 對於該些控制器向量中的一第二控制器向量,取得該第二控制器向量在該旋轉軸上的一第二旋轉分量,其中該第二控制器向量接續於該第一控制器向量之後; 取得該第一旋轉分量和該第二旋轉分量之間的一旋轉分量差;以及 基於該旋轉分量差將該游標從該第一位置移動到該可視窗口的一第二位置。
  6. 如請求項4所述的方法,其中該可操作物件可旋轉於一旋轉軸上,並且響應於該移動觸發事件,依據該控制器的該移動來移動該可操作物件的步驟包括: 響應於該移動觸發事件,取得由該控制器連續輸入的多個控制器向量; 對於該些控制器向量中的一第一控制器向量,取得該第一控制器向量在該旋轉軸上的一第一旋轉分量; 對於該些控制器向量中的一第二控制器向量,取得該第二控制器向量在該旋轉軸上的一第二旋轉分量,其中該第二控制器向量接續於該第一控制器向量之後; 取得該第一旋轉分量和該第二旋轉分量之間的一旋轉分量差;以及 基於該旋轉分量差使該可操作物件沿著該旋轉軸旋轉。
  7. 如請求項6所述的方法,更包括: 依據該可操作物件的一移動程度調整對應於該可操作物件的一組態值。
  8. 如請求項7所述的方法,其中該組態值顯示在該可視窗口中並由該游標指示,該組態值介於一第一組態邊界值和一第二組態邊界值之間,該游標位於該可視窗口中的一預定位置,該可視窗口對應於一數值範圍,該數值範圍介於一第一窗口邊界值和一第二窗口邊界值之間,且將該數值範圍經映射至介於0及1之間的一正規化範圍,其中: 該旋轉分量差基於該數值範圍而映射為一偏移值,其中該偏移值介於0和1之間; 透過將一窗口差值與該偏移值相乘來計算一移位值,其中該窗口差為該第一窗口邊界與該第二窗口邊界之間的差; 將該組態值與該移位值相加以更新該組態值: 透過將該偏移值加到該第一窗口邊界值和該第二窗口邊界來更新該可視窗口的該數值範圍。
  9. 如請求項4所述的方法,其中,該可操作物件可旋轉於一旋轉軸上,並且響應於該控制器的該移動而在該可視窗口中移動該游標的步驟包括: 在將該游標顯示在該可視窗口的一第一位置之後,取得由該控制器連續輸入的多個控制器向量; 對於該些控制器向量中的一第一控制器向量,取得該第一控制器向量在一特定軸上的一第一平移分量; 對於該些控制器向量中的一第二控制器向量,取得該第二控制器向量在該特定軸上的一第二平移分量,其中該第二控制器向量接續於該第一控制器向量之後; 取得該第一平移分量和該第二平移分量之間的一平移分量差;以及 基於該平移分量差將該游標從該第一位置移動到該可視窗口中的一第二位置。
  10. 如請求項4所述的方法,其中,該可操作物件可旋轉於一旋轉軸上,並且響應於該移動觸發事件,依據該控制器的該移動來移動該可操作物件的步驟包括: 響應於該移動觸發事件,取得由該控制器連續輸入的多個控制器向量; 對於該些控制器向量中的一第一控制器向量,取得該第一控制器向量在一特定軸上的一第一平移分量; 對於該些控制器向量中的一第二控制器向量,取得該第二控制器向量在該特定軸上的第二平移分量,其中該第二控制器向量接續於該第一控制器向量之後; 取得該第一平移分量和該第二平移分量之間的一平移分量差;以及 基於該平移分量差沿該旋轉軸旋轉該可操作物件。
  11. 如請求項10所述的方法,更包括: 依據該可操作物件的移動程度,調整對應於該可操作物件的一組態值。
  12. 一種主機裝置,包括: 一儲存電路,儲存多個模組; 一處理器,耦接於該儲存電路,並存取該些模塊以執行以下步驟: 響應於一可操作物件被選擇,將一游標顯示在該可操作物件上; 響應於一控制器的移動而在該可操作物件上移動該游標;以及 響應於一移動觸發事件,依據該控制器的該移動來移動該可操作物件。
  13. 如請求項12所述的主機裝置,其中該可操作物件包括一虛擬實境物件。
  14. 如請求項12所述的主機裝置,其中,該處理器更經配置以: 依據該可操作物件的一旋轉程度調整對應於該可操作物件的一組態值。
  15. 如請求項12所述的主機裝置,其中該可操作物件設置有用於顯示該游標的一可視窗口,並且該處理器經配置以: 響應於該控制器的該移動而在該可視窗口中移動該游標。
  16. 如請求項15所述的主機裝置,其中該可操作物件可旋轉於一旋轉軸上,並且該處理器經配置以: 在將該游標顯示在該可視窗口的一第一位置之後,取得由該控制器連續輸入的多個控制器向量; 對於該些控制器向量中的一第一控制器向量,取得該第一控制器向量在該旋轉軸上的一第一旋轉分量; 對於該些控制器向量中的一第二控制器向量,取得該第二控制器向量在該旋轉軸上的一第二旋轉分量,其中該第二控制器向量接續於該第一控制器向量之後; 取得該第一旋轉分量和該第二旋轉分量之間的一旋轉分量差;以及 基於該旋轉分量差將該游標從該第一位置移動到該可視窗口的一第二位置。
  17. 如請求項15所述的主機裝置,其中該可操作物件可旋轉於一旋轉軸上,該處理器經配置以: 響應於該移動觸發事件,取得由該控制器連續輸入的多個控制器向量; 對於該些控制器向量中的一第一控制器向量,取得該第一控制器向量在該旋轉軸上的一第一旋轉分量; 對於該些控制器向量中的一第二控制器向量,取得該第二控制器向量在該旋轉軸上的一第二旋轉分量,其中該第二控制器向量接續於該第一控制器向量之後; 取得該第一旋轉分量和該第二旋轉分量之間的一旋轉分量差;以及 基於該旋轉分量差使該可操作物件沿著該旋轉軸旋轉。
  18. 如請求項17所述的主機裝置,其中該處理器更經配置以 依據該可操作物件的一移動程度調整對應於該可操作物件的一組態值。
  19. 如請求項18所述的主機裝置,其中該組態值顯示在該可視窗口中並由該游標指示,該組態值介於一第一組態邊界值和一第二組態邊界值之間,該游標位於該可視窗口中的一預定位置,該可視窗口對應於一數值範圍,該數值範圍介於一第一窗口邊界和一第二窗口邊界值之間,且將該數值範圍經映射至介於0及1之間的一正規化範圍,其中該處理器經配置以: 基於該數值範圍將該旋轉分量差映射為一偏移值,其中該偏移值介於0和1之間; 將一窗口差值與該偏移值相乘來計算一移位值,其中該窗口差為該第一窗口邊界值與該第二窗口邊界值之間的差; 將該組態值與該移位值相加以更新該組態值: 將該偏移值加到該第一窗口邊界值和該第二窗口邊界值來更新該可視窗口的該數值範圍。
  20. 一種電腦可讀儲存媒體,其記錄將一可執行電腦程式,該可執行電腦程式經載入於一主機裝置以執行下列步驟: 響應於一可操作物件被選擇,將一游標顯示在該可操作物件上; 響應於一控制器的移動而在該可操作物件上移動該游標;以及 響應於一移動觸發事件,依據該控制器的該移動來移動該可操作物件。
TW109104847A 2019-02-21 2020-02-15 物件操控方法、主機裝置及電腦可讀儲存媒體 TWI737175B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962808812P 2019-02-21 2019-02-21
US62/808,812 2019-02-21
US16/747,457 2020-01-20
US16/747,457 US11126341B2 (en) 2019-02-21 2020-01-20 Object manipulating method, host device and computer readable storage medium

Publications (2)

Publication Number Publication Date
TW202032328A true TW202032328A (zh) 2020-09-01
TWI737175B TWI737175B (zh) 2021-08-21

Family

ID=72142871

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109104847A TWI737175B (zh) 2019-02-21 2020-02-15 物件操控方法、主機裝置及電腦可讀儲存媒體

Country Status (3)

Country Link
US (1) US11126341B2 (zh)
CN (1) CN111596813B (zh)
TW (1) TWI737175B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10698481B1 (en) 2017-09-28 2020-06-30 Apple Inc. Glint-assisted gaze tracker

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010537302A (ja) 2007-08-19 2010-12-02 リングボウ エルティディ. 指に装着される装置とその使用方法
CN101315587B (zh) * 2008-07-08 2010-12-29 圆展科技股份有限公司 光标控制装置
US9256282B2 (en) * 2009-03-20 2016-02-09 Microsoft Technology Licensing, Llc Virtual object manipulation
US8677284B2 (en) * 2009-11-04 2014-03-18 Alpine Electronics, Inc. Method and apparatus for controlling and displaying contents in a user interface
CN201662774U (zh) 2009-11-25 2010-12-01 中兴通讯股份有限公司 一种手持设备的输入装置及一种手持设备
US20130104087A1 (en) * 2011-10-21 2013-04-25 Digital Artforms, Inc. Systems and methods for human-computer interaction using a two handed interface
GB2501929B (en) * 2012-05-11 2015-06-24 Sony Comp Entertainment Europe Apparatus and method for augmented reality
US9436369B2 (en) * 2014-09-26 2016-09-06 Disney Enterprises, Inc. Touch interface for precise rotation of an object
AU2015224397A1 (en) * 2015-09-08 2017-03-23 Canon Kabushiki Kaisha Methods for adjusting control parameters on an image capture device
US10558353B2 (en) * 2015-11-18 2020-02-11 Samsung Electronics Co., Ltd. System and method for 360-degree video navigation
CN106774833A (zh) 2016-11-17 2017-05-31 网易(杭州)网络有限公司 虚拟现实交互方法及装置
US10140773B2 (en) * 2017-02-01 2018-11-27 Accenture Global Solutions Limited Rendering virtual objects in 3D environments
US10386938B2 (en) * 2017-09-18 2019-08-20 Google Llc Tracking of location and orientation of a virtual controller in a virtual reality system
US10866697B2 (en) * 2017-10-24 2020-12-15 Microchip Technology Incorporated Touch-sensitive user-interface including configurable virtual widgets
US20190129607A1 (en) * 2017-11-02 2019-05-02 Samsung Electronics Co., Ltd. Method and device for performing remote control
CN107977083B (zh) 2017-12-20 2021-07-23 北京小米移动软件有限公司 基于vr系统的操作执行方法及装置

Also Published As

Publication number Publication date
CN111596813B (zh) 2021-09-07
TWI737175B (zh) 2021-08-21
US20200272314A1 (en) 2020-08-27
CN111596813A (zh) 2020-08-28
US11126341B2 (en) 2021-09-21

Similar Documents

Publication Publication Date Title
CN108355354B (zh) 信息处理方法、装置、终端和存储介质
EP2796973B1 (en) Method and apparatus for generating a three-dimensional user interface
US10782787B2 (en) Mirroring touch gestures
JP6272502B2 (ja) 携帯型デバイス上のユーザ操作モードを識別する方法及び携帯型デバイス
JP6048898B2 (ja) 情報表示装置、情報表示方法および情報表示プログラム
US10191612B2 (en) Three-dimensional virtualization
EP3090424A1 (en) Assigning virtual user interface to physical object
US9544556B2 (en) Projection control apparatus and projection control method
US20210042980A1 (en) Method and electronic device for displaying animation
WO2019166005A1 (zh) 智能终端及其感控方法、具有存储功能的装置
TWI737175B (zh) 物件操控方法、主機裝置及電腦可讀儲存媒體
JP7340927B2 (ja) 3dオブジェクトの設計のための描画平面を定義するための方法
TWM626899U (zh) 呈現立體空間模型的電子裝置
JP7372945B2 (ja) シナリオ制御方法、装置および電子装置
US10248307B2 (en) Virtual reality headset device with front touch screen
JP5876600B1 (ja) 情報処理プログラム、及び情報処理方法
US9996234B2 (en) One click photo rotation
WO2015161775A1 (en) Gui display method and apparatus, and terminal device
CN109766070B (zh) 一种移动终端中的显示控制方法和装置
CN115738230A (zh) 游戏的操作控制方法、装置和电子设备
WO2020029555A1 (zh) 用于平面间无缝切换的方法、装置和计算机可读存储介质
TWI799012B (zh) 呈現立體空間模型的電子裝置及方法
EP3506261A1 (en) Information processing program, information processing system and information processing method
WO2023174008A1 (zh) 基于虚拟现实的操控方法、装置及电子设备
JP2014067457A (ja) 情報処理装置、情報処理方法およびプログラム