项目中需要实现一个3D动态头像,就是一个静态的头像实时与3D模型的表情动作同步,这个功能可以使用Unity3D的RenderTexture实现。
首先拖入3D模型,再添加与模型关联的摄像机,新建一个Model,层物体摄像机都处于Model层
摄像机属性设置如图:
摄像机的位置调整对准模型的正面。
新建一个renderTexture
新建一个材质球
这个地方遇到一些问题,就是黑底一直无法去掉,最后使用着色器去掉黑底,着色器代码如下:`
Properties {
_MainTex ("Base (RGB)", 2D) = "white" {}
}
SubShader
{
Tags { "RenderType"="Opaque" }
//LOD 200
Cull Off
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
CGPROGRAM