導航:首頁 > 物理學科 > 如何製作物理引擎

如何製作物理引擎

發布時間:2022-05-16 09:41:10

『壹』 罪惡都市的物理引擎怎麼製作、我自己有GTA4.

想法不錯。但是你僅僅有gta4 根本是製作不出來的。你可明白? 物理引擎是模擬剛性物體的運動軌跡計算出物體屬性的運動方式來進行模擬的來實現牛頓定義。對於簡單的物理效果來說是可以通過編程與編程腳本來實現。對於復雜的來說猶如GTA4是絕對不可能的。好的物理引擎是一種技術。一種科技。懂嗎?比如Havok的廠家。是經過數年的探索的。當然你也可以通過免費下載物理引擎的技術來實現。但是這需要很好的技術操作。

『貳』 物理引擎難做嗎

為每個游戲使用物理引擎並不是完全必要的—簡單的「牛頓」物理(比如加速和減速)也可以在一定程度上通過編程或編寫腳本來實現。然而,當游戲需要比較復雜的物體碰撞、滾動、滑動或者彈跳的時候(比如賽車類游戲或者保齡球游戲),通過編程的方法就比較困難了。

『叄』 如何用Box2D Library製作2D物理游戲

作者:Juan Felipe Belon Perez
從最熱門游戲排行榜和flash游戲網站上,你能看到什麼?許多2D游戲都有非常出色的物理學和美術設計。現在我們要學習那些游戲使用了什麼物理學以及如何用Box2D製作它們。
除了知道是「什麼」,更重要的是知道「如何做」,首先,我想問讀者一個問題:如果你想復制物理游戲的機制或行為,你需要什麼技術和方法?
一年以前,我問了自己同樣的問題,《6 Dimensions》就是問題的答案。這款游戲是一個創意的盒子,每一面都包含一組使用Box2D物理學再加上視覺美學技術製作的不同的游戲機制。在此,我將與大家分享這款游戲。我做這款游戲是為了改進游戲引擎Codea(是由Crabitron開發的),而我寫了這篇教程是為了向大家介紹寫實物理學、美術和游戲設計……共同提高我們的游戲開發水平。
在我的游戲中,我設計了6個面,借同樣的思路,我將給大家介紹我運用了哪些從其他游戲中復制而來的物理、機制和美術技術。
1、形狀
《Thomas was alone》、《憤怒的小鳥》、《蠟筆物理學》

