作者:
ededws1 (ATMJin)
2016-03-11 22:52:04這個問題一直困擾我很久,現在剛好想到上來問一下
為什麼遊戲的3D模組邊緣無法很圓滑?
譬如說剛剛有人發暗殺教室的3DS遊戲,殺老師圓形的頭有很多稜角
明明感覺只是sin跟cos的正圓,為什麼無法做好一點?
到底硬體的效能如何影響到模組的精緻度,有人可以幫我解惑嗎?謝謝
作者:
festa (諒)
2016-03-11 22:55:00曲面上每一個點的光影角度都不一樣,算不完吧
作者:
realion (超乎想像)
2016-03-11 22:55:00作者:
realion (超乎想像)
2016-03-11 22:56:00作者:
ededws1 (ATMJin)
2016-03-11 22:57:00就不知道詳細情況才上來問的,我當然知道沒這麼簡單
作者:
yshinri (ISML實習分析師)
2016-03-11 22:58:00sin 跟 cos 才是不好算的東西
作者:
yshinri (ISML實習分析師)
2016-03-11 22:59:00一般來說 3D 模型都是用三角形拼起來的, 這才是最好畫的那些看起來像是圓表面的都是很多小三角形加上著色計算
作者:
crazycy (LCY)
2016-03-11 23:00:00因為現在電腦硬體都是以多邊形來建構3D模組
作者:
yshinri (ISML實習分析師)
2016-03-11 23:02:00至於三角函數這種東西, 軟體解幾乎都是插值多項式
作者:
feartis (狂簡)
2016-03-11 23:02:00不是有一種方法叫向量繪圖嗎?那拿來畫3D會怎麼樣?
作者:
ededws1 (ATMJin)
2016-03-11 23:04:00所以模型的複雜程度取決于裡面有多少小三角形?
作者:
yshinri (ISML實習分析師)
2016-03-11 23:04:00計算量是不會少的
作者:
yshinri (ISML實習分析師)
2016-03-11 23:05:00是的, 複雜的地方就會有比較多的三角形描述
作者:
senria (≡(?)≡)
2016-03-11 23:06:00就3DS效能不夠 跑不動更精緻的而已
作者:
ededws1 (ATMJin)
2016-03-11 23:07:00我還是不懂為什麼直接用函數畫圖會不好算?假設要畫一個圓就直覺上不是直接打方程式會比用三角形拼出來簡單嗎?
要達到你想的畫面那分割要切到很密阿...掌機處理器負荷不了吧...
作者:
yshinri (ISML實習分析師)
2016-03-11 23:12:00建 3D 模組是先蓋好直接讀點畫你那樣呼叫就是在 real time 算函數值再畫首先我上面提過三角函數呼叫成本比較高, 然後又要當下算
作者:
ededws1 (ATMJin)
2016-03-11 23:13:00?不懂,可以換個說法嗎
作者:
yshinri (ISML實習分析師)
2016-03-11 23:14:00要算到一樣的精細度畫圖當下的計算量差很多
要給電腦處理的資料 必須建立一套通用的規則3D通用的規則就是三角形 因為可以處理任何形狀圓形當然最好模擬殺老師的頭 但不能為了他一人而破壞
作者:
Kenqr (function(){})()
2016-03-11 23:15:00計算最花時間的是光影的部份 三角形只要算三個點 剩的內插
規則 當然你會想說"有些用圓形 有些用三角形就好啦"
作者:
ededws1 (ATMJin)
2016-03-11 23:15:00意思是如果要動起來叫函數的計算量比較大嗎?
作者:
brmelon (清水西瓜)
2016-03-11 23:15:00因為模組會動 同樣的一個圓面從不同角度看投到2D上也不同
遊戲畫面還是動態...及時運算量太大~不建模無法負荷吧
但這種"選擇性"所消耗的資源過於龐大而不切實際應該說"圓形"根本不能用 沒人能用球拼出任意形狀"球面的一部分"才可以當成基本單位
圓跟球對 surface rendering 不太親切啦
作者:
ededws1 (ATMJin)
2016-03-11 23:20:00加入“貼圖”這個東西解釋起來會比較容易嗎?
作者:
yshinri (ISML實習分析師)
2016-03-11 23:21:00對一般物體 ray tracing 本來就是大工程...
作者:
ededws1 (ATMJin)
2016-03-11 23:21:00“貼圖”又是什麼?介紹大作遊戲時常會被提到
作者:
yshinri (ISML實習分析師)
2016-03-11 23:22:00那個跟在空間中畫出一個物體的外表是兩回事
現在用三角形已經好很多了 以前PS時代主流還是四邊形
作者:
yshinri (ISML實習分析師)
2016-03-11 23:23:00把殺老師塗成黃色就是貼圖
作者:
ededws1 (ATMJin)
2016-03-11 23:23:00那現在還是先分開討論好了
硬要說是可以用 texture 當來源去修改幾何形狀啦
作者:
yshinri (ISML實習分析師)
2016-03-11 23:24:00一直都可以啊, 就我最開始講的「塗得讓它看起來像球」
像變形金剛 記得是由幾萬個零件組成 遊戲不太可能做到....
作者:
ko27tye (好滋好滋)
2016-03-11 23:25:00有些平面物件可以用貼圖造成3D的效果
這是做得到 但這樣三角形就不只是三角形了要有關於曲面的資訊才知道要怎樣上色可以以假亂真
作者:
ededws1 (ATMJin)
2016-03-11 23:25:00那一開始是如何把想要的形狀分割成三角形的?
作者:
ko27tye (好滋好滋)
2016-03-11 23:26:00你只要記住遊戲首要注重效能 面數都是能省則省
那叫凹凸貼圖,現在有 geometry shader 可以做真的變形
作者:
ededws1 (ATMJin)
2016-03-11 23:32:00這個我知道,就跟電腦跑不動就不要效能全開一樣
可以去找一些 blender 的教學影片,看看動畫師怎麼做modeling。
作者:
yshinri (ISML實習分析師)
2016-03-11 23:34:00至於 3D 模組是怎麼建的那又是另一門學問了
作者:
ededws1 (ATMJin)
2016-03-11 23:35:00好吧,那今天就先到這裡好了,感謝大家
作者:
chigo520 (CHIGO)
2016-03-12 00:14:00電腦的圓也不是圓阿......
作者: chris850210 (馬魚) 2016-03-12 00:38:00
面數太多會跑不動
作者:
nahsnib (æ‚Ÿ)
2016-03-12 00:45:00弄一個圓不難好嗎,球才有難度吧
很簡單 太多面就會超卡 然後你就會靠背很lag就算你電腦超爆幹好 不會卡 但是製作的人電腦會卡
作者:
Alu76521 (megumi(・∀<))
2016-03-12 03:29:00圓規表示:
就連數學軟體畫出來的圓放大看都不是圓了遊戲怎麼可能用圓電腦數據是不連續的
作者:
batora (Shitsuji)
2016-03-12 04:20:00無論你用啥繪圖軟體畫cos或sin,放大之後都是斜線全部都有鋸齒,就算是世間萬物你微觀來看,大概也沒有完美的平滑曲線再來就是就算以你想的,單純的sin、cos,問題是3D不可能只有一組,以殺老師那顆頭,就要切好幾顆圓出來才會是一顆球更別提還要全部運算他在動這回事,越精細運算量越大當然實際上3D建模也沒有人用這樣的方式在算就是了