krpano學(xué)習(xí)筆記_第1頁
krpano學(xué)習(xí)筆記_第2頁
krpano學(xué)習(xí)筆記_第3頁
krpano學(xué)習(xí)筆記_第4頁
krpano學(xué)習(xí)筆記_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 寫給Krpano小白們的最最最入門級(jí)教程(一)本教程案例使用krpano 1.16.9制作,與最新版本有一定區(qū)別,但不影響學(xué)習(xí)和使用。首先感謝“肥宗”的Krpano課堂,我在使用Krpano制作全景漫游時(shí)也是看著肥宗的教程一步步走過來,文中會(huì)有部分內(nèi)容引用Krpano課堂教程。教程的第一部分主要是教大家如何使用Krpano并對(duì)標(biāo)題做簡單修改。這篇文章不是教你如何拍攝、拼接全景照片,如果你僅僅是全景愛好者,那我想720yun提供的后臺(tái)完全能夠滿足你,因此,對(duì)全景漫游有商業(yè)需求,一定要給客戶提供HTML5網(wǎng)頁格式文件或者SWF文件的朋友,這篇文章能夠引導(dǎo)你一步步的制作出第一個(gè)屬于你自己的全景漫游

2、網(wǎng)頁文件。首先讓我們看看Krpano是什么樣的,打開Krpano的文件夾(圖1)。圖1一般人會(huì)想要先找應(yīng)用程序,但是Krpano并不是傳統(tǒng)意義上的軟件,它沒有圖形界面也沒有可以雙擊打開的exe文件(加密保護(hù)文件除外),那我們?cè)趺从盟鼇碇谱魅奥危?!仔?xì)看,你會(huì)發(fā)現(xiàn)文件夾里有許多Make . droplet命名的批處理文件(.bat),這些批處理文件其實(shí)就是最常用的Krpano工具(圖2)。圖2讓我們來看一下文件名MAKE OBJECT droplet;MAKE PANO (FLAT、MULTIRES、NORMAL、SINGLE-SWF) droplet;MAKE VTOUR (MULTIRE

3、S、NORMAL) droplet,從字面意思看不難理解(當(dāng)然英語不好的同學(xué)可以多利用百度翻譯)MAKE OBJECT droplet指的是生成物體全景。請(qǐng)注意,是一件物體的全景,而不是我們平常意義的標(biāo)準(zhǔn)全景或漫游,對(duì)環(huán)物全景有興趣的同學(xué)可以試驗(yàn)一下。PANO指的是標(biāo)準(zhǔn)全景,VTOUR自然就是全景漫游了,MULTIRES指的是漸進(jìn)分辨率,沒有尺寸及像素限制、NORMAL指的是生成尺寸最大為2200的標(biāo)準(zhǔn)全景圖,MULTIRES和NORMAL最大的區(qū)別在于NORMAL有分辨率限制但是可以一次性載入,而MULTIRES不限制分辨率,載入時(shí)是分層漸進(jìn)的,網(wǎng)絡(luò)帶寬有限的情況下非常適用。SINGLE-S

4、WF會(huì)生成一個(gè)最大分辨率為2200的Flash文件(請(qǐng)注意是一個(gè)文件,不是一個(gè)文件夾)(圖3)。FLAT可以生成一個(gè)多層漸進(jìn)的2D全景圖片,不限制分辨率,適用于矩陣拼接的大型圖片圖3這里僅對(duì)我們今后所使用的工具做一個(gè)簡要介紹,本文的案例所要用到的是MAKE VTOUR (MULTIRES) droplet,制作多層漸進(jìn)分辨率的全景漫游(圖4)。圖4接下來讓我們開始制作全景漫游,不過,在我們制作全景漫游之前還有一個(gè)步驟,修改文件名。說到這個(gè)就不得不說一下關(guān)于CMD命令提示符這個(gè)東西,也許很多朋友對(duì)CMD命令提示符比較陌生,你可以把它理解為運(yùn)行在windows系統(tǒng)下的DOS操作系統(tǒng),批處理文件(.

5、bat)正是以指令的形式在CMD下運(yùn)行的一種特殊的程序,而CMD命令提示符本身對(duì)指令的長度是有限制的,這個(gè)限制在XP或更高版本系統(tǒng)系統(tǒng)下運(yùn)行時(shí)是8191個(gè)字符,不要認(rèn)為這個(gè)長度你就可以為所欲為了,事實(shí)證明,當(dāng)你的照片幾乎都是中文命名并且藏在n個(gè)文件夾之后時(shí),你是不可能完成一個(gè)20張圖片的全景漫游的。因?yàn)楫?dāng)你從“X:我的照片全景照片xxxxx公園”拖動(dòng)3張照片到MAKE VTOUR (MULTIRES) droplet上面時(shí),Krpano調(diào)用的命令是x:krpanokrpanotools64.exe makepano -config=templatesvtour-multires.config