crayon physics(from gamasutra)
在《蠟筆物理學》中,你可以在屏幕上用手指或滑鼠作畫,比如畫圓、三角形、矩形等,當你松開滑鼠/拿開手指,線條就會變成立體物理對象(在虛擬世界中)。
這是怎麼做的?
事實上相當簡單,你要把滑鼠/手指從開始到結束的繪畫路徑的各個坐標點保存起來,當釋放事件發生,你就調用Box2D的一個根據這些點生成多邊形的功能:
local body = physics.body(POLYGON, unpack( points ) )
你得先認識一下Box2D中的有什麼形狀:
POLYGON(多邊形):
用於封閉形狀如基本幾何圖形(非圓形),它使用一系列按各個API指定的順序排列的頂點(x,y)
CIRCLE(圓):
可以做球、水珠、星體,等等。
EDGE(邊):
用於製作牆、地面、只有起點和終點的線段。
CHAIN(鏈):
與邊相同,但你可以閉合它(像多邊形但不是凸多邊形)或不閉合它(像邊但點超過2)
知道了剛體形狀(body shape)後,你還要了解它們的不同行為,或叫作剛體類型(body types):
STATIC(靜態):如名稱所示,這種剛體會在指定的x,y(地面、牆、柱基或繩基,等等)上保持靜止不動。
DYNAMIC(動態):它與其他對象碰撞並移動
KINEMATIC(運動):碰撞但不隨著動態對象移動,你只能通過改變它的x,y或者賦給它一個線性速度或對它施加力來使它移動。
真正的含義要在API的執行中理解,在本文中我使用這個是因為它是我能找到的最簡單的代碼了。但改變成任何語言的代碼都非常簡單,Box2D有幾乎所有的語言版本(Flash as3、c++、objc、java、javascript、java+processing,等等)。
你得保存那個功能的結果為自定義變數如body.position(位置)、body.radius(半徑)、body.linearVelocity(線性速度)、body.angularVelocity(角速度)、body.mass(質量),等等。
當剛體製作出來時,你可能想給它定義一些屬性如restitution(恢復)、gravityScale(重力大小)和damping(衰減)等,這些屬性可以賦給物理對象彈跳或漂浮狀態。
Box2D的復雜度當然不止這些,具有這種物理游戲機制的其他游戲(《Magic Pen》)也比較復。在《Magic Pen》中,你可以畫一些東西看起來像「node(節點)」的東西,但開發者叫它們「joint(關節)」,它們是用於連接剛體的,有若干種,取決於你想要的機制;還可以用於製作連接著的剛體之間的行為:
physics.joint(REVOLUTE,bodyA, bodyB,)
剛體圍繞著一個固定點(anchor)旋轉
例如:小車的車輪、《蠟筆物理學》和《Magic Pen》中的紅色節點
physics.joint( PRISMATIC, bodyA, bodyB, anchorA, direction )
在剛體各自的固定點之間保持固定距離。兩個joint之間的初始距離取決於虛擬空間中的這兩個固定點之間的初始距離。給joint設置frequency率和damping率可以使它產生軟彈簧的行為。
physics.joint(DISTANCE, bodyA, bodyB, anchorA, anchorB )
旋轉joint迫使兩個剛體沿著某兩個固定點之間的軸作運動。允許伸縮運動,但限制兩個剛體之間的相對旋轉。
physics.joint( WELD, bodyA, bodyB, anchor )
接合joint限制兩個剛體之間的運動和相對旋轉,實際上使它們變成一個剛體。因為求解器的迭代性質,當置於壓力之下時接合joint可能會變形;當承受的力太大或幾個接合joint被鏈接成一個更大的對象時,接合joint可能會完全失效。
physics.joint( ROPE, bodyA, bodyB, anchorA, anchorB, maxLength )
繩子joint限制兩個剛體之間的最大距離
例如:《割繩子》中的繩子
概述:
1)創建:帶有觸點剛體或盒子或任何其他多邊形幾何體(一組2D點:x,y),給它設置我們需要的物理屬性(如《Thomas was alone》中的不同行為),比如,如果剛體是static類型,那麼就可以設置它的質量、密度、重力大小,等等。
2)可選屬性:依附(attach)到另一個剛體上,比如說,你可以把一個剛體依附到另一個被設置為感測器的static剛體(不影響游戲世界的物理,但有碰撞事件),然後激活REVOLUTE joint的enableMotor(能動)屬性,這還需要motorSpeed(速度)、maxMotorTorque(轉矩)和maxMotorForce(力量),才能確定這個對象的旋轉情況。
3)美術(Visual Art):有了剛體後,如果你想繪制它,不是作為形狀繪制出來,而是具有顏色或紋理的實體,你就要把這些點三角化生成多邊形網格模型(mesh)並給它設置顏色和貼材質。
例子:

Box2D_POLYGONS(from gamasutra)

thomas Was Alone Boxes(from gamasutra)
對於《Thomas Was Alone》中的盒子的行為,你可以設置一個簡單的「juice」系統動畫(從「中間幀」演化來的),這樣,當你選擇方塊並按下跳躍鍵(或它與其他不同的物理剛體發生碰撞),它就會觸發「juice command= animation」命令——產生擠壓、搖晃等動畫效果,各個動作都有自己的動畫參數,比如質量、線性速度和衰減等物理屬性。

