① unity3d中怎么用代码换材质
我也在找这个问题的答案。
首先说两种都不起作用的方式:先取游戏对象的meterial,
Material mymeterial=getcomponent<Renderer>().material;
或者是专取 sharedMaterial。然后使用遍历属本游戏中的材质库:
mymaterials = (Material[])UnityEngine.Resources.FindObjectsOfTypeAll(typeof(Material));
得到的是数组,取其中的值。
mymaterail1=mymaterials[1];
还是用公共参数取得外部给的值: public Material mymaterail1;
这些方式取得准备应用的meterial.
最后让 mymeterial=mymaterail1,都不报错,但是都不起作用。
我哪里出问题了?哪一步不完善?谁回答一下。
② unity5怎么给材质球贴材质
把texture拖拽到gameObject上会在Materials里自动生成对应的材质球。
③ 如何在unity3d的UGUI中给Text添加材质和艺术字
在你所需要的地方建立一个文件夹,并新建一个材质material,你可以用中文为其命名,比如“”文字材质“”。
2
你需要更改材质的shader,此种shader将被用于UGUI中,不限于Text,Panel也可应用,有一定代替Sprite的效果。言归正传,更改shader,如图中所示的那样。这种设置只包含了一种贴图,请将Detail Strength的值调整成1,这样,将完全显示你所赋予的纹理。
3
添加一张图片,当你导入一张图片到unity中,默认是Texture形式的,Texture是指的该图片的shader。所以你什么都不需要做,直接添加图片到之前我们所建立的文字材质中去。
4
新建一个Canvas并添加一个子UI,也就是一个Text。
5
我们更改一些Text中的属性,以便我们只做与观察。并在Text的Material中将我们的文字材质添加过去。
这是很重要的一个步骤,添加一个名叫 position as UV1 。在官方的解释中这个组件是用于Text的显示的,也就是说,你只能这样用,由于他没有任何参数,也没有过多的说明,所以不能解释。如果你不添加这个组件,将不能够正确显示,如果你添加了组件,之后有删除了,你的显示效果可能依然存在,这点我无法解释,总之,只要添加就好。
你会看到一下文字。当你的图片过小的时候,请更改你的材质一栏的属性,Detail下的Tiling和offset找寻合适的值。对于一个文字材质,你无法真正找到正确的拉伸,但是你可以对此处进行手动微调,特别是你的图片在看起来不是那种连续的图片的时候。
我们试着写一个繁体字,让他看起来很方,方便我们调节材质的相关系数。
我们尝试谢谢其他字,并对text面板进行手动的拉动,看看有何种效果。我们会发现材质随着我们的拖动发生了变化,所以请在使用时候注意到这一点。但是请注意这一点,某种意义上并不会影响你的使用,因为你可以勾选Text组件下的红框体中的选项,使文字不受到框体的约束做出如换行等动作。
如上面的“”啊喽哈“”几个字,我们可以为Text添加Outline组件,使得发生描边效果。
我们再回到“”啊喽哈“”几个字,我们可以为其添加除了秒黑边外的阴影属性,我们可以将他的的Color变得白一些,你会看到变化。
这时候你删除或者取消掉之前的outline属性,只保留shadow,你将会看到3D立体感的“”啊喽哈“”。之后在Text再次添加Shadow组件,也就是说Text这时候有两个shadow,我们添加不同的组件,可以达到多种效果,也就是我们如果愿意的话
在之前我们创建的名为“”文字材质“”的材质球中,如果我们移除材质的贴图,我们适当更改其他部分的颜色,我们将看到红白配的字,是不是很丑,但这点很实际,只不过他们不般配而已。
我们搭配合理一些可以出现还能凑合一看的效果,只是字体稍显难看。
当我们下载合适的字体,譬如一些魔法文字,并赋予一些材质之后,我们之前的一些设置,就有了用武之地。但是有些时候我们期望得到一个窄窄高高的魔法字的时候,我们只需调节Text组件的RectTransform中关于缩放的数值。
我们再次使用其他字体做做实验,比如“”开始游戏“”,一款感觉有战地情节的有些是什么样子呢。当然了,我们也可以更酷一点吧,字体是大头,兴许你的一次改动整个风格就全变了。
④ unity 怎么为组件设置材质
关键词
MeshRenderer m_meshrender = 通过任意方法找到药水的物专体.GetComponent<MeshRenderer> ();
m_meshrender.material=你的材质属 ;
⑤ unity3d中怎么用代码换材质
单击的代码就不写了,换材质代码如下:
Public Material myMaterial ; //定义材质类型变量内,Public型,从外面拖拽上去
//
gameObject.renderer.material = myMaterial; //将新材容质赋予物体即可
⑥ unity建立了要做天空,做了材质球后怎么办
直接拖着你的材质球往场景的天空上拉就行,也可以找到Lighting setting 最上边有个skybox material的选项,把你的材质球放进去
⑦ 怎么给unity里面的plane添加颜色材质
你需要建立一个材质,然后把材质拉进去
⑧ unity模型光照材质怎么添加
十四讲我们实现了基本的Surface Shader,十五讲讲了光照模型的基础知识。这一讲说的是如何写光照模型。
自定义光照模型主要分为4步:
(0)架设框架,填写需要的参数
(1)计算漫反射强度
(2)计算镜面反射强度
(3)结合漫反射光与镜面反射光
代码配有中文注释,配合上上讲的光照公式,一步一步实现即可。
//
Author: 风宇冲
Shader "Custom/T_customLightModel" {
Properties
{
_MainTex ("Texture", 2D) = "white" {}
}
Subshader
{
//alpha测试,配合surf中的o.Alpha = c.a;
AlphaTest Greater 0.4
CGPROGRAM
#pragma surface surf
lsyLightModel
//命名规则:Lighting接#pragma suface之后起的名字
//lightDir :点到光源的单位向量
viewDir:点到摄像机的单位向量
atten:衰减系数
float4 LightinglsyLightModel(SurfaceOutput s, float3 lightDir,half3 viewDir, half atten)
{
float4 c;
//(1)漫反射强度
float diffuseF = max(0,dot(s.Normal,lightDir));
//(2)镜面反射强度
float specF;
float3 H = normalize(lightDir+viewDir);
float specBase = max(0,dot(s.Normal,H));
// shininess 镜面强度系数,这里设置为8
specF = pow(specBase,8);
//(3)结合漫反射光与镜面反射光
c.rgb = s.Albedo * _LightColor0 * diffuseF *atten + _LightColor0*specF;
c.a = s.Alpha;
return c;
⑨ unity5.x中材质怎么添加贴图
继续上次来笔记中所记录自的东西,在Project视图中,ImportedAssets-Meshes-Materials下我们可以看到一个没有纹理的材质球,这个材质是跟随我们的3d Max模型来的默认材质。因为这里我们要添加自己的材质,所以我们直接把这个材质球删除。
删除后,我们看到本来的Prefab颜色也发生了改变。
接下来我们在Materials文件夹下,右键新建一个材质(Material),命名为Stone_Floor。现在这是一个空白的材质,我们要为他选择着色器,Unity提供了十分多样的着色器(shader),这里我们先不做深入的讨论,直接选择Bumped Specular(凹凸高光),这是十分常用的着色器。
Bumped Specular中可以从下往上看,BaseMap和Normal map(基础贴图和法线贴图);Shininess是反射度;Specular Color就是高光颜色;Main Color也就不需要解释了。。
⑩ C# UNITY3D 怎么给物体赋予不锈钢材质
如果是那种光滑的镜面不锈钢,本质跟镜子是一样的
金属拉满,光滑拉满;
但最终要回的是需要一个答正确的反射源(cubemap),可以在场景中的lighting中设置,或者单独配置一个reflection probe