6、x:我的照片全景照片xxxxx公園image1.jpg x:我的照片全景照片xxxxx公園image2.jpg x:我的照片全景照片xxxxx公園image3.jpg一旦超出長度限制,系統(tǒng)就會(huì)跳過或忽略,從而導(dǎo)致命令中斷。(詳見Krpano課堂:K經(jīng)驗(yàn)(5)-解決MAKE VTOUR可生成場景數(shù)的限制)之前有同學(xué)認(rèn)為這個(gè)是Krpano對(duì)于生成漫游的場景數(shù)量限制,事實(shí)上Krpano本身對(duì)這方面是沒有任何限制的,唯一的限制就是CMD調(diào)用命令提示符時(shí)所生成的命令長度。解決這個(gè)問題很簡單(當(dāng)然方法不止一種,這里我只說一個(gè)最簡單的,畢竟不是每個(gè)人都有耐心去輸入一長串指令),全選你需要扔進(jìn)droplet的

7、圖片(最好保證它們都在一個(gè)文件夾里)點(diǎn)擊鼠標(biāo)右鍵選擇重命名,隨便輸入一個(gè)最最最簡單的字符,比如a,你會(huì)得到a(123)命名的23張圖片(圖5)。圖5好了,現(xiàn)在讓我們?nèi)x這23張圖片把它們?nèi)咳舆M(jìn)MAKE VTOUR (MULTIRES) droplet(全選圖片,按住鼠標(biāo)左鍵拖動(dòng)到droplet上,然后松開鼠標(biāo)左鍵.),然后等待Krpano完成你的全景漫游吧。命令運(yùn)行結(jié)束時(shí)會(huì)提示“按任意鍵繼續(xù)”,ok,關(guān)掉命令提示符,這時(shí)我們會(huì)發(fā)現(xiàn)文件夾里多了一個(gè)名為vtour的文件夾,這個(gè)就是Krpano制作完成的全景漫游文件。這個(gè)文件夾默認(rèn)會(huì)包含panos文件夾、plugins文件夾、skin文件夾、to

8、ur.html、tour.swf、tour.js、tour.xml、tour_editor.html。(圖6)圖6其中panos文件夾是存放全景漫游縮略圖、全景切片的地方。plugins文件夾存放的是我們制作漫游會(huì)用到的所有插件,不過默認(rèn)的plugins文件夾中內(nèi)容很少,因此漫游制作完成后,第一時(shí)間復(fù)制x:Krpanoexamplesplugins文件夾到這里并覆蓋原文件(如果你的Krpano是在官方下載的,那么文件夾的位置應(yīng)該在x:examplesplugins,也就是官方提供的案例中)。skin文件夾里存放的是漫游中出現(xiàn)的皮膚、熱點(diǎn)、導(dǎo)航條等等圖片及vtourskin.xml文件;tour