box Examples(from gamasutra)
對於《憤怒的小鳥》,你可以通過給盒子定義不同的屬性來製作一個關卡,繪制不同的子畫面或製作不同材質的mesh,這樣,在碰撞事件中,盒子剛體就會更加生動,通過改變盒子的紋理使之與當前狀態更加協調(斷掉的木頭、快碎的玻璃,等)。
你可以用簡單的剛體applyForce(vec2(x,y)) 函數做出小鳥的發射。各種小鳥也都有自己的質量、衰減等屬性……
2、水體
《Where is my water?》、《Sprinkle Ilsands》……
當你問網上的代碼達人,如何製作上述游戲那樣的水體物理時,他們會跟你談Metaball(變形球):

Metaball_contact_sheet(from gamasutra)
但在游戲中使用Metaball技術既麻煩也不容易,而且要進行大量計算,除非你發現一些技巧和給它貼上一些美術材質。
那就是為什麼運用水體物理學的游戲並不多見。幾個月前我談到這個問題,多虧了許多人的幫助,我得到了一個很棒的水體物理模型。在那個模型中,我用Box2D lib中的CIRCLE剛體做出動態球。
模型的代碼很容易理解,球就是物理剛體,這些剛體具有使它產生水滴行為的參數如estitution(復原)、friction(摩擦)、damping(衰減)、linear velocity(線性速度),然後,我們用著色器(GLSL)的技術和材質繪制這些球,需要一個mesh,就像波紋fx或使用材質的其他GLSL著色器樣本,我們把這個mesh的寬和高設為整個屏幕,從中間開始:
mesh:addRect(WIDTH / 2, HEIGHT / 2, WIDTH, HEIGHT)
這樣,我們可以使用各個球的位置(x,y)在虛擬空間中繪制它們,各個球都有漸變的紋理效果。
for k,b in ipairs(balls) do
sprite(ballTexture, b.x, b.y)
end
然後,你得使用額外的扭曲模式,給這些著色的球添加材質,並與背景混合。
例子:

Box2D_water Physics(from gamasutra)
正如我所說的,各個球都有紋理(程序生成的漸變),可以與其他使用低級過濾器的球材質相融合。

where is my water(from gamasutra)
《Where is my water?》
你可以對各種行為使用不同的層,或者把所有液體或所有動態地形做成同一層來做出相同的水體fx,然後在著色器中改變過濾值和顏色(水體、岩漿,等等)。
舉一個碰撞的例子,當兩個剛體發生碰撞時,你必須查看碰撞的bodyA和bodyB是什麼類型的剛體,如果一個是氣體(gravityScale/mass/density值實際上是0,所以它會飄浮)而另一個是「冰」,那麼你就把這個球變成水……
再舉一個例子,如果bodyA是岩漿,那麼bodyB就變成氣體……就像改變球的屬性一樣簡單,所以它會改變在box2d中響應,你要重新繪制游戲狀態。
地形的例子:
靜態地形可以是一個POLYGON剛體,它是用一個讀取整個地形圖象和建立一系列非透明像素的x,y (vec2)的函數製作的,然後返回給box2d函數。
動態地形可以只是一個mesh,當你碰它時,你會移除座標x,y上的觸點,你必須用新的mesh重製這個物理剛體。
例如,當一個水滴(物理剛體CIRCLE)濺到一隻鴨子(具有激活的感測器的物體剛體),你必須刪除那個水滴,並改變鴨子的動畫,使新狀態呈現,直到它完全被水充滿,然後刪除鴨子並記錄結果。
水滴有很小的痕跡,這些是用linearVelocity和angularVelocity屬性繪制的,你可以得到方向和速度,這樣你就可以計算痕跡的角度和距離。
事實上,你想要什麼行為都有。

