董健
摘 要:隨著網絡及計算機技術的發展,3D實景虛擬漫游已經作為一種全新的展示在房產銷售中普遍運用。本系統運用了3Dmax、Photoshop、Unity3D軟件,參考現實廣場小區,創建虛擬場景。為達到預期效果,通過骨骼動畫及JavaScript語言實現控制角色移動轉向等動作,用戶可以對場景自主漫游、瀏覽,讓用戶真正沉浸在虛擬交互環境當中,實現用戶與虛擬環境直接交互。
關鍵詞:UV貼圖;Unity3D;交互漫游
中圖分類號:TP391.9 文獻標識碼:A
1 引言(Introduction)
虛擬環境系統都是以真實場景為藍圖,可以實現訪問者自動漫游虛擬漫游系統是基于地理信息系統技術、虛擬現實技術、寬帶網絡技術、多媒體技術、計算機圖形學等高新技術[1],將真實地理空間信息和其屬性信息相結合,構建一個逼真的、具有視覺、聽覺、觸覺的虛擬景觀,用戶可以利用計算機網絡遠程訪問這個全新的虛擬景觀,通過終端計算機在虛擬景觀中漫游。
漫游系統在目前遇到的最大的困難就是在設計和使用中,因為計算機性能的限制,無法做到模型的精細程度和漫游畫面的實時性做到完美的統一。要求我們能夠針對系統設計的要求進行取舍[2]。
2 場景漫游的實現方法(Method for realizing the
scene roaming)
要實現漫游主要有三個要素,首先是一個完整的虛擬場景,其次是帶有行走動畫的角色,最后是操控角色的代碼控制[3]。其中實現漫游的關鍵就是在Unity3D中通過JavaScript語言控制綁定人物骨骼動畫的角色在虛擬場景中按照用戶的意圖實現自主交互式漫游。在這里我們采用的是Unity3D來構建我們的漫游系統,Unity3D是目前比較流行的用于三維動畫場景模擬、游戲設計等全面的綜合設計引擎。
3 場景漫游系統的總體設計(The overall design of
scene walkthrough system)
3.1 系統的技術平臺架構
本系統基于Unity3D實現漫游交互,在系統當中用戶控制角色漫游,通過角色視角的變化讓用戶了解該場景,主要的架構如圖1所示。
圖1 系統技術架構圖
Fig.1 Technical system architecture
3.2 系統的開發流程介紹
作為一個虛擬漫游系統,整個設計過程包含了四個過程,分別是問題分析、采集場景參數、建立虛擬場景、實現漫游。主要的過程框架圖如圖2所示。
圖2 系統流程圖
Fig.2 Flow chart of the system
4 基于Unity3D漫游系統的實現(Realization of
roaming system based on Unity3D)
4.1 場景中角色的控制
本系統主要構建的是一個建筑小區廣場漫游系統,在本系統中可以實現人物前后左右的任意行走、跳躍,可以觀察到所建場景的任意一個角度,不會產生人物與建筑的穿插,含有碰撞檢測系統,使人物行走觀察更為合理[4]。
利用Unity3D提供的Java Script語言編寫人物控制腳本,實現人物的移動的調用,腳本如下:
var Bip01:GameObject;
function Update () { ren=GameObject.Find("meng");
if(ren==null){
return;}
if(Input.GetKey(KeyCode.Space)) {
animation.CrossFade ("jump"); }
else{
animation.CrossFade ("idle"); }
將編輯好的腳本添加到場景中的人物模型上,即可實現相應功能。
4.2 漫游視角的控制
在本漫游系統當中我們設定了第三人稱視角。根據鼠標控制攝像機來控制視角,利用Unity3D提供的C# Script MouseLook腳本編寫攝像機腳本,使攝像機跟隨人物運動,右鍵控制視角旋轉,滾輪縮放視距。
using UnityEngine;
public RotationAxes axes = RotationAxes.MouseXAndY;
void Update ()
{ target = GameObject.Find("N1");
// 滾輪設置相機與人物的距離.
if(Input.GetAxis("Mouse ScrollWheel") != 0)
{theDistance = theDistance + Input.GetAxis("Mouse ScrollWheel") * Time.deltaTime * ScrollKeySpeed; }
4.3 場景碰撞模型的實現
當角色靠近被碰撞物體時,系統根據碰撞檢測算法檢測該物體的尺寸,若被檢物體高度低于預設值則角色可以通過,反之,角色被物體擋住無法前進[5],如圖3所示碰撞檢測原理圖。
圖3 碰撞檢測原理圖
Fig.3 Schematic diagram of collision detection
在Unity3D當中集成了碰撞檢測模塊,在Apply Root motion后面打鉤即可,臺階高度碰撞設定是調整Step Offset的數值來實現的。
5 結論(Conclusion)
交互式的漫游系統在現在的社會生活中應用的越來越廣泛,成為了一個前景十分看好的技術領域。虛擬場景讓用戶“身臨其境”地在漫游中進行多角度體驗性觀察,尤其是針對于建筑行業以及需要進行數字化展示的特殊行業,多角度全方位的展示與互動也必將成為以后技術發展的新方向。
參考文獻(References)
[1] 趙俊昌,程朝武.3DS MAX2010游戲設計師必備實戰寶典[M].
北京:科學出版社,2010.
[2] 張凡,諶寶業.3DS MAX游戲場景設計[M].北京:中國鐵道出
版社,2009.
[3] 宣雨松.Unity 3D游戲開發[M].北京:人民郵電出版社,2012.
[4] 胡安林.3DS MAX材質與貼圖應用技法精粹[M].北京:科學
出版社,2008.
[5] 程罡,吳江濤.三維游戲場景設計與制作[M].北京:電子工業出
版社,2010.
作者簡介:
董 健(1980-),男,碩士,講師.研究領域:多媒體信息處理.endprint
摘 要:隨著網絡及計算機技術的發展,3D實景虛擬漫游已經作為一種全新的展示在房產銷售中普遍運用。本系統運用了3Dmax、Photoshop、Unity3D軟件,參考現實廣場小區,創建虛擬場景。為達到預期效果,通過骨骼動畫及JavaScript語言實現控制角色移動轉向等動作,用戶可以對場景自主漫游、瀏覽,讓用戶真正沉浸在虛擬交互環境當中,實現用戶與虛擬環境直接交互。
關鍵詞:UV貼圖;Unity3D;交互漫游
中圖分類號:TP391.9 文獻標識碼:A
1 引言(Introduction)
虛擬環境系統都是以真實場景為藍圖,可以實現訪問者自動漫游虛擬漫游系統是基于地理信息系統技術、虛擬現實技術、寬帶網絡技術、多媒體技術、計算機圖形學等高新技術[1],將真實地理空間信息和其屬性信息相結合,構建一個逼真的、具有視覺、聽覺、觸覺的虛擬景觀,用戶可以利用計算機網絡遠程訪問這個全新的虛擬景觀,通過終端計算機在虛擬景觀中漫游。
漫游系統在目前遇到的最大的困難就是在設計和使用中,因為計算機性能的限制,無法做到模型的精細程度和漫游畫面的實時性做到完美的統一。要求我們能夠針對系統設計的要求進行取舍[2]。
2 場景漫游的實現方法(Method for realizing the
scene roaming)
要實現漫游主要有三個要素,首先是一個完整的虛擬場景,其次是帶有行走動畫的角色,最后是操控角色的代碼控制[3]。其中實現漫游的關鍵就是在Unity3D中通過JavaScript語言控制綁定人物骨骼動畫的角色在虛擬場景中按照用戶的意圖實現自主交互式漫游。在這里我們采用的是Unity3D來構建我們的漫游系統,Unity3D是目前比較流行的用于三維動畫場景模擬、游戲設計等全面的綜合設計引擎。
3 場景漫游系統的總體設計(The overall design of
scene walkthrough system)
3.1 系統的技術平臺架構
本系統基于Unity3D實現漫游交互,在系統當中用戶控制角色漫游,通過角色視角的變化讓用戶了解該場景,主要的架構如圖1所示。
圖1 系統技術架構圖
Fig.1 Technical system architecture
3.2 系統的開發流程介紹
作為一個虛擬漫游系統,整個設計過程包含了四個過程,分別是問題分析、采集場景參數、建立虛擬場景、實現漫游。主要的過程框架圖如圖2所示。
圖2 系統流程圖
Fig.2 Flow chart of the system
4 基于Unity3D漫游系統的實現(Realization of
roaming system based on Unity3D)
4.1 場景中角色的控制
本系統主要構建的是一個建筑小區廣場漫游系統,在本系統中可以實現人物前后左右的任意行走、跳躍,可以觀察到所建場景的任意一個角度,不會產生人物與建筑的穿插,含有碰撞檢測系統,使人物行走觀察更為合理[4]。
利用Unity3D提供的Java Script語言編寫人物控制腳本,實現人物的移動的調用,腳本如下:
var Bip01:GameObject;
function Update () { ren=GameObject.Find("meng");
if(ren==null){
return;}
if(Input.GetKey(KeyCode.Space)) {
animation.CrossFade ("jump"); }
else{
animation.CrossFade ("idle"); }
將編輯好的腳本添加到場景中的人物模型上,即可實現相應功能。
4.2 漫游視角的控制
在本漫游系統當中我們設定了第三人稱視角。根據鼠標控制攝像機來控制視角,利用Unity3D提供的C# Script MouseLook腳本編寫攝像機腳本,使攝像機跟隨人物運動,右鍵控制視角旋轉,滾輪縮放視距。
using UnityEngine;
public RotationAxes axes = RotationAxes.MouseXAndY;
void Update ()
{ target = GameObject.Find("N1");
// 滾輪設置相機與人物的距離.
if(Input.GetAxis("Mouse ScrollWheel") != 0)
{theDistance = theDistance + Input.GetAxis("Mouse ScrollWheel") * Time.deltaTime * ScrollKeySpeed; }
4.3 場景碰撞模型的實現
當角色靠近被碰撞物體時,系統根據碰撞檢測算法檢測該物體的尺寸,若被檢物體高度低于預設值則角色可以通過,反之,角色被物體擋住無法前進[5],如圖3所示碰撞檢測原理圖。
圖3 碰撞檢測原理圖
Fig.3 Schematic diagram of collision detection
在Unity3D當中集成了碰撞檢測模塊,在Apply Root motion后面打鉤即可,臺階高度碰撞設定是調整Step Offset的數值來實現的。
5 結論(Conclusion)
交互式的漫游系統在現在的社會生活中應用的越來越廣泛,成為了一個前景十分看好的技術領域。虛擬場景讓用戶“身臨其境”地在漫游中進行多角度體驗性觀察,尤其是針對于建筑行業以及需要進行數字化展示的特殊行業,多角度全方位的展示與互動也必將成為以后技術發展的新方向。
參考文獻(References)
[1] 趙俊昌,程朝武.3DS MAX2010游戲設計師必備實戰寶典[M].
北京:科學出版社,2010.
[2] 張凡,諶寶業.3DS MAX游戲場景設計[M].北京:中國鐵道出
版社,2009.
[3] 宣雨松.Unity 3D游戲開發[M].北京:人民郵電出版社,2012.
[4] 胡安林.3DS MAX材質與貼圖應用技法精粹[M].北京:科學
出版社,2008.
[5] 程罡,吳江濤.三維游戲場景設計與制作[M].北京:電子工業出
版社,2010.
作者簡介:
董 健(1980-),男,碩士,講師.研究領域:多媒體信息處理.endprint
摘 要:隨著網絡及計算機技術的發展,3D實景虛擬漫游已經作為一種全新的展示在房產銷售中普遍運用。本系統運用了3Dmax、Photoshop、Unity3D軟件,參考現實廣場小區,創建虛擬場景。為達到預期效果,通過骨骼動畫及JavaScript語言實現控制角色移動轉向等動作,用戶可以對場景自主漫游、瀏覽,讓用戶真正沉浸在虛擬交互環境當中,實現用戶與虛擬環境直接交互。
關鍵詞:UV貼圖;Unity3D;交互漫游
中圖分類號:TP391.9 文獻標識碼:A
1 引言(Introduction)
虛擬環境系統都是以真實場景為藍圖,可以實現訪問者自動漫游虛擬漫游系統是基于地理信息系統技術、虛擬現實技術、寬帶網絡技術、多媒體技術、計算機圖形學等高新技術[1],將真實地理空間信息和其屬性信息相結合,構建一個逼真的、具有視覺、聽覺、觸覺的虛擬景觀,用戶可以利用計算機網絡遠程訪問這個全新的虛擬景觀,通過終端計算機在虛擬景觀中漫游。
漫游系統在目前遇到的最大的困難就是在設計和使用中,因為計算機性能的限制,無法做到模型的精細程度和漫游畫面的實時性做到完美的統一。要求我們能夠針對系統設計的要求進行取舍[2]。
2 場景漫游的實現方法(Method for realizing the
scene roaming)
要實現漫游主要有三個要素,首先是一個完整的虛擬場景,其次是帶有行走動畫的角色,最后是操控角色的代碼控制[3]。其中實現漫游的關鍵就是在Unity3D中通過JavaScript語言控制綁定人物骨骼動畫的角色在虛擬場景中按照用戶的意圖實現自主交互式漫游。在這里我們采用的是Unity3D來構建我們的漫游系統,Unity3D是目前比較流行的用于三維動畫場景模擬、游戲設計等全面的綜合設計引擎。
3 場景漫游系統的總體設計(The overall design of
scene walkthrough system)
3.1 系統的技術平臺架構
本系統基于Unity3D實現漫游交互,在系統當中用戶控制角色漫游,通過角色視角的變化讓用戶了解該場景,主要的架構如圖1所示。
圖1 系統技術架構圖
Fig.1 Technical system architecture
3.2 系統的開發流程介紹
作為一個虛擬漫游系統,整個設計過程包含了四個過程,分別是問題分析、采集場景參數、建立虛擬場景、實現漫游。主要的過程框架圖如圖2所示。
圖2 系統流程圖
Fig.2 Flow chart of the system
4 基于Unity3D漫游系統的實現(Realization of
roaming system based on Unity3D)
4.1 場景中角色的控制
本系統主要構建的是一個建筑小區廣場漫游系統,在本系統中可以實現人物前后左右的任意行走、跳躍,可以觀察到所建場景的任意一個角度,不會產生人物與建筑的穿插,含有碰撞檢測系統,使人物行走觀察更為合理[4]。
利用Unity3D提供的Java Script語言編寫人物控制腳本,實現人物的移動的調用,腳本如下:
var Bip01:GameObject;
function Update () { ren=GameObject.Find("meng");
if(ren==null){
return;}
if(Input.GetKey(KeyCode.Space)) {
animation.CrossFade ("jump"); }
else{
animation.CrossFade ("idle"); }
將編輯好的腳本添加到場景中的人物模型上,即可實現相應功能。
4.2 漫游視角的控制
在本漫游系統當中我們設定了第三人稱視角。根據鼠標控制攝像機來控制視角,利用Unity3D提供的C# Script MouseLook腳本編寫攝像機腳本,使攝像機跟隨人物運動,右鍵控制視角旋轉,滾輪縮放視距。
using UnityEngine;
public RotationAxes axes = RotationAxes.MouseXAndY;
void Update ()
{ target = GameObject.Find("N1");
// 滾輪設置相機與人物的距離.
if(Input.GetAxis("Mouse ScrollWheel") != 0)
{theDistance = theDistance + Input.GetAxis("Mouse ScrollWheel") * Time.deltaTime * ScrollKeySpeed; }
4.3 場景碰撞模型的實現
當角色靠近被碰撞物體時,系統根據碰撞檢測算法檢測該物體的尺寸,若被檢物體高度低于預設值則角色可以通過,反之,角色被物體擋住無法前進[5],如圖3所示碰撞檢測原理圖。
圖3 碰撞檢測原理圖
Fig.3 Schematic diagram of collision detection
在Unity3D當中集成了碰撞檢測模塊,在Apply Root motion后面打鉤即可,臺階高度碰撞設定是調整Step Offset的數值來實現的。
5 結論(Conclusion)
交互式的漫游系統在現在的社會生活中應用的越來越廣泛,成為了一個前景十分看好的技術領域。虛擬場景讓用戶“身臨其境”地在漫游中進行多角度體驗性觀察,尤其是針對于建筑行業以及需要進行數字化展示的特殊行業,多角度全方位的展示與互動也必將成為以后技術發展的新方向。
參考文獻(References)
[1] 趙俊昌,程朝武.3DS MAX2010游戲設計師必備實戰寶典[M].
北京:科學出版社,2010.
[2] 張凡,諶寶業.3DS MAX游戲場景設計[M].北京:中國鐵道出
版社,2009.
[3] 宣雨松.Unity 3D游戲開發[M].北京:人民郵電出版社,2012.
[4] 胡安林.3DS MAX材質與貼圖應用技法精粹[M].北京:科學
出版社,2008.
[5] 程罡,吳江濤.三維游戲場景設計與制作[M].北京:電子工業出
版社,2010.
作者簡介:
董 健(1980-),男,碩士,講師.研究領域:多媒體信息處理.endprint