9、.html、tour.swf分別對(duì)應(yīng)HTML5和Flash格式文件,tour.js是krpano的HTML5 viewer如果不是出于特殊目的,請(qǐng)忽略這個(gè)文件。tour_editor.html是一個(gè)可以決定每個(gè)場景起始位置和可視化的熱點(diǎn)編輯器,當(dāng)然如果你不打算在漫游中添加熱點(diǎn),這個(gè)editor你也可以忽略它。tour.xml和vtourskin.xml存放了我們的全景漫游設(shè)置,也就是初學(xué)者看不懂的代碼存放的地方。當(dāng)然現(xiàn)在你只要明白本文的重點(diǎn)都將圍繞這2個(gè)文件展開就好。漫游做好以后讓我們先來看看默認(rèn)的效果怎么樣,似乎還不錯(cuò),導(dǎo)航條、縮略圖、上下左右放大縮小、全屏縮放,該有的都有了,感覺還不錯(cuò)。但

10、既然是展示給客戶,這樣簡陋的東西多半是拿不出手的。(圖7)圖7那么讓我們一樣一樣來搞定這個(gè)半成品,首先是瀏覽器的標(biāo)簽。(圖8)圖8剛剛完成的漫游都會(huì)是這樣的瀏覽器標(biāo)簽,這個(gè)內(nèi)容肯定不會(huì)是我們想要的東西,讓我們來改掉它,用Frontpage或者Dreamweaver打開tour.html,在代碼的第4行我們會(huì)看到(圖9)這樣一段, 這個(gè)標(biāo)簽指的是標(biāo)題,把“ - a (3)”改成我們想要的,比如“南湖夢(mèng)幻島體驗(yàn)公園”,然后保存,在瀏覽器刷新我們剛剛完成的漫游,可以看到標(biāo)簽已經(jīng)被修改掉了(圖10)。圖9圖10在左下方還有一串英文,這個(gè)需要我們要修改tour.xml這個(gè)文件,還是用Frontpage或

11、者Dreamweaver打開,在第一行有一個(gè)title(標(biāo)題),把里面的內(nèi)容改為你想要的,比如“南湖夢(mèng)幻島體驗(yàn)公園”(圖11),保存然后刷新一下瀏覽器。我們看到左下角的文字已經(jīng)變成“南湖夢(mèng)幻島體驗(yàn)公園- a(1)”了。圖11繼續(xù)往下看,在每一個(gè)“scene name”標(biāo)簽后面都會(huì)有“title=a (1)”,修改這個(gè)title中的內(nèi)容,比如“title=北大門廣場噴泉”,保存刷新瀏覽器,我們會(huì)發(fā)現(xiàn)左下角的文字已經(jīng)被我們替換掉了(圖12)。每一個(gè)“scene name”其實(shí)就是包含了一個(gè)漫游場景,修改后面的title,就會(huì)修改對(duì)應(yīng)場景的說明文字。寫給Krpano小白們的最最最入門級(jí)教程(二)本教

12、程案例使用krpano 1.16.9制作,與最新版本有一定區(qū)別,但不影響學(xué)習(xí)和使用。首先感謝“肥宗”的Krpano課堂,我在使用Krpano制作全景漫游時(shí)也是看著肥宗的教程一步步走過來,文中會(huì)有部分內(nèi)容引用Krpano課堂教程。漫游場景的title搞定以后讓我們回過頭來了解一下tour.xml中其他的內(nèi)容(圖13)。圖13skin_settings是默認(rèn)皮膚的各項(xiàng)參數(shù),修改這些參數(shù)你可以對(duì)皮膚中所顯示的內(nèi)容進(jìn)行調(diào)整,但是并不能更換掉系統(tǒng)默認(rèn)的皮膚。在這一段之前有一個(gè)注釋,它的內(nèi)容是“設(shè)置皮膚項(xiàng):必應(yīng)地圖?陀螺儀(重力控制)?縮略圖控制?提示?”顯然,為了方便對(duì)系統(tǒng)默認(rèn)皮膚的控制,Krpano提

13、供了一些基本參數(shù)。bingmaps=false bingmaps_key= bingmaps_zoombuttons=false gyro=true thumbs_width=120 thumbs_height=80 thumbs_padding=10 thumbs_crop=0|40|240|160前兩項(xiàng)屬性分別代表縮略圖的寬度和高度,第三項(xiàng)是每個(gè)縮略圖之間的間距,第四項(xiàng)是crop,因?yàn)檫@些縮略圖是從panos的thumb.jpg裁取出來的,thumb.jpg實(shí)際上是240*240的圖,這里截取了240*160像素。這里有一個(gè)crop,crop是指從圖片的某一個(gè)坐標(biāo)點(diǎn)開始截取一個(gè)區(qū)域,這里的