sprinkle_islands_boss(from gamasutra)
在《Sprinkle Ilsands》中,水體著色器跟我們所學習的那個是不同的,它除了使用粒子fx,還多了linearVelocity屬性。但行為可能還是一樣的,當水球(剛體CIRCLE)擊中火感測器,那麼火就會熄滅,海里的水mesh也一樣。至於岩石,你可以添加一些細節如顆粒效果等。
在這一面,我們找不到任何joint,那就是為什麼它可能不必要,在《Sprinkle Ilsands》,軟管就是繩子,這是我們在下一面中要分析的。
3、橡皮筋
《Contre Jour》、《割繩子》、《水果忍者》
我花了一個月時間才做出上述游戲的繩子原型,但我做完繩子後,我就覺得軟剛體很容易做了,因為我更加理解接頭了。
要製作一個逼真的繩子,你得創建一組剛體(CIRCLE或者POLYGON都行),把它們都依附在作為基座的STATIC剛體上。用於結合這些繩子剛體的joint有兩種,DISTANCE或者REVOLUTE,但處於最末端(DYNAMIC)的連接基座(STATIC)的joint只能是製作彈力繩的ROPE joint。通過restitution 和frequency屬性來調整response(反應)/damping(衰減)/elasticity(彈性)。
例子:

Box2D_ElasticRopes(from gamasutra)
為了製作一個軟剛體,你得圍繞另一個中心剛體(可以是STATIC或DYNAMIC)製作一系列CIRCLE剛體,它當然會影響其他剛體,如果你改變joint的類型,你會發現這個剛體會自動變形,你必須用mesh繪制整組剛體。

Contre-Jour(from gamasutra)
《Contre Jour》
在這款游戲中,你可以找到軟剛體:可變形的地形;兩種類型的繩子:彈性繩和固定繩。這些固定繩使用的技術比彈性繩的更高級。

snotDiagram(from gamasutra)

js Rope Segmented(from gamasutra)
《割繩子》

cut-the-rope(from gamasutra)
這是Box2d物理做繩子的最佳案例。游戲中的繩子也是動態的,你可以看到沿著基座到球的mesh,球的一端是連著糖果的。
你可以像上一個例子一樣做出這種繩子,設置球(糖果)的物理屬性—-mass、density、gravityScale,可以做出泡泡效果。你可以用多層混合模式繪制出泡泡。另一種方法是把剛體變成感測器,並且你自己的重力演算法移動它,但我們到第五面時才學習這種技術。
如果泡泡-剛體-球與青蛙或蜘蛛碰撞,或者玩家觸擊到泡泡,泡泡就會爆炸,為此你要給泡泡添加爆炸動畫並再次改變糖果的物理屬性……
案例代碼:
if (vec2:distance( bFrog_Mouth, bCandy ) < maxDistance) then
– 把青蛙的動畫從「空閑」改為「吃」
– 暫停輸入
– 補間並觸發游戲結束動畫
end
4、重力
在這一面,我們可以發現許多使用力來對抗重力的游戲,但這是一種游戲玩法。例如,你可以根據box2d的正弦函數生成簡單的地形,它會返回鏈或邊形狀的STATIC剛體。

tiny wings 2(from gamasutra)
你可以用Box2d做出你自己的《Tiny Wings》。基本原理就是,球(CIRCLE剛體)在重力的作用下下落,你可以通過觸擊屏幕增加下落的linearVelocity(線性速度),當觸擊在山丘合適的部分(你可以查看你的正弦函數的高度)釋放時,下落速度會增加……另一種方法是只使用力。
例子:

Box2D_JumpRun(from gamasutra)
為了繪制循環,給拾取、發熱狀態等添加顆粒效果。材質可以用程序成生隨機顏色圖像做出來,用高斯雜訊添加細節、邊界,等等……

Jetpack-Joyride(from gamasutra)
《Jetpack Joyride》
你可以看出這款游戲的特徵嗎?如果你已經讀過前面的例子了,那麼你應該知道角色剛體球有相同的行為,你一定是用力對抗重力、各個飛行器的不同物理屬性、導彈和各種交通工具,等等。
《Madcoaster》、《Rocket Chicken》、《Whale Trail》等游戲都是一樣的。
但這個面還有其他機制,如行星物理、引力。
你可以使用簡單的公式來模擬零重力physics.gravity(0,0),行量的吸引力如下圖所示:

