Blueprint是壹個節點編輯器,或者說可視化編程,這不是UE4首創的,更談不上什麽創新,因為這個東西30多年前就已經被電影界玩爛了。最早可以追溯到上世紀80年代初在SGI工作站上誕生的壹款名為Avid Media Composer的視頻編輯軟件。
從Avid開始,這個東西就成了大部分影視動畫軟件的標配。比如MAYA,C4D,NUKE,Houndini等軟件都有自己的節點編輯器。UE4中的節點編輯器,唯壹的區別就是它有壹個“不同的名字”,但實際上,它改變了它的形式。下圖是C4D(出生於1996發布的C4D4版本)的節點編輯器:
節點編輯器是制作影視動畫的神器。因為它讓影視制作人可以跳過學習編程語言。但拿它做遊戲更像是個笑話。
動漫和遊戲的根本區別在於,首先,需求產生的順序不同。。。影視動畫是先有劇本,再根據劇本制作動畫。中間環節需求不會變,生產環節邏輯也不會變。在遊戲中,玩家的行為是無法提前預測的,需求隨時可能發生變化。所以,最直接的辦法就是不設置可能改變需求的功能,讓玩家無法做出“無計劃行為”,但這根本不能稱為“遊戲”,最多只能稱為“場景漫遊”。
第二,對冗余的容忍度不同。。。動畫的邏輯和冗余只是在制作過程中產生的,成品本身只是壹個視頻文件。遊戲中產生的冗余會直接決定遊戲的性能。按照通用編程語言標準,藍圖生成的所有邏輯實際上都包含了大量的垃圾代碼。UE4的項目需要更高的硬件配置,其實主要不是因為“畫面高”,而是因為冗余。如果把Unity項目的畫質提升到超越UE4的水平,它所需要的硬件配置仍然會比UE4項目低很多。這是UE4項目很難移植到手機和掌機上,而Unity可以的根本原因。
用偽代碼,舉個不準確的例子,如果用代碼來表示壹個簡單的AI邏輯,“如果敵人A的位置在B的3米以內,B就會開始進攻。”