14、0|40|240|160實(shí)際上是說從x=0 y=40的坐標(biāo)點(diǎn)開始,截取一個(gè)x=240像素,y=160像素的圖片,坐標(biāo)我們可以參考Photoshop中的信息。一旦涉及在皮膚中添加按鈕之類需要截取圖片的語句,這個(gè)crop都會(huì)出現(xiàn)。thumbs_opened=false thumbs_text=true thumbs_dragging=true thumbs_onhoverscrolling=false thumbs_scrollbuttons=false thumbs_scrollindicator=false tooltips指的是提示文字,也就是當(dāng)鼠標(biāo)移動(dòng)到對(duì)應(yīng)的地方時(shí)鼠標(biāo)上方所顯示的文字提示

15、。tooltips_thumbs=true tooltips_hotspots=false tooltips_mapspots=false controlbar_offset=20 這是一個(gè)默認(rèn)的logo放置代碼,url=是logo圖片的鏈接,你可以把自己的logo圖片放置在vtour目錄下,然后把完整的文件名(包含后綴)填入雙引號(hào)中間,scale是圖片大小,0.25=25%,opened_onclick是點(diǎn)擊后彈出,openurl后面的單引號(hào)中可以填入我們想要顯示的內(nèi)容,我將720yun的主頁保存下來以后填在這里,這樣當(dāng)我們第一次點(diǎn)擊logo時(shí),logo會(huì)放大出現(xiàn)屏幕正中(圖14),再次點(diǎn)擊

16、則會(huì)轉(zhuǎn)入我們事先保存的頁面。當(dāng)然這里只是這個(gè)layer定義的很小一部分,更多的內(nèi)容在skin文件夾的vtourskin.xml里面。圖14打開vtourskin.xml,ctrl+F查找skin_logo我們會(huì)找到:這樣一行語句,keep=true確保在切換場景時(shí)始終保持在相同的位置不會(huì)消失,align=righttop是對(duì)齊瀏覽器的右上角,而x、y是指以右上角為原點(diǎn),偏移x=5、y=5個(gè)像素。capture為false,那么當(dāng)你用鼠標(biāo)在logo上拖動(dòng)時(shí),下層的全景漫游也會(huì)跟著轉(zhuǎn)動(dòng)。accuracy=1是坐標(biāo)的精準(zhǔn)度,state=small是記錄當(dāng)前這個(gè)layer的狀態(tài)。onclick則是一個(gè)

17、鼠標(biāo)行為,在單擊logo時(shí)會(huì)檢查logo狀態(tài)是否為small,如果是,則放大(skin_openlogo)logo,如果不是small則執(zhí)行分號(hào)之后的2個(gè)命令。在這里我僅僅只對(duì)logo的設(shè)置做了簡要的說明,如果有同學(xué)想要進(jìn)一步研究可以查看Krpano課堂的krpano快速入門教程(5)設(shè)置LOGO。接下來讓我們修改一下起始視點(diǎn)并添加一個(gè)熱點(diǎn),雙擊打開tour_editor.html轉(zhuǎn)動(dòng)視角到我們想要的位置,然后點(diǎn)擊左上角的set as startup view(圖15)保存一下“save tour.xml”,然后點(diǎn)擊add hotspot添加1個(gè)熱點(diǎn)(圖16),給這個(gè)熱點(diǎn)定義一個(gè)鏈接(圖17)