Box2D_Forces_Gravity(from gamasutra)
function Planet:attract(m)
– Direction of the force
local force = self.body.position – m.body.position
local d = force:len() — = m.body.position:dist(self.body.position)
force = force:normalize()
local dir = vec2(self.mass/m.body.mass, self.mass/m.body.mass)
– Magnitude of the force
local strength = (GRAVITY * self.mass * m.body.mass)/(d*d)
force = force * strength
m.body:applyForce(force)
stroke((1+math.floor(force.y))*110, (1+math.floor(force.x))*110, 10, 255)
– draw line between attractor/mover
line(m.body.x+force.x, m.body.y+force.y, (self.body.x), (self.body.y))
end
這個函數會使角色球繞著行星轉。
5、線面
《拯救種子》、《蠟筆物理學》……
只有線:通過繪制線條,你可以做出形狀類CHAIN的剛體和剛體類STATIC或DYNAMIC。
對於關卡設計,障礙物也是STATIC,可以是EDGE或POLYGON……

saving-seeds-hd-doodle-physics-screenshot(from gamasutra)
用那種結構,你可以復制出一款像《拯救種子》一樣的游戲。

Box2D_Lines(from gamasutra)
代碼和第一面的是一樣的,但你必須改變游戲的規則,你要從暫停的物理引擎開始,然後繪制和生成CHAIN靜止形狀,當玩家按下開始鍵時,游戲必須生成玩家的球(以及恢復、重力、質量等參數),重新開啟物理引擎,只要一個指令(physics.pause() and physics.resume())就能完成了。
它只留在游戲循環中,用於確認碰撞和線性速率、改變游戲狀態……
你可以通過打開或關閉重力,來改變整個游戲的現實,就像《Thomas was alone》或《ibb and obb》那樣。
6、交通工具
《小輪車冒險》、《登山賽車》
如果你已經看到這里了,那麼做一款關於瘋狂交通工具的游戲吧。
做交通工作,只要把接頭和輪子想成CIRCLE剛體,用錨點正確的旋轉接頭把POLYGON(小車、自行車等的形狀)和它們連接起來。
用帶紋理的mesh繪制自行車/小車的主要剛體、車輪的子畫面,除非你使用軟剛體做這些,否則添加痕跡、顆粒fx等。
代碼生成的例子:

Box2D_BezierRampage(from gamasutra)
對於道路,使用一些噪點或正弦,可以是STATIC或DYNAMIC,你可以使用Bezier曲線。

code example(from gamasutra)
《小輪車冒險》
我會知道這款游戲和它的物理,多虧看了某人的一篇文章。
但文章作者沒有提到任何有關Box2D的東西,但我猜這款游戲就是使用了Cocos2d(和Corona SDK)。無論如何,你現在知道怎麼製作交通工具和橫沖直撞的效果了。
在《Canvas Rider》中,有兩種自行車模型,你可以在游戲中改變,你會發現自行車的剛體是一個允許一定damping的接頭結構,當你改變自行車時,這個動態剛體就被破壞了,然後游戲就生成新的自行車類型。
另外,你在游戲中的自行車可以觸到的線是靜態CHAIN,當你設計道路時,滑鼠觸擊的是x,y……像我們之前做的那樣。
以上。希望你能用Box2D做出一些成果。
當然,使用Box2D,通過不同的方法製作的游戲還有很多,但它們可能綜合使用了上述幾種,例如,《時空幻境》、《超級食肉男孩》等,用可以用合適的剛體、機制和著色器製作出來。

『肆』 游戲使用的物理引擎是如何能夠模擬出現實的情景變化

