• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            云海航行Q+偉的幻想鄉

            熱愛探索未知事物的coder 、 writer 、watcher and thinker
            posts - 16, comments - 6, trackbacks - 0, articles - 0

            orthello和NGUI的介紹就不說了。
            利用好這兩個插件就可以用unity來做2D游戲。

            新建project導入這兩個插件后,創建一個新場景,這時場景默認有一個主攝像機(main camera),這個攝像機是給OT用的。這時把OT prefabs拉進場景,這個攝像機就會和main camera綁定上。
            orthello和NGUI都必須有自己的一個攝像機, 這個時候再創建一個NGUI,場景中就有了兩個平行投影攝像機。再在pannel中添加一個button,這時候移動button,button會出現突然消失的情況。=。=
            經過細致研究,發現是NGUI的攝像機空間比例和OT的差了N倍,在Hierarchy雙擊一下按鈕,會自動對焦到button對象,就會發現原來button變小了。
            解決方案:
            新建NGUI時,GUI空間位于OT空間內部,只要把NGUI的攝像機移出OT空間就可以了。
            渲染時 unity會自動將兩個攝像機的渲染結果疊加.
            這樣就實現了orhello和NGUI的結合,可以開始做2D游戲了!

            posted @ 2012-07-14 10:42 Q+偉 閱讀(2779) | 評論 (0)編輯 收藏

                     本文所述內容、觀點是博主的個人想法,是錯是對亦是不確定的。

            這個標題看起來會讓人覺得這文章討論范圍很大,其實不盡然。在這里,世界不是指每天我們觸目可及的各種對象,如自然形成的或者被人類創造的物體(Object),而是指世界的本質。世界的本質,或者說成分是什么?我簡單分為三者:一是物質,二是能量,三是規則。物質,是指具備質量的任何東西,小至原子、中子、什么什么子,大呢大到衛星、行星、恒星。能量呢,看不見的東西,但是也是確確實實存在,熱能、電能、核能,我們都知道這些概念。

            最后是規則。規則,比能量還要抽象,也可以說它們不是一個層次的東西,因為物質與能量之間的關系就是一種規則,物質和能量可以相互轉化也是眾所周知的。規則這東西非常常見,代數基本定理,勾股定理,力學三大定律,基本物理常數(光速、牛頓引力常量),元素周期表、甚至語言語法、程序代碼都是。但是,在這里列舉的多個規則,最后兩個是人為定義的規則,前面的卻是世界本身的規則。好了,這里出現第一個問題,世界的規則究竟是制定的?

                     別聯想了,這里不是要來討論上帝的存在。在對世界的理性思考的道路上,這還遠遠沒到盡頭。繼續追問,為什么這些世界規則如此穩定?假如不穩定呢?在我閱讀《三體》第一卷的時候,有一句很有意思的話:“假如物理規則在時間和空間上不連續,那么物理學就失去了意義。”什么叫時空上不連續?可以這樣想象,可能在宇宙某一個地方,光速比地球上的蝸牛跑得還慢。確實,這樣子物理學就沒有任何意義了,因物理學想搞明白的就是這些世界規則

                     回到一切規則都很穩定的我們的世界。因為規則的存在,即是說一個原子撞到另一個原子,只要知道他們的速度方向,速度大小、質量大小、電子數等等本身的參數以及周遭環境的參數,再套上世界規則,下一刻,兩個原子要往哪個方向彈開,速度大小都是確定的。概括來說,世界的下一個狀態是由當狀態決定的,上帝不擲骰子就是這么回事。當然現實情況是人類不可能做出這種預測,但在物理學界有一只妖怪,它可以做到,它叫‘拉普拉斯妖’。

            我們可以把宇宙現在的狀態視為其過去的果以及未來的因。如果一個智能知道某一刻所有自然運動的力和所有自然構成的物件的位置,假如他也能夠對這些數據進行分析,那宇宙里最大的物體到最小的粒子的運動都會包含在一條簡單公式中。對于這智者來說沒有事物會是含糊的,而未來只會像過去般出現在他面前。” —拉普拉斯

                   換句話說,古往今來什么事情都是確定好了的,只是在按時地發生著、演變著而已。甚至我們頭腦里的所思所想都是早已注定了的。這是叫決定論。

                   當我第一次聽到這個說法的時候,有種很沮喪的感覺。因為在這個層面上看,人是沒有自由意志的,跟石頭、猴子沒兩樣。

                   但是,從人的角度看,人確實是這個世界特別的存在,世界是被動地按著人的想法在被改變。這樣子來想,似乎主動權又回到自己的手上了。

                   這種自由意志的前提正是因為人不是拉普拉斯妖,人的獲取信息的能力、計算的能力都非常弱,無法計算出未來。

                   但是要我承認,我所有因對美好未來的盼望所做出的努力,都是早已安排好的,非常難受。一切努力都變得不值一提,但是卻知道不努力的話,事情不會變得更好。

                   但是,打破這種確定論的桎梏的希望是存在的。因為生活在一維世界里的生物永遠不會理解勾股定理。世界充滿可能!

            posted @ 2012-04-08 19:17 Q+偉 閱讀(276) | 評論 (0)編輯 收藏

             

            As We May Think》及現代IT技術給我的啟發

            范內瓦·布什(Vannevar Bush1890311~1974626日),這位具有6個不同學位的科學家、教育家和政府官員與本世紀許多著名的事件都有著千絲萬縷的聯系,其中包括“"曼哈頓計劃”、硅谷、國際互聯網等。倒轉信息時代的時鐘,無論審視信息技術發展史的哪個領域,布什都是在那里留下過足跡的具有遠見的先驅性人物。正如歷史學家邁克爾·雪利(Michael Sherry)所言,“要理解比爾·蓋茨和比爾·克林頓的世界,你必須首先認識范內瓦·布什。”正是因其在信息技術領域多方面的貢獻和超人遠見,范內瓦·布什獲得了“信息時代的教父”的美譽。

            Vannevar Bush于1945年7月發表的《誠如所思》(As We May Think),已被信息界公認為是信息科學經典之作。在這篇文章中布什提出影響后世深遠的“Memex”概念。為了協助人類思考及管理信息而設計的Memex,是一種透過電子計算機儲存與檢索大量信息的數據庫系統;這個類似人腦的機器可依使用者的需求檢索信息,并著重于使用者和系統之間的互動。系統藉由建立聯結路徑、搜尋、處理及整合等技術,幫助學術研究者收集、組合、分析各種資料并加以應用。此外,Memex的設計具有縮小儲存空間、增快檢索速度、擴大存儲器等特性。這個構想奠定后世個人計算機、信息檢索、超文本、超媒體、在線公用目錄、全球網絡及數字圖書館等技術發展的方向。

               我承認以上兩段是摘抄的,其實不是為了湊夠字數交作業,而是覺得這是對這篇文章和這位作者最好的描述。

              暢想未來更壯觀的工具很有吸引力,而研究現在已知的或正在快速發展的方法和部件會很枯燥。預測是很困難的,但根據當前的情況進行預測,就更能說出其可能性,而不只是預言,還可以是一個建議,因為基于已經存在的情況進行的預言更有效,不像是基于未知的預言那樣只是猜測。

               我從小就是屬于對科學,或者科幻的東西很著迷的人。小學畢業前就幾乎把倪匡的《衛斯理》一系列小說看完了。倪匡也是幾十年前就在寫科幻小說,即使當時科學技術不發達,每個人的知識面也很有限,而倪匡卻能在基于自己對世界的認識上,幻想或者是描繪出了許多大大超越于時代的小說故事,這些故事之所以吸引人,也許就和《As We May Think》的魅力所在,是同一個道理吧。

               對未來的幻想總是人們的期盼。

               在中學時期,看的書偏向于文學,科幻小說看得比較少了。感覺那時候自己也變得不那么愛想象了。也可能是因為自己把這種骨子里的對科學的著迷轉移到了電影里。美國的什么《終結者》《Matrix》或者最近的《源代碼》,每一部都深深震撼了我,不只是華麗的特效,而是藏于背后的對未來世界的預言。

               比如《終結者》,說的主要就是有一臺電腦有一天變成具有主動思維的電子生命體,然后給世界帶了無比的災難。而我自從來到軟件學院之后,也會一直在想,究竟有沒可能出現真正的AI。直到現在大三,我還是覺得答案在這個時代,仍然是不可知的。

               而如果真的能制造出這樣的“生命體”,那這個AI就相當于這個“生命體”的大腦,或者是CPU。而更進一步的,它不僅需要有聰明的腦袋,還必須有“身體”,有“四肢”。

               目前IT界肯定存在一大群人在研究真正的AI,但是更實用更有價值的研究卻是這個AI生命的“軀體”。這個軀體,可以說就是我們現在的PC、智能手機、觸摸式交互終端、Kinect等等。PC如果安裝的Windows OS,那基本只要認識幾個字的人花點功夫都能學會怎么用,而智能手機、觸摸式交互終端(我拼的一個詞,我的意思是指類似ATM,地鐵充值機那種機器)、Kinect(計算機視覺技術帶來的新一類交互設備,不知道就搜一搜吧)都是如此。互聯網就好像是關系紐帶。軀體的定義,我的理解就是,具備與人類交互的能力,而方式并不復雜的各種智能設備。

               雖然這些機器內部系統的實現不過都是一坨坨的代碼,但很難說有一天這些代碼會變成不需要人類去描寫,而是代碼自己生成代碼(自編程這個東西已經有了,不過生成代碼的規則歸根結底還是Human)。這些代碼也就會是之前說的生命體的二進制大腦了。

               說到為什么要做得如此易于使用,易與交互,很簡單,就是為了盡可能地,任何人都能使用,也就能把價值最大化。因為并不是人人都會用PS,但是美圖秀秀這種東西,天然呆女生都會用了。

               這種人機交互界面的研究,就是Human-Computer Interaction(HCI)科學了。百度百科的定義是,這是一門主要研究關于設計,評價和實現供人們使用的交互計算系統以及有關這些現象進行研究的科學。

               關于這個學科,目前才上了兩節課,我也不甚了解。

               下面回來本文標題寫著的,本人的一些對此的想法。

               人機交互技術,目前看來,基本往電影里所想象的場景發展。如,全全息投影、三維交互系統(那種把圖像投影到空間,可以在空氣中進行交互的東西)或者裸眼3D,智能家電,Wii的體感游戲或者是無需手持的Kinect技術。Kinect,最近有一個很火的視頻,就是有人用kincet來玩《水果忍者》。可以想象,人機交互技術深深改變著這個時代。

               而這些可以看到正在開發的技術,不能說是對一個領域的未來的預言。我想象的是,未來50年甚至更遙遠的某年,世界會這樣的:

               人們不再需要手機、電腦,而只需用一個輕巧的形狀類似藍牙耳機的方便攜帶的設備,帶在耳朵上或者褲帶里。啟動它,即可投影出一個2維或者3維的操作界面,經過某種DNA技術的身份識別后,再在這個無實體的“顯示器”中輕輕點擊,即可快速地打電話(可同步視頻會話)、上網、聽音樂(音頻設備可以遠程外接)、玩游戲。如果某天丟失了這個設備,也不是什么問題,因為數據是存儲在云端的,只需使用新的設備即可繼續工作。一切個人事物信息都記錄在安全的云端,云端就是建立在世界各個角度的一些超大存儲規模的服務器,存儲容量那時候應該是足可以應付信息的產生速度。

               而世界上的郵遞員、司機、收營員等都將下崗,應該一切都可以使用小型高敏捷的機器人代理了…

               想了想,還是不要再寫了,在沒有相當廣和深的知識面之前,說什么都只是無稽之談或者說是價值不大。而如果想要看到自己幻想中的世界,就應該默默地為你的幻想做出努力。作家會把自己所想的世界寫成小說,音樂家會把自己心里聆聽到的聲音寫成樂章,玩政治的會把自己的“卓見”用到社會上去..

            而我自己,喜歡的是游戲,能帶給人快樂、感動的游戲。以前是玩別人的游戲,而在現在,我想我已經可以開始慢慢打造我心里幻想的世界了。

             

             

            posted @ 2011-09-21 20:31 Q+偉 閱讀(967) | 評論 (0)編輯 收藏



            鑒于本人所在云海航行游戲工作室策劃游戲速度遠遠大于游戲開發速度(我看世界上不存在與我們相反的情況吧喲呵呵呵),而工作室目前只有兩名菜鳥級程序開發者。所以本人準備開發一個開源的輕量級游戲引擎,暫命名為"01引擎"。
            目前處于技術準備階段末期,下一階段是系統設計。
            整個開發過程會記錄在本博客。
            因本人在學習游戲開發的過程中,花了很多時間在摸索上,走了不少彎路(但也得到很多),原因是網絡上好的有系統性的游戲開發教程太少,所以本人準備為游戲開發愛好者們提供一個參考案例。

            愿偉大的小小程序員們能從我們的(可能是失敗案例)引擎開發過程中吸取經驗和教訓,也希望同行們能給點意見。

            下面是svn鏈接:
            短期內沒有東西看喲呵呵呵。更新了會相應地發布日志。








            posted @ 2011-09-19 23:20 Q+偉 閱讀(2021) | 評論 (4)編輯 收藏

                 摘要: 原文鏈接:http://www.blogjava.net/wxb_nudt/archive/2007/09/11/144371.htmlDLL編寫教程半年不能上網,最近網絡終于通了,終于可以更新博客了,寫點什么呢?決定最近寫一個編程技術系列,其內容是一些通用的編程技術。例如DLL,COM,Socket,多線程等等。這些技術的特點就是使用廣泛,但是誤解很多;網上教程很多,但是幾乎沒有什么優質良品。我...  閱讀全文

            posted @ 2011-09-19 22:59 Q+偉 閱讀(154) | 評論 (0)編輯 收藏

            視頻游戲(VideoGame),是絕對離不開圖形的。計算機圖形學(Computer Graphic Science),涉及圖形硬件(GPU)、圖像標準(bmp,png,jpeg..)、渲染算法(render method)、動畫(Animation)、虛擬現實(VR)等。而跟游戲相關的主要是圖像和圖形(Kinect類的游戲涉及計算機視覺,也就是圖像分析、模式匹配)。注意,圖像跟圖形要區分開,不嚴格地說,圖像是標量,指通過拍照、掃描等方式得到的位圖(Bitmap);圖形是矢量,指根據數據、公式、算法用計算機生成的圖形。而3D模型基本就是圖形和圖像在三維空間上的組合,內部是一系列的頂點坐標和貼圖坐標的組合及貼圖文件等。

                    

            大二我在做一個2D游戲《東方千⑨譚》的時候,一開始繪圖使用的是QT的圖形庫,讀取圖片、顯示圖片都可以用這個庫做到。后來做Demo,測試同時繪制300個人物(64x64的貼圖)的時候,幀率已經無限低了。后來知道了是因為這個庫的繪圖API內部是軟件渲染的。軟件渲染,顧名思義,即是用CPU來處理圖像顯示的工作,換言之就是自不量力地搶了GPU的活來干。最后我明白了,拿QT來做游戲是個很蠢的行為。而要加快渲染的速度,就需要使用硬件渲染的方法。也就是使用3D圖形APIOpenGL / Direct3D

             

            我是在大一的暑假開始接觸3D圖形學,至今算是學了一年有余。我個人認為,對于3D和圖形學,必須搞清楚兩者之間的關系。計算機世界里的3D其實就是數學,舉例來說就是,線性代數中平移、旋轉、縮放的應用,曲線曲面技術中的Bezier、和NURBS,還有計算機動畫的插值算法(樣條插值、平滑插值、線性插值)等。而3D圖形學要做的就是,怎樣根據物體的三維數據來模擬顯示物體,即如何渲染到二維平面,再輸出到顯示器。

            這個工作是有多個步驟的,稱作圖形處理流水線,或者渲染管道。這條流水線大部分工作都是GPU來執行,而實際上3D數學部分(矩陣變換或四元數計算)也是GPU的工作,目前通過CudaOpenCL還可以利用GPU做圖形學以外的事,這一個領域叫做通用并行計算技術。

            關于渲染管道(pipeline),OpenGLDirectX的教程肯定都會說到。要搞懂什么是管線,估計剛學圖形學的人都需要一定時間。學一套3D API 不是什么難事,有一本好的入門圖書和一份API查詢手冊就夠了。學習3D圖形學重要的是理解它的工作原理。如矩陣變換的旋轉矩陣,就是比較復雜的一個core矩陣,要搞懂它就要去看一遍這個矩陣的推導,再看下旋轉矩陣是如何應用到實際中去的。

             

            關于OpenGLDirect3D的抉擇問題,初學3D圖形學肯定會有,我個人覺得OpenGL是初學者必學的,不僅跨平臺性強(D3D只能用在WindowsWP7Xbox,而OGL幾乎所有平臺都支持,另外,假如WebGL,勢必會帶來一場網站開發的革命),而且接口設計得簡單易懂。D3D應該是在實際項目開發的時候,再根據環境條件等來考慮是否使用。如果OpenGL學得差不多了,學D3D不過就是學習另一套API的事。下面是OpenGL Vs Direct3D的一篇文章,值得一看:

            OpenGL 3 & DirectX 11: The War Is Over》:繪圖 API 終戰之日?

            http://blog.monkeypotion.net/reading/gameprogreading/opengl-versus-directx-the-war-is-over

            OpenGL的教程,個人推薦《OpenGL的超級寶典4th(Super Bible),這里就不做介紹了。

             

            3D圖形學的高速發展是從3D游戲之父卡馬克開發的《DOOM》出現在人們面前算起的。(推薦一本書《DOOM啟示錄》,講述了卡馬克和羅梅洛兩位游戲界傳奇人物的傳奇故事,絕對霸氣,震撼人心)至今3D圖形學發展十幾二十年,固定渲染管道也是很多年的產物了。現在這個管道不再是完全讓計算機管理,而是其中的幾個環節可以由程序員來控制。這個技術就叫shader,著色器(頂點著色器、片段著色器、 幾何著色器)。

            Shader編程是完全不同于其他語言的,因為它考慮的是并行的問題,并不是線性的問題。Shader語言有三種,OpenGLGLSL, D3DHLSL,還有NvidiaCg(此Cg不是通常意義的CG,而是C for graphic,即用于圖像的類C語言)。Cg是由Nvidia提出的,目的是為了調和OpenGLDirectX的矛盾。Cg的優點在于,它是處在GLSLHLSL兩者之上的,用Cg寫的著色器代碼編譯后就變成GLSL或者HLSL的代碼,shader程序員只需寫一份Cg語言的代碼就可以了(Cg語言的語法幾乎和HLSL一樣)。

            另外可以看一下這篇文章:《著色語言(Shader Language),以及HLSL VS GLSL VS CG

            鏈接:http://bbs.gameres.com/showthread.asp?threadid=138918&page=1

            Cg的各種信息和SDKSample下載可以到英偉達官網查找:

            http://developer.nvidia.com/cg-toolkit-archive

             

            學習Shader編程,有很多不錯的書,雖然我都沒看過,比如Nvidia的《GPU gem123,這3本有中文版。另外《Shader X1-7,看介紹也是很不錯的,不過基本沒中文版。

            Shader 可以實現目前大部分的實時、非實時渲染算法(陰影、光照等)。注意,Shader著色器語言是用來實現渲染算法的,當然存在有人利用shader語言來做AI等事情(這些以后估計都會是cudaOpenCL的工作)。

             

            說回游戲。游戲實際上并不會用到太多最新最前沿的技術,因為要考慮到老百姓的PC配置都是參差不齊的。頂點著色器和片段著色器,現在大部分的顯卡都至少支持最基本的功能,而Geometry shader,就仍未普及,即只有近幾年內的顯卡才有這個能力。

             

            對于二維平面游戲,圖形圖像技術通常是用來做特效,完全用貼圖的游戲已經過時了。例如可以用shader做模糊(Blur)、扭曲、灰度圖化、強光等等PS中的濾鏡效果,還有利用3D API來增強畫面效果,如3D旋轉菜單、游戲場景三維化(實際上只是起美化的作用,如東方Project的一系列彈幕作)。并且存在有二維游戲中的貼圖是通過把由三維模型壓到二維平面而得到的。

             

            三維游戲,就復雜太多了,甚至比做計算機動畫還復雜,因為不僅要考慮效果、還要考慮效率(達到60/秒左右的圖像輸出能力就是實時渲染)。在效果上有非真實渲染和真實性渲染。真實性渲染就是盡可能地仿真,如如何實現現實中的鏡面反射、次表面散射、霧、鏡頭光暈、陰影等。非真實渲染就是將人物、場景渲染成卡通效果。利用shader就可以實現這些效果。

             

                     如果是小團隊開發游戲,而且打算自己做一個商業級的3D游戲引擎,那這個小團隊處境堪憂。首先技術硬實力要過關,這不是一件個人英雄可以辦到的事(3D算法、渲染算法,沒有潛心學習個幾年,做出來的引擎不會強到哪里去)。全3D游戲涉及的技術太多,與其冒風險自己開發一個引擎,不如花錢買一個商業級的或者使用開源引擎(LGPL license的應該有)。而如果是做2D游戲,應用一些shader特效來強化視覺沖擊力倒是可以。

             

            圖形只是游戲的一個方面,還有很多方面需要重視,像游戲引擎架構(可擴展性)、

            腳本引擎、聲音引擎、GUI系統、游戲編輯器、資源管理、版本更新方法等,網游的話就是另一個話題了。本人對網游暫無研究,最難的部分可能是網絡安全和數據傳輸,同步等。

             

            ————————————————————————-

            一不小心扯了2000+字了,也不知我的這篇經驗總結對讀者有沒有啟發作用。現在說說我自己。我是在大學時開始接觸編程,興趣不算太濃,只是因為我自己喜歡玩游戲,所以才報了軟件工程專業..一開始總是在想學編程是否有前途,是不是真的很難學。而其實現在還是在想。畢竟誰也不想隨隨便便就過了一生。對于游戲開發,我也僅僅是個初學者,我不奢望能掌握游戲開發的全部知識,只是夢想著有一天,能拿著自己的游戲,在某個游戲展上介紹自己的游戲~

            工科專業,任何一個學起來都不會輕松,如果是要成為領域高手。大學本科,確實是打基礎(不只是專業課程學習)的時期,而也是尋找人生方向的時期。這個時候很容易浮躁,可能因為不喜歡自己的專業還是沒有信心。個人認為,無論你的打算是怎樣,只要生活態度是好的,學習態度是向上的,對自己所作的每一個決定都負責,每一天都過得充實、健康,那就夠了。不要為明天憂慮。

            posted @ 2011-09-19 19:39 Q+偉 閱讀(843) | 評論 (1)編輯 收藏

            僅列出標題
            共2頁: 1 2 
            久久久女人与动物群交毛片| 久久久久亚洲av综合波多野结衣| 91麻豆国产精品91久久久| 精品久久久久久久久中文字幕| 亚洲午夜久久久久久久久久 | 国内精品久久久久久野外| 久久人人爽人人爽人人爽| 久久亚洲sm情趣捆绑调教| 伊人久久大香线蕉精品不卡| 久久国产色av免费看| 久久精品国产亚洲AV高清热| 国产精品久久久久aaaa| 国产精品免费久久久久影院| 久久综合九色欧美综合狠狠| 蜜桃麻豆WWW久久囤产精品| 久久婷婷五月综合97色| 久久99国产一区二区三区| 欧美日韩久久中文字幕| 97久久天天综合色天天综合色hd| 久久精品无码午夜福利理论片| 国产日韩久久免费影院| 欧美亚洲国产精品久久| 大伊人青草狠狠久久| 一个色综合久久| 亚洲国产精品无码久久一线| 国产精品无码久久四虎| 欧美午夜精品久久久久免费视| 国产精品热久久毛片| 久久99热只有频精品8| 婷婷久久综合| 国产亚洲精品自在久久| 久久综合视频网| 2020久久精品国产免费| 伊人久久大香线焦AV综合影院 | 久久久久久无码Av成人影院| 久久久中文字幕日本| 99久久777色| 久久久无码精品亚洲日韩蜜臀浪潮| 久久精品国产精品青草| 久久久久亚洲AV无码麻豆| 国产美女亚洲精品久久久综合|