18、,然后點(diǎn)擊done完成,最后記得保存一下save tour.xml。圖15圖16圖17刷新一下tour.html,我們會(huì)看到起始視點(diǎn)已經(jīng)變成我們之前設(shè)定的那個(gè)地方,中間的位置多了一個(gè)箭頭(圖18),這個(gè)就是我們添加的熱點(diǎn),當(dāng)然,這個(gè)死板板不會(huì)動(dòng)的箭頭是系統(tǒng)默認(rèn)的,后面我會(huì)教大家怎么替換掉它,在這之前先讓我們打開熱點(diǎn)提示,這樣鼠標(biāo)移動(dòng)到熱點(diǎn)上時(shí)就會(huì)有下一個(gè)場景的文字說明了。圖18打開tour.xml進(jìn)行編輯,前面我們講到過的皮膚參數(shù)中有提到過,tooltips_hotspots=false,把雙引號(hào)中的false改為true。刷新一下tour.html(圖19)。圖19也許有人會(huì)說這個(gè)字體很丑,

19、我想換一個(gè),Krpano默認(rèn)的情況下很多字體都會(huì)調(diào)用textstyle name=SKIN_TOOLTIPS,它在vtourskin.xml中,如果你想給熱點(diǎn)提示單獨(dú)定義一種字體,那么需要?jiǎng)?chuàng)建一個(gè)新的textstyle name。(請(qǐng)記住,每一個(gè)name都必須是獨(dú)一無二的,并且不能是數(shù)字開頭)先讓我們來看一下這個(gè)textstyle:這里定義了很多東西,font(字體)、fontsize(字體大?。?、bold(黑體)、italic(斜體)、background(背景)、border(鑲邊)、textcolor(字體顏色)、effect(字體效果),dropshadow(1,45,0x000000

20、,4,1)說明添加的是陰影,括號(hào)里的參數(shù)是指位置及顏色。fadeintime(漸隱延遲)、fadetime(消失延遲)參考一下這個(gè)textstyle,我們把這一段復(fù)制一下,粘貼在下面,把textstyle name=SKIN_TOOLTIPS改成textstyle name=hotspot_TOOLTIPS,字體就試試楷體吧。當(dāng)然這樣還不夠,因?yàn)槲覀兊臒狳c(diǎn)提示文字并沒有指向這里,接下來找到style name=skin_hotspotstyle,這個(gè)style中有一個(gè)onhover:onhover=if(skin_settings.tooltips_hotspots, if(linkedsce

21、ne, showtext(get(sceneget(linkedscene).title), SKIN_TOOLTIPS) );我們把onhover最后面的SKIN_TOOLTIPS改為hotspot_TOOLTIPS。(圖20)圖20搞定了熱點(diǎn)的提示文字以后,我們換一個(gè)漂亮點(diǎn)的熱點(diǎn),還是剛才那個(gè)style name=skin_hotspotstyle,這個(gè)style就是系統(tǒng)默認(rèn)的那個(gè)熱點(diǎn),這里我們直接用官方的style,如果有同學(xué)覺得自己寫代碼太麻煩,可以簡單粗暴一點(diǎn)。用下面這個(gè)style name=skin_hotspotstyle直接覆蓋掉原本的style。熱點(diǎn)圖片url=hotspot

22、_ani_white_64x64x20.png,并沒有在我們的skin文件夾中,它在x: Krpanoexamplesexamplesxml-usageanimated-hotspots文件夾里面(圖21)。圖21(為了方便觀看,充填了黑色背景并旋轉(zhuǎn)了90度)因?yàn)樾枰玫絚rop來進(jìn)行動(dòng)畫,所以列出了png圖片寬度、高度、第一幀開始位置是0,以及最后一幀是19,onloaded是載入后執(zhí)行一個(gè)動(dòng)畫的action。 inc(frame,1,get(lastframe),0); mul(ypos,frame,frameheight); txtadd(crop,0|,get(ypos),|,get(

23、framewidth),|,get(frameheight); delayedcall(0.03, if(loaded, hotspot_animate() ) );熱點(diǎn)動(dòng)畫action,每隔0.03秒改變crop的內(nèi)容,從而實(shí)現(xiàn)動(dòng)畫效果,inc是一個(gè)每次遞增指定數(shù)值的方法,這里是讓frame這個(gè)變量每次增加1,當(dāng)?shù)竭_(dá)19時(shí),則從0又開始遞增。mul是乘法運(yùn)算,將高度乘以當(dāng)前幀序號(hào),得到crop中y的位置。txtadd對(duì)crop的內(nèi)容進(jìn)行了設(shè)定。因?yàn)槊恳淮蝭pos的值都會(huì)發(fā)生變化,所以crop中所顯示的內(nèi)容也發(fā)生變化。最后是0.03秒后再次執(zhí)行自身。保存刷新一下,我們就可以看到新的熱點(diǎn)了。(圖

24、22)圖22好了,熱點(diǎn)動(dòng)起來了,接下來我們要讓整個(gè)場景動(dòng)起來,最簡單的辦法無疑是加入一個(gè)自動(dòng)旋轉(zhuǎn),當(dāng)然,你也可以添加一個(gè)小行星開場,但是那已經(jīng)超出新手的能力范圍了,所以,讓我們從簡單的開始。打開tour.xml編輯,我們需要為自動(dòng)旋轉(zhuǎn)加入這樣一串代碼(請(qǐng)?zhí)砑釉诳瞻滋?,不要在action或scene標(biāo)簽內(nèi)):這里定義了waittime用戶最后一次交互行為后開啟旋轉(zhuǎn)時(shí)的等待時(shí)間(單位:秒),speed旋轉(zhuǎn)速度(角速度,正值向右,負(fù)值向左),horizon要到達(dá)的水平視點(diǎn)(0即為水平旋轉(zhuǎn)),tofov旋轉(zhuǎn)所要到達(dá)的視場。不過一直這樣轉(zhuǎn)下去會(huì)讓人覺得頭很暈,因此我們需要添加一個(gè)開啟(關(guān)閉)自動(dòng)旋轉(zhuǎn)的按