首先物理引擎是不能夠「確實」地模擬現實的物理情景變化,物理引擎只是對現實的物理情景進行非常粗略的「近似」模擬。 同時物理引擎和實際做出來的游戲還是有不小的差距的,可以理解為用3D工具製作出來的模型以及骨骼是木偶,物理引擎是就是拉動他們按照「近似」於現實的物理規律進行運動的線。 以2D物理引擎2DBox的命名為例,大部分的物理引擎都會包含這些基本的概念 World(模擬世界)World可以理解為一個舞台,在這個舞台的邊界范圍內,你可以設置各種各樣的物理參數,也只有在這個舞台內物理引擎才會生效。 Fixture(定製器)Fixture定義了物體的碰撞邊界,密度,摩擦系數,恢復系數等等的內容,你可以理解為一個標簽,貼在了模型上,賦予了他們在World中的物理屬性。 其中Sensor(感測器)算是一種特殊的Fixture,因為它本身不帶有碰撞或者密度等物理特性,但對於進入它的邊界中的物體可以施加作用。 Constraint(約束)Constraint的名字其實就很好的說明了它的性質,它可以是施加在一個物體上,限制這個物體的轉動角度,速度等等物理特性的(或者說是移除了一定的自由度)。 也可以是連接多個物體,並同時限制與多個物體相關的物理特性的,這的Constraint稱為Joint(關節),Joint有很多不同的類型,比如Joint limit,Joint motor,都有各自不同的功能。

『伍』 Java如何使用物理引擎

那個是計算機術語

電子游戲裡面會有很多的畫面,比如你說的使命召喚,會有很多人拿著槍互相射擊的畫面。這些畫面如果需要顯示出來,需要進行物理運算和貼圖運算。物理運算的內容包括子彈的彈道,人物的動作,塵土的飛揚,車輛的運轉……而貼圖則主要負責每個物體的顏色,細節,形狀

我們的機器,其中顯卡的部分負責貼圖運算,而CPU負責物理運算。那麼CPU進行物理運算的時候需要遵循一定的法則。簡而言之,這些法則就是游戲設計人員事先設定好的運算規則,可以稱之為物理引擎。

『陸』 機器如何學習設計物理引擎

對於游戲、電影以及一些研究來說,若想在虛擬世界中呈現出某些物質的真實運動方式,物理引擎就是必不可少的工具。過去,想要開發一套物理引擎需要大量的人力和時間。但現在,AI也能做到這一點了。

在本周的國際機器學習大會(International Conference on Machine Learning)上,DeepMind發布了一個新的機器學習程序,名為Graph Network-based Simulator(GNS)。通過向傳統的物理引擎學習,這個程序可以重現數萬個粒子的相互作用。在這套系統中,某個物體會被劃分為許多小小的粒子。當粒子碰撞時,就會「告知」彼此的位置、速度和性質等信息。而GNS系統通過觀察傳統物理引擎中粒子的運動,學習當粒子間「傳遞信息」時,粒子會如何發生相互作用。一旦學會了這套模式,GNS就能直接模擬相當於傳統物理模型數倍的粒子,甚至還能模擬出當場景發生晃動,或是增加了障礙物後會發生什麼。除了看起來很酷,研究者還希望這套系統可以幫助機器學會分析周圍的事物——誰知道以後機器人會不會需要躲開一個凝膠質的河馬呢?

『柒』 圖形引擎和物理引擎有什麼區別和聯系

