[问题] 游戏的3d模组问题

楼主: ededws1 (ATMJin)   2016-03-11 22:52:04
这个问题一直困扰我很久,现在刚好想到上来问一下
为什么游戏的3D模组边缘无法很圆滑?
譬如说刚刚有人发暗杀教室的3DS游戏,杀老师圆形的头有很多棱角
明明感觉只是sin跟cos的正圆,为什么无法做好一点?
到底硬件的效能如何影响到模组的精致度,有人可以帮我解惑吗?谢谢
作者: pikachu2421 (皮卡@めぐ民)   2016-03-11 22:53:00
因为3D模型都是用多边形(polygon)组成的
作者: stringargs23 (string)   2016-03-11 22:54:00
你真的以为是那么简单喔?
作者: festa (谅)   2016-03-11 22:55:00
曲面上每一个点的光影角度都不一样,算不完吧
作者: realion (超乎想像)   2016-03-11 22:55:00
作者: allen20937 (旅行者)   2016-03-11 22:55:00
https://i.imgur.com/NmndqJ4.jpg 跟制作组的爱有关
作者: realion (超乎想像)   2016-03-11 22:56:00
楼主: ededws1 (ATMJin)   2016-03-11 22:57:00
就不知道详细情况才上来问的,我当然知道没这么简单
作者: yshinri (ISML实习分析师)   2016-03-11 22:58:00
sin 跟 cos 才是不好算的东西
作者: devilshadow (大湿胸)   2016-03-11 22:58:00
反锯齿开到最大
作者: 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
计算量是不会少的
作者: gm79227922 (mr.r)   2016-03-11 23:05: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
我还是不懂为什么直接用函数画图会不好算?假设要画一个圆就直觉上不是直接打方程式会比用三角形拼出来简单吗?
作者: kisc32950 (睡神)   2016-03-11 23:10: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
要算到一样的精细度画图当下的计算量差很多
作者: kirimaru73 (雾丸)   2016-03-11 23:14:00
要给电脑处理的资料 必须建立一套通用的规则3D通用的规则就是三角形 因为可以处理任何形状圆形当然最好模拟杀老师的头 但不能为了他一人而破坏
作者: Kenqr (function(){})()   2016-03-11 23:15:00
计算最花时间的是光影的部份 三角形只要算三个点 剩的内插
作者: kirimaru73 (雾丸)   2016-03-11 23:15:00
规则 当然你会想说"有些用圆形 有些用三角形就好啦"
楼主: ededws1 (ATMJin)   2016-03-11 23:15:00
意思是如果要动起来叫函数的计算量比较大吗?
作者: brmelon (清水西瓜)   2016-03-11 23:15:00
因为模组会动 同样的一个圆面从不同角度看投到2D上也不同
作者: kisc32950 (睡神)   2016-03-11 23:15:00
游戏画面还是动态...及时运算量太大~不建模无法负荷吧
作者: kirimaru73 (雾丸)   2016-03-11 23:16:00
但这种"选择性"所消耗的资源过于庞大而不切实际应该说"圆形"根本不能用 没人能用球拼出任意形状"球面的一部分"才可以当成基本单位
作者: Bencrie   2016-03-11 23:18:00
圆跟球对 surface rendering 不太亲切啦
作者: kirimaru73 (雾丸)   2016-03-11 23:18:00
但是"球面的一部分"光要描述就要十几个参数了
楼主: 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
“贴图”又是什么?介绍大作游戏时常会被提到
作者: Bencrie   2016-03-11 23:21:00
贴图就 ... 查表
作者: darkbrigher (暗行者)   2016-03-11 23:21:00
可以换HD材质mod 比如skyrim等等
作者: yshinri (ISML实习分析师)   2016-03-11 23:22:00
那个跟在空间中画出一个物体的外表是两回事
作者: darkbrigher (暗行者)   2016-03-11 23:22:00
当然本身电脑显卡 cpu 内存 都要撑得住
作者: rockmanx52 (ゴミ丼 わがんりんにゃれ)   2016-03-11 23:22:00
现在用三角形已经好很多了 以前PS时代主流还是四边形
作者: yshinri (ISML实习分析师)   2016-03-11 23:23:00
把杀老师涂成黄色就是贴图
楼主: ededws1 (ATMJin)   2016-03-11 23:23:00
那现在还是先分开讨论好了
作者: Bencrie   2016-03-11 23:23:00
硬要说是可以用 texture 当来源去修改几何形状啦
作者: yshinri (ISML实习分析师)   2016-03-11 23:24:00
一直都可以啊, 就我最开始讲的“涂得让它看起来像球”
作者: darkbrigher (暗行者)   2016-03-11 23:24:00
像变形金刚 记得是由几万个零件组成 游戏不太可能做到....
作者: ko27tye (好滋好滋)   2016-03-11 23:25:00
有些平面物件可以用贴图造成3D的效果
作者: kirimaru73 (雾丸)   2016-03-11 23:25:00
这是做得到 但这样三角形就不只是三角形了要有关于曲面的资讯才知道要怎样上色可以以假乱真
楼主: ededws1 (ATMJin)   2016-03-11 23:25:00
那一开始是如何把想要的形状分割成三角形的?
作者: ko27tye (好滋好滋)   2016-03-11 23:26:00
你只要记住游戏首要注重效能 面数都是能省则省
作者: Bencrie   2016-03-11 23:26:00
那叫凹凸贴图,现在有 geometry shader 可以做真的变形
作者: kirimaru73 (雾丸)   2016-03-11 23:27:00
游戏画面如果开始顿了 绘图什么的都可以牺牲
楼主: ededws1 (ATMJin)   2016-03-11 23:32:00
这个我知道,就跟电脑跑不动就不要效能全开一样
作者: Bencrie   2016-03-11 23:33:00
可以去找一些 blender 的教学影片,看看动画师怎么做modeling。
作者: yshinri (ISML实习分析师)   2016-03-11 23:34:00
至于 3D 模组是怎么建的那又是另一门学问了
楼主: ededws1 (ATMJin)   2016-03-11 23:35:00
好吧,那今天就先到这里好了,感谢大家
作者: Bencrie   2016-03-11 23:38:00
也许可以去 GameDesign 板逛逛 XDD
作者: penguinbon (榜榜尼尔)   2016-03-11 23:40:00
可以去Youtube搜寻"电玩画质简史"
作者: jo7777777 (射月)   2016-03-11 23:49:00
版上高手真多啊
作者: bluejark (蓝夹克)   2016-03-11 23:58:00
感觉根本不用去讨论怎么运算啊 其实就主机处理能力
作者: chigo520 (CHIGO)   2016-03-12 00:14:00
电脑的圆也不是圆阿......
作者: newgunden (年中むきゅー)   2016-03-12 00:32:00
你要在现实中用人力弄出一个圆就够困难了
作者: chris850210 (马鱼)   2016-03-12 00:38:00
面数太多会跑不动
作者: nahsnib (æ‚Ÿ)   2016-03-12 00:45:00
弄一个圆不难好吗,球才有难度吧
作者: sniper2824 (月夜)   2016-03-12 00:47:00
很简单 太多面就会超卡 然后你就会靠背很lag就算你电脑超爆干好 不会卡 但是制作的人电脑会卡
作者: bluejark (蓝夹克)   2016-03-12 01:00:00
不过这文举的杀老师那个好像也不用这么省面数
作者: Alu76521 (megumi(・∀<))   2016-03-12 03:29:00
圆规表示:
作者: garman0403 (他长)   2016-03-12 03:51:00
就连数学软件画出来的圆放大看都不是圆了游戏怎么可能用圆电脑数据是不连续的
作者: batora (Shitsuji)   2016-03-12 04:20:00
无论你用啥绘图软件画cos或sin,放大之后都是斜线全部都有锯齿,就算是世间万物你微观来看,大概也没有完美的平滑曲线再来就是就算以你想的,单纯的sin、cos,问题是3D不可能只有一组,以杀老师那颗头,就要切好几颗圆出来才会是一颗球更别提还要全部运算他在动这回事,越精细运算量越大当然实际上3D建模也没有人用这样的方式在算就是了

Links booklink

Contact Us: admin [ a t ] ucptt.com