25、鈕,以便讓它停下來。前面我們有提到過crop,這里就是利用crop來添加一個(gè)按鈕到導(dǎo)航條里。首先我們需要修改一下vtourskin.png這個(gè)文件,因?yàn)檫@張圖片中沒有我們需要用到的按鈕圖片(圖23),我們需要自行添加一對(duì)按鈕在這張圖片的底部,對(duì)于會(huì)Photoshop的同學(xué)來說這應(yīng)該不是什么難事(圖24)。圖23(為了方便觀看,充填了黑色背景并旋轉(zhuǎn)了90度)圖24(為了方便觀看,充填了黑色背景并旋轉(zhuǎn)了90度)然后在vtourskin.xml中找到layer name=skin_btn_fs(全屏按鈕)在這一行代碼的下方添加以下代碼:保存一下刷新,按鈕出現(xiàn)在下面的導(dǎo)航條里了,不過出了點(diǎn)小問題(圖2

26、5),開啟(關(guān)閉)旋轉(zhuǎn)的按鈕和全屏按鈕重疊了,我們需要適當(dāng)調(diào)節(jié)一下全屏按鈕的位置,把layer name=skin_btn_fs代碼中的x=140修改為x=180,這樣全屏按鈕就會(huì)向右邊移動(dòng)40像素,給我們的旋轉(zhuǎn)按鈕騰出一個(gè)位置來(圖26)。圖25圖26如果你跟著我的教程邊學(xué)邊做直到這里,那么恭喜你,這樣的全景已經(jīng)具備最基本的展示要求,logo、能夠引起觀看者注意的熱點(diǎn)、以及自動(dòng)旋轉(zhuǎn)演示,同時(shí)也感謝你能耐心看完前面5000多字的枯燥教程,下面我們需要提高一點(diǎn)難度。不過在這之前需要說明一下什么是bombtimer,細(xì)心的朋友也許注意到了,前面添加layer name=skin_btn_autor