游戲開發中的程序開發主要由如下幾個方面組成:
1.圖形引擎
2.聲音引擎
3.物理引擎
4.游戲引擎
5.人工智慧或游戲邏輯
6.游戲GUI界面(菜單)
7.游戲開發工具
8.支持區域網對戰的網路引擎開發
9.支持互聯網對戰的網路引擎開發
下面逐一介紹每個部分:
1.圖形引擎主要包含游戲中的場景(室內或室外)管理與渲染,角色的動作管理繪制,特效管理與渲染(粒子系統,自然模擬(如水紋,植物等模擬)),光照和材質處理,LOD(Level Object Detail)管理等,另外還有圖形數據轉換工具開發,這些工具主要用於把美工用DCC軟體(如3DS Max,Maya,Soft XSI,Soft Image3D等)軟體製作的模型和動作數據以及用Photo shop或painter等工具製作的貼圖,轉化成游戲程序中用的資源文件。
2.聲音引擎主要包含音效(Sound Effect簡稱SE),語音(VOICE),背景音樂(Background music簡稱BGM)的播放。SE是指那些在游戲中頻繁播放,而且播放時間比較短,但要求能及時無延遲的播放,VOICE是指游戲中的語音或人聲,這部分對聲音品質要求比較高,基本上用比較高的采樣率錄制和回放聲音,但和SE一樣要求能及時無延遲的播放,SE在有的時候因為內存容量的問題,在不影響效果的前提下,可能會降低采樣率,但VOICE由於降低采樣率對效果影響比較大,所以一般VOICE不採用降低采樣率的做法。BGM是指游戲中一長段循環播放(也有不循環,只播放一次)的背景音樂,正是由於BGM的這種特性,一般游戲的背景音樂是讀盤(光碟或硬碟)來播放。另外一些高級聲音特效,如EAX,數字影院系統(DTS5.1),數字杜比環繞等。
3.物理引擎主要包含游戲世界中的物體之間、物體和場景之間發生碰撞後的力學模擬, 以及發生碰撞後的物體骨骼運動的力學模擬(比較著名的物理引擎有havok公司的game dynamics sdk,還有open source 的ODE—Open Dynamics Engine)。
4.游戲引擎主要是把圖形引擎、聲音引擎、物理引擎整合起來,主要針對某個游戲製作一個游戲系統,其包含游戲關卡編輯器,主要用途是可以可視化的對場景進行調整,光照效果和霧化等效果調整,事件設置,道具擺放,NPC設置,另外還有角色編輯器,主要用於編輯角色的屬性和檢查動作數據的正確性。一般日本游戲公司的做法,他們會把關卡編輯器和角色編輯器直接做到游戲中,所有的參數調整都在游戲中通過調試菜單來進行編輯,所以一般他們把這部分調試菜單的功能做的很強大,同時在屏幕上實時的顯示一些重要的信息,這樣做的好處是關卡編輯器調整的效果直接就是游戲的效果,但是對於程序的重用性來說可能不是很好,比如說要用到另外一個游戲項目中就比較難,除非兩個游戲類型相同,只要把場景和角色數據換一下,還有做下一代產品也沒有問題,只要根據式樣增加調試菜單的功能就可以了。
5.人工智慧和游戲邏輯開發,這部分日本和歐美的游戲開發模式也有很大不同,在歐美游戲公司中運用腳本語言開發很普遍,所以這部分程序開發主要是用腳本語言編寫,而且腳本程序和游戲程序的耦合性很低,有單獨的編輯、編譯和調試環境,這樣比較利於游戲程序和關卡設計開發分開,同時並行開發,所以一般他們都會有專門做關卡設計的程序員崗位。而日本游戲公司腳本語言一般和游戲的耦合性比較高,一般通過一些語言的宏功能和一些編譯器的特定功能來完成一個簡單的腳本系統,所以一般這些腳本程序只能在游戲程序中進行調試,而不能在一個單獨的腳本編輯,編譯環境中進行開發。
6.游戲GUI界面(菜單),主要是指那些游戲中用戶界面設計,有做的復雜,有簡單的,做的簡單就是2D GUI界面,做的復雜有3D GUI界面。
7.游戲開發工具主要包含關卡編輯器,角色編輯器,資源打包管理,DCC軟體的插件工具等開發。
8.支持區域網對戰的網路引擎開發,主要解決區域網網路發包和延遲處理,通訊同步的問題,有同步通訊和非同步通訊兩種做法,非同步通訊用於那些對運行幀速要求比較高的游戲,同步通訊相對非同步通訊來說效率相對低,但是同步通訊的編程模型相對非同步通訊來得簡單一些。
9.支持互聯網對戰的網路引擎開發,目前大部分網游都是C/S結構的,伺服器端軟體配置管理,伺服器程序的最優化,還有游戲大廳、組隊、游戲邏輯處理、道具管理、收費系統等。另外還有一些網路系統是C/S和P2P兩種結構混合的,如XBOX Live等.

『捌』 怎麼給gta5換個物理引擎,像gta4那種

