标签:Shader baseColor Linear Unlit Texture shader 材质 string
在3dmax里实现unity的texture shader并渲染
3dsmax版本:2019
首先感谢这位大哥的 Unity与3DMax效果同步——3DMaxDX Shader:https://zhuanlan.zhihu.com/p/100253142
在3dsmax里,首先更改材质类型,选择 DirectX Shader
然后选择一个HLSL文件,我这个文件就是把3ds max的StandardFX11.fx复制了一遍。
Unity的Unlit/Texture shader不受光照影响,所以我的目标就是直接把baseColor的颜色输出出来,就完事了。
在.fx里声明颜色贴图和对应的SamplerState,这块是照着知乎那大哥写的。
Texture2D g_BaseColorTexture <
string UIName = “BaseColor”;
string ResourceType = “2D”;
int Texcoord = 0;
int MapChannel = 1;>;
SamplerState g_BaseColorSampler
{
MinFilter = Linear;
MagFilter = Linear;
MipFilter = Linear;
AddressU = Wrap;
AddressV = Wrap;
};
然后在std_PS,采样之后返回baseColor的颜色就行了,也不需要计算光照啥的
float3 baseColor = g_BaseColorTexture.Sample(g_BaseColorSampler, IN.UV0.xy).rgb;
return float4(baseColor,1);
左边是新的材质,右边是3ds max默认的材质
结果现在render后长这个样子。。。
注意render的时候 选这个渲染器
终于出来了
标签:Shader,baseColor,Linear,Unlit,Texture,shader,材质,string 来源: https://blog.csdn.net/weixin_38926960/article/details/113865564
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。