27、otate這行代碼時(shí),結(jié)尾有bombtimer(0)這樣一段代碼。在多個(gè)場景的漫游中僅僅只有自動(dòng)旋轉(zhuǎn)是不夠的,我們需要在一個(gè)場景旋轉(zhuǎn)一段時(shí)間之后自動(dòng)的切換到下一個(gè)場景中,并且當(dāng)所有的場景全部瀏覽完成之后回到開頭,這樣無限循環(huán)下去,這個(gè)功能在自動(dòng)展示中非常實(shí)用,而bombtimer就是為了實(shí)現(xiàn)這個(gè)功能。簡而言之,bombtimer(定時(shí)炸彈)是一個(gè)通過控制時(shí)間變量而實(shí)現(xiàn)場景切換的代碼。首先我們需要修改一下action name=startup。在action name=startup的action標(biāo)簽中加入if(autorotate.enabled,bombtimer(0);這段代碼 if(st

28、artscene = null, copy(startscene,); loadscene(get(startscene), null, MERGE); if(autorotate.enabled,bombtimer(0);然后在標(biāo)簽外的空白處加入:這一行代碼的意思是在用戶交互動(dòng)作之后重置bombtimer。接下來在標(biāo)簽外的空白處加入一個(gè)action: set(autorotate.enabled,true); set(bt,%1); add(bt,1); delayedcall(1,bombtimer(get(bt); copy(bt_1,autorotate.spee

29、d); Math.abs(bt_1); div(bt_2,405,bt_1); add(bt_2,autorotate.waittime); if(bt GE bt_2, set(bt,0); nextscene();); 這個(gè)名為bombtimer的action是一個(gè)計(jì)時(shí)器函數(shù),它先接受一個(gè)傳遞來的參數(shù),也就是從第幾秒開始計(jì)算,假設(shè)我們是從0開始,接著增加這個(gè)action,使bt(bombtimer)的變量增加1,直到我們?cè)O(shè)定的值然后“引爆”,delayedcall指的是延遲執(zhí)行,延遲執(zhí)行什么呢,bombtimer(get(bt),設(shè)置延遲執(zhí)行的主要目的是為了我們之前加入的關(guān)閉(開啟)旋轉(zhuǎn)按

30、鈕能夠繼續(xù)生效。那么當(dāng)這個(gè)bombtimer的變量增加到多少時(shí)“引爆”呢,div(bt_2,405,bt_1);這個(gè)代碼中的405指的是當(dāng)畫面旋轉(zhuǎn)405度的時(shí)候“引爆”然后進(jìn)入下一個(gè)場景nextscene(),為什么是405度而不是360,因?yàn)樵谶@個(gè)全景漫游中,我們默認(rèn)的開場視角是90度,而旋轉(zhuǎn)開始的角度是從視角的最右邊開始計(jì)算,也就是說,旋轉(zhuǎn)開始時(shí)計(jì)數(shù)器中的參數(shù)是45度而不是我們視場中心所處的0度,這樣我們?cè)黾?5度以便旋轉(zhuǎn)一周后能夠讓視場的中心回到0度。然后我們?cè)跇?biāo)簽外的空白處再加入以下代碼: set(ns, get(sceneget(xml.scene).index); set(maxs

31、, get(scene.count); add(ns,1); if(ns = maxs, set(ns,0); loadscene(get(sceneget(ns).name), null, MERGE, BLEND(1.5); 這個(gè)action是為ns變量載入當(dāng)前場景的序號(hào),為maxs載入場景總數(shù),每當(dāng)ns增加1時(shí),檢查它是否是最后一個(gè)場景,如果是的話,就將ns重置為0,因?yàn)榈谝粋€(gè)場景的序號(hào)index就是0,請(qǐng)注意Krpano中,許多系統(tǒng)變量都是從0開始計(jì)算,而不是1!將前面這幾段代碼添加進(jìn)你的tour.xml之后,你就可以開始調(diào)試一下bombtimer的效果了,在沒有交互動(dòng)作或關(guān)閉自動(dòng)旋轉(zhuǎn)的情況下,每一個(gè)場景都會(huì)旋轉(zhuǎn)一周后自動(dòng)切換到下一個(gè)場景,然后這樣周而復(fù)始。寫給Krpano小白們的最最最入門級(jí)教程(三)叢韜2015-03-23 10:56本教程案例使用krpano 1.16.9制作,與最新版本有一定區(qū)別,但不影響學(xué)習(xí)和使用。首先感謝“肥宗”的Krpano課堂,我在使用Krpano制作全景漫游時(shí)也是看著肥宗的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論