技术标签: 3D动作绑定
通常一个3D游戏角色的制作流程分为概念设定、模型搭建、贴图烘焙、骨骼蒙皮、动画制作和引擎测试六个步骤,涉及到的岗位有原画师、模型师、动画师等。整个制作周期30到45天。
对于策划来说,了解美术工作流程对规范美术需求文档,有效减少和美术的沟通成本十分必要。
本文就来简单讲述下游戏角色的制作过程,希望能让大家对游戏制作有更深的了解。
概念设定的主要工作是做游戏世界观的视觉化表现工作,概念设定师根据策划的文案,设计出整个游戏的美术方案,包括角色设定、场景设计、怪物、道具、载具等等,为后期的游戏美术(模型、特效等)制作提供标准和依据。
通常每款游戏都会有相应的美术风格及美术标准,这将决定整款游戏的美术方面——风格、美术效果、细节要求以及特征呈现等。
游戏概念设定也被称为原画及设定,一般分为场景原画、设定原画、CG原画。
当游戏角色原画及设定确定后,会进行角色模型制作。次世代角色模型制作流程一般是:3Dmax建中模-ZB雕刻高模-maya拓扑低模-mayaUV拆分-toolbag或SP烘焙贴图-SP绘制材质。
中模能尽快的将原画中的角色的体型、轮廓描述出来。
一般在次世代游戏制作中,中模完成后会进行高模制作,高模是指高细节,高精度的3D模型,看上去十分逼真细节非常丰富模型的面数也相当的高。
高模会将角色模型做得非常精细,包括很多人物细节,角色材质等,以表现角色的细节特征。高模也经常用来制作游戏过场动画。
在高模制作完成后会制作低模。由于在手机游戏运行中需要考虑性能的问题,而高模细节多,面数高,游戏引擎拖不动,从而产生拓补低模的概念。
低模会根据高模减少面数,尽量保证角色轮廓匹配的情况下进行优化。在精简面数同时要合理布线以方便后续角色动画的制作。
模型制作完成后,还需要拆分模型UV,也叫UV展平
拆分模型UV就好比一个骰子六个面,要画贴图(下一章节)就先要把UV拆成一个平面,因为我们绘出的贴图是平面的(横X纵Y轴),所以UV也要拆成平面,并且UV坐标要和贴图坐标对应(U对应贴图的横坐标,V对应贴图纵坐标,也即映射)
学术点说就是当我们将3D的模型拆开,变成2D平面时,每个平面对应3D模型的具体位置都是通过UV进行计算的,UV能够使贴图在精准的对应到模型表面。
在模型制作完成后,需要进行贴图绘制。贴图可以理解为对照原画给角色模型添加“皮”和“衣服”。
次世代游戏贴图分为描绘物体表面细节的凸凹变化的法线贴图(normalmap)、表现物体的颜色和纹理的反射率贴图(albedomap)、表现物体在光线照射条件下体现出质感的金属度贴图(metallicmap)和粗糙度贴图(roughness)。
最新的次世代技术是PBR技术,指使用基于物理原理和微平面理论建模的着色/光照模型,以及使用从现实中测量的表面参数来准确表示真实世界材质的渲染理念。
在通过各种微调、细节优化后,便开始了贴图的绘制,这也是游戏美术风格、角色美术细节体现的部分,除了要用到大量的高清素材,还需要设计者手绘进行原创制作,次世代游戏则会结合以上的贴图,以达到更好的角色质感和表现效果。
模型、贴图制作完成后,需要进行游戏角色骨骼搭建及绑定,这里会根据角色的特性进行不同的设计,合理的根据角色肌肉、关节搭建骨骼,以方便后续的动画制作。
除了角色本身以外,角色武器也要通过搭建骨骼及绑定,如下图战神主角武器链刃的绑定。
而在角色骨骼搭建完毕之后则可以开始蒙皮。蒙皮就是将创建好的骨骼与模型绑定在一起,保证模型能顺利且正确的动起来。
负责角色建模的美术同学,往往会把模型建成双手向两侧抬起的姿势,这个姿势叫作T-pose(也叫绑定姿势,如下图)。这样做是为了方便动作美术进行蒙皮,蒙皮后模型上每个顶点都会保存在绑定姿势下相对于部分骨骼的相对位置。
在人物蒙皮完毕后,会根据游戏中的需求进行动画制作,比如人物行走,以到活灵活现的效果。
在动画制作及优化环节会比较严谨,除了要反复检查参与活动的皮肤与骨骼,还需要删除不必要(多余)的骨骼,要严格按照动画流程来制作。
在完成了上述工作后,动画制作人员会将做好的角色交还给模型制作人,此时会将角色模型导入引擎中进行测试,包括任何动画和变形,以及检查纹理和照明适用于正确的表现方式。
通过测试后,一个角色模型本身的制作过程就算完成了。
更多模型赏析,请关注微信公众号:游鲨游戏圈
往期文章:
游鲨游戏圈:是颠覆行业的技术,还是如VR噱头一样昙花一现——深入了解云游戏zhuanlan.zhihu.com
环境docker背景由于gitlab默认是没有上下文的,但是对于只有一个DNS服务器+nginx或haproxy做代理的情况下,没有上下文配置是不科学的。为此,我们必须给gitlab一个上下文(比如:/gitlab)操作假设docker 端口映射关系docker run -p 80:80修改 gitlab.rb...external_url 'http://example.or...
课程回顾:面向对象数组异常常用类集合IO流今日内容:进程:应用程序运行时,产生的独立的应用程序,拥有独立的代码和存储空间多进程:操作系统可以并发的执行多个进程线程:进程内部的一条执行路径多线程:java语言支持程序内部进行多线程开发进程内部可以有多个线程线程的作用:可以分担压力,提高性能主要用来完成耗时
#include<stdio.h>#include<string.h>struct AGE{ int year; int month; int day;};struct STU{ char name[20]; int num; struct AGE birthday; float score;};void InputStu(struct ST...
1、前言微信小程序提供了一套在微信上运行小程序的解决方案,有比较完整的框架、组件以及 API,在这个平台上面的想象空间很大。腾讯云研究了一番之后,发现微信支持 WebSocket 还是很值得玩味的。这个特性意味着我们可以做一些实时同步或者协作的小程序。这篇文章分享了一个基于WebSocket长连接的微信小程序——简单的剪刀石头布小游戏的制作过程,希望能对想要在微信小程序中使用 WebS...
如果要实现软件定义数据中心的愿景,网络虚拟化将会是旅程中的最后一公里。IDC估计网络虚拟化市场会从2013年360 million美金增长到2016年的3.7 billion。众多巨头接连大手笔,而很多新创公司也纷纷瞄准了这个方向。我们从下面几个方面来谈谈这意味着什么。一巨头间的博弈由于云计算逐渐进入成熟阶段,解决传统网络架构面临的挑战显得越来越迫切。中小企业可能还好,最着急的...
昨天夜里,小学时候喜欢的歌手终于出新歌了。今天白天,小时候喜欢的女明星来参加选秀了。芒果台重磅节目《乘风破浪的姐姐》,宁静、张含韵、郁可唯、万茜、钟丽缇等等,这些大牌姐姐们放下身段参加选秀,被评价、打分、争夺成团席位,消息一宣布就登上了热搜。而首播的今日,更是几乎占据了我微博的首页,虽然热搜关了,但“热搜榜”却关不掉:网友自制热搜榜大家都关注的是这些出道多年的姐姐们再次在舞台竞技绽放,争...
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,添加了易用性和灵活性(详细差别,日后我们再讨论),它不仅是client发送Http请求变得easy,并且也方便了开发者測试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是非常重要的必修内容,掌握HttpClient后,相信对于H...
前言之前了解了Elasticsearch的基本概念。将spring boot + ElasticSearch + head插件 搞通之后。紧接着对es进行下一步的探索:集群。查阅资料的过程中,找到了一篇超鸡详细的博客~~转载以方便日后查阅。亲自实践能更快理解哦。二话不说,先贴上转载地址,QAQ: 博客出处(博主):Thinkgamer博客 博客原文地址:Elasticsearch5....
Android 中使用ViewPager实现画廊效果
大批量部署服务器安装前言准备知识批量装机软件介绍什么是PXE?PXE的工作流程PXE必要条件什么是TFTP?什么是syslinux?批量部署服务器安装步骤:自动应答脚本制作工具kickstart配置DHCP服务器配置HTTPD配置TFTP服务器TFTP目录文件准备测试实验前言楼主所在实验室的机房近期进来大批量的新服务器,装机成了最大烦恼,因为总是遇到一些机械式的重复工作。如何进行一次大批量部...
Django 模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性。以下对此作一总结:abstract 这个属性是定义当前的模型类是不是一个抽象类。所谓抽象类是不会对应数据库表的。一般我们用它来归纳一些公共属性字段,然后继承它的子类可以继承这些字段。比如下面的代码中Human是一个抽象类,Employee是一个继承了Human的子类,那么在运行syn
double getPoint(double n){double nTemp=n-(int)n;return nTemp;}