物理引擎是要一點點做上去的。GTA5的物理引擎發了R星公司整個團隊4年的時間才製作出來。你換物理引擎像當換貼圖那麼簡單啊。

『玖』 開發游戲引擎怎麼開發以及游戲製作需要學習什麼

你可以先去【繪學霸】網站找「游戲設計/游戲製作」板塊的【免費】視頻教程-【點擊進入】完整入門到精通視頻教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=307&zdhhr-10y22r-327888886960093165

想要系統的學習可以考慮報一個網路直播課,推薦CGWANG的網路課。老師講得細,上完還可以回看,還有同類型錄播課可以免費學(贈送終身VIP)。

自製能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭:王氏教育。
王氏教育全國直營校區面授課程試聽【復制後面鏈接在瀏覽器也可打開】: www.huixueba.com.cn/school/3dmodel?type=2&zdhhr-10y22r-327888886960093165

在「游戲設計/游戲製作」領域的培訓機構里,【王氏教育】是國內的老大,且沒有加盟分校,都是總部直營的連鎖校區。跟很多其它同類型大機構不一樣的是:王氏教育每個校區都是實體面授,老師是手把手教,而且有專門的班主任從早盯到晚,爆肝式的學習模式,提升會很快,特別適合基礎差的學生。

大家可以先把【繪學霸】APP下載到自己手機,方便碎片時間學習——繪學霸APP下載: www.huixueba.com.cn/Scripts/download.html

『拾』 如何製作游戲軟體

你可以先去【繪學霸】網站找「游戲設計/游戲製作」板塊的【免費】視頻教程-【點擊進入】完整入門到精通視頻教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=307&zdhhr-11y17r-1988087841010393507

想要系統的學習可以考慮報一個網路直播課,推薦CGWANG的網路課。老師講得細,上完還可以回看,還有同類型錄播課可以免費學(贈送終身VIP)。

自製能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭:王氏教育。
王氏教育全國直營校區面授課程試聽【復制後面鏈接在瀏覽器也可打開】: www.huixueba.com.cn/school/3dmodel?type=2&zdhhr-11y17r-1988087841010393507

在「游戲設計/游戲製作」領域的培訓機構里,【王氏教育】是國內的老大,且沒有加盟分校,都是總部直營的連鎖校區。跟很多其它同類型大機構不一樣的是:王氏教育每個校區都是實體面授,老師是手把手教,而且有專門的班主任從早盯到晚,爆肝式的學習模式,提升會很快,特別適合基礎差的學生。

大家可以先把【繪學霸】APP下載到自己手機,方便碎片時間學習——繪學霸APP下載: www.huixueba.com.cn/Scripts/download.html

閱讀全文

與如何製作物理引擎相關的資料

熱點內容
word中化學式的數字怎麼打出來 瀏覽:409
乙酸乙酯化學式怎麼算 瀏覽:1084
沈陽初中的數學是什麼版本的 瀏覽:885
華為手機家人共享如何查看地理位置 瀏覽:713
一氧化碳還原氧化鋁化學方程式怎麼配平 瀏覽:557
數學c什麼意思是什麼意思是什麼 瀏覽:1042
中考初中地理如何補 瀏覽:995
360瀏覽器歷史在哪裡下載迅雷下載 瀏覽:428
數學奧數卡怎麼辦 瀏覽:1018
如何回答地理是什麼 瀏覽:748
win7如何刪除電腦文件瀏覽歷史 瀏覽:787
大學物理實驗干什麼用的到 瀏覽:1132
二年級上冊數學框框怎麼填 瀏覽:1336
西安瑞禧生物科技有限公司怎麼樣 瀏覽:493
武大的分析化學怎麼樣 瀏覽:924
ige電化學發光偏高怎麼辦 瀏覽:925
學而思初中英語和語文怎麼樣 瀏覽:1232
下列哪個水飛薊素化學結構 瀏覽:1084
化學理學哪些專業好 瀏覽:1168
數學中的棱的意思是什麼 瀏覽:694