unityunity5 lightmapping 模型有几个面黑的

后使用快捷导航没有帐号?
只需一步,快速开始
查看: 1523|回复: 4
Unity3d lightmap问题,求大神帮忙!!!
TA的其他好贴
马上注册,加入CGJOY,享用更多功能,让你轻松玩转CGJOY。
才可以下载或查看,没有帐号?
本帖最后由 luoyifan001 于
16:41 编辑
& && & 我想把场景模型的lightmap烘焙在一张贴图上。在maya里把所有物体uv2分到了一个0到1空间,再到里烘焙lightmap,但是它烘焙出来的不是我分得uv2。请大神帮帮忙。
& && &&&我用简单的几何体做测试时候又可以,不知道为什吗?
求大神帮忙!!!!!!!!!!
不要沉啊!!!!!!!!!!\
求大神帮忙!!!!!!!!!!
不要沉啊!!!!!!!!!!
不要沉啊!
没有人,可以回答吗?
喜子老师U3D高级班
掌握VR游戏制作就等于将前途放在了口袋中
【奖15张券】提高账户安全,完善个人资料!
Powered byUnity 5 lightmap - Unity Answers
Navigation
Unity account
You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio.
Unity 5 lightmap
Hi, I am using the Unity 5 beta and I'm wondering how to bake the lighting. If I go to Window & Lighting there is no &Bake selected& or &Bake scene& buttons as it was in the previous versions of Unity. And yes, my objects are set as static.
Not everyone is a mobile developer. We have a huge scene and we kind of need the &bake selected& button. Is there some workaround?
We tried to bake the lightmap in another scene and then move the object to the main one, but it didn't work.
That's because Unity 5 uses realtime global illumination by default. You might want to read up on the fairly significant changes between 4.x and 5.x:
Hint: You can notify a user about this post by typing @username
Attachments: Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.
3 People are following this question.Unity3 技术之表面着色
招聘信息:
谁都知道在Unity中可以编写shader,可是他们很难写,尤其当你需要每个像素的灯光和阴影产生交互.在Unity3中,除了要包含旧的支持,你的 shader也必须支持新的递延照明渲染(Deferred Lighting).所以我们决定要让shader更容易写!
主题思想就是在90%的情况下我之需要声明表面的特性就可以了.以后就想说:
我没有理会是否要提前或者延迟渲染,或者如何使用各种灯的类型去处理,或者要设置有多少效果将用灯光来呈现,或者用将有 多少会产生实时阴影的部分,等等都不是我感兴趣的!这些肮脏的渲染工作怎么能让程序去做?!得让程序员解脱!
当然这不是一个新概念.大部 分图形渲染编辑器都没用像素色(pixel
color)去作为最后输出的节点,而是用了他们的一些可以描述他们的表面参数(弥漫,镜面,法线)作为节点,所有的灯光代码也不是针对作色器本身图 形.OpenShadingLanguage()是和我们想的类 似的一个想法,不过因为它是针对电影的脱机渲染,所有它更丰富更复杂.
下面是一个简单的例子,但它很完整,演示了Unity3的漫反射贴 图和法线贴图的Shader.
&shader 代码
Shader "Example/Diffuse Bump" {
&&&&Properties {
&&&&&&_MainTex ("Texture", 2D) = "white" {}
&&&&&&_BumpMap ("Bumpmap", 2D) = "bump" {}
&&&&SubShader {
&&&&&&Tags { "RenderType" = "Opaque" }
&&&&&&CGPROGRAM
&&&&&&#pragma surface surf Lambert
&&&&&&struct Input {
&&&&&&&&float2 uv_MainT
&&&&&&&&float2 uv_BumpM
&&&&&&sampler2D _MainT
&&&&&&sampler2D _BumpM
&&&&&&void surf (Input IN, inout SurfaceOutput o) {
&&&&&&&&o.Albedo = tex2D (_MainTex, IN.uv_MainTex).
&&&&&&&&o.Normal = UnpackNormal (tex2D (_BumpMap, IN.uv_BumpMap));
&&&&&&ENDCG
&&&&Fallback "Diffuse"
将它赋予给漂亮的模型和贴图,它可以产生漂亮的图像!怎能不酷?!
这个是不是真的很有趣,将着色器的复杂语法简单化,后面再为一些老古董机器做一些后备声明.剩下的 只有CG语言/HLSL的代码,然后通过自动生成最终代码提高图像效果.
我们来解析一下这段着色器代码:
surface surf Lambert:这是一个表面着色(surf)用的主要函数,和用Lambert照明模式.
Input:表面作色器输入的数据.这可以有多种定义,用来描述每个顶点和像素的对应关系.上面这段代码里它有两个纹理坐标.
surf 函数,表面的实际着色代码.需要由SurfaceOutput(预定义结构)写入.它可以写入自定义结构,实际的代码只是写反照率和法线的输出.
什么是生成?
Unity的"表面着色器代码生成器"将利用这个方式产生实际的顶点和像素着色器,并将它编译好给各种目标平台.在 Unity3中将默认支持这种着色器:
提前渲染和递延渲染
预计算对象物体有无光照.
平 行光,点光源,射灯的cookie阴影有无,实时光影的有无.
对于提前渲染,它会在编译时计算每个顶点的灯的效果反映.
延 迟照明将会产生法线贴图,镜面贴图最后通过灯光的反射率和任何其它光照光影的反映.
它可以选择性的生成一个阴影,比如一些复杂 的通道贴图产生的阴影.
例如下面的代码通过提供的一个方向灯,4个顶点光源,三个阴影光被编译为一个提前渲染的可选 光影的shader.我建议你滚动页面往下看看就好了:
#pragma vertex vert_surf
#pragma fragment
#pragma fragmentoption ARB_fog_exp2
fragmentoption ARB_precision_hint_fastest
multi_compile_fwdbase
#include "HLSLSupport.cginc"
"UnityCG.cginc"
#include "Lighting.cginc"
"AutoLight.cginc"
struct Input {
&&&&float2 uv_MainTex :
TEXCOORD0;
sampler2D _MainT
sampler2D _BumpM
surf (Input IN, inout SurfaceOutput o)
&&&&o.Albedo = tex2D
(_MainTex, IN.uv_MainTex).
&&&&o.Normal = UnpackNormal (tex2D
(_BumpMap, IN.uv_MainTex));
struct v2f_surf {
&&V2F_POS_FOG;
hip_pack0 : TEXCOORD0;
&&#ifndef LIGHTMAP_OFF
&&float2 hip_lmap :
TEXCOORD1;
&&float3 lightDir : TEXCOORD1;
vlight : TEXCOORD2;
&&LIGHTING_COORDS(3,4)
LIGHTMAP_OFF
float4 unity_LightmapST;
_MainTex_ST;
v2f_surf vert_surf (appdata_full v) {
&&PositionFog(
v.vertex, o.pos, o.fog );
&&o.hip_pack0.xy =
TRANSFORM_TEX(v.texcoord, _MainTex);
&&#ifndef LIGHTMAP_OFF
&&o.hip_lmap.xy
= v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.
worldN = mul((float3x3)_Object2World, SCALED_NORMAL);
&&TANGENT_SPACE_ROTATION;
LIGHTMAP_OFF
&&o.lightDir = mul (rotation,
ObjSpaceLightDir(v.vertex));
&&#ifdef LIGHTMAP_OFF
shlight = ShadeSH9 (float4(worldN,1.0));
&&o.vlight =
VERTEXLIGHT_ON
&&float3 worldPos = mul(_Object2World, v.vertex).
&&o.vlight
+= Shade4PointLights (
&&&&unity_4LightPosX0, unity_4LightPosY0,
unity_4LightPosZ0,
&&&&unity_LightColor0, unity_LightColor1,
unity_LightColor2, unity_LightColor3,
&&&&unity_4LightAtten0,
worldPos, worldN );
&&#endif // VERTEXLIGHT_ON
&&#endif //
LIGHTMAP_OFF
&&TRANSFER_VERTEX_TO_FRAGMENT(o);
LIGHTMAP_OFF
sampler2D unity_L
half4 frag_surf
(v2f_surf IN) : COLOR {
&&Input surfIN;
&&surfIN.uv_MainTex =
IN.hip_pack0.
&&SurfaceO
&&o.Albedo = 0.0;
&&o.Emission
&&o.Specular = 0.0;
&&o.Alpha = 0.0;
&&o.Gloss = 0.0;
(surfIN, o);
&&half atten = LIGHT_ATTENUATION(IN);
LIGHTMAP_OFF
&&c = LightingLambert (o, IN.lightDir, atten);
+= o.Albedo * IN.
&&#else // LIGHTMAP_OFF
&&half3 lmFull =
DecodeLightmap (tex2D(unity_Lightmap, IN.hip_lmap.xy));
SHADOWS_SCREEN
&&c.rgb = o.Albedo * min(lmFull, atten*2);
= o.Albedo * lmF
&&c.a = o.A
&&#endif //
LIGHTMAP_OFF
在90行的代码中,10行是原始的着色器代码,其余 的代码在Unity2的时候几乎都要手写的.别急,这只是写了一点提前渲染的部分!还需要写递延渲染,可选阴影等等灯.
因此,现在应该会 比较容易的写着色器(对于我来说至少).Unity的用户也愿意少写代码,少些至少三倍的代码何乐不为?它还会有一些改变以适应Unity下一步新的照明 系统.
预定义的输入值
输入结构可以包含纹理坐标和一些预定义的值,例如查看的方向,世界空间的位置,世界空间的反射矢量 灯.例如,如果你利用世界空间反射矢量(如自发光),在模型表面做一些CubeMap反射效果(递延渲染的反射将不会计算,因为它不会产生效果,所以也不 需要考虑反射向量),
用一个小例子说明做简单的灯光渲染:
shader 代码
微信扫一扫
订阅每日移动开发及APP推广热点资讯公众号:CocoaChina
您还没有登录!请或
点击量4434点击量4217点击量3848点击量3096点击量3077点击量2891点击量2886点击量2852点击量2839
&2016 Chukong Technologies,Inc.
京公网安备89您的位置:
&unity3d软件开发中,如何看模型有多少个面?
unity3d软件开发中,如何看模型有多少个面?
&北京菜鸟在线教育科技有限公司
&上地信息路甲28号
&&&&志趣认证
&日(距今506天)
  在unity3d软件开发中,如何看模型有多少个面&小编提醒你:可以看到你视野中有多少面,无法确定场景中总共有多少面。
  具体的查看方法如下:
  在tris后面的数字就是模型的面数,如果想看单一模型,就调节摄像机只看到这一个模型,然后看一下tris是多少,减去2就是模型面数(场景中没有任何东西是,tris是2)。
  如果你想真正了解更多关于Unity3d的相关知识,或是想提升Unity3d的相关技术,请关注菜鸟在线!菜鸟在线(www. newbieol. com)作为行业内权威的研发和人才培训基地,致力于帮助更多的人增强自身开发技能,为诸多名企提供大量高素质专业游戏开发人才,深受企业的一直认同和肯定。
  菜鸟在线以完善的教学系统和雄厚的师资稳稳占据行业领军者位置,零基础教学为面临选择难题的学员开启通往高薪的大路;进阶制的教学保障学员避免漏掉每一个知识点,项目实践为学员打下实战基础,一定的开发经验使学员在求职中更具竞争优势,因此学员更受企业欢迎!
  菜鸟在线将根据学员的实际情况,为学员提供全方位的学习系统,一对一老师辅导,让你的学习成果更加高效,除此之外,菜鸟在线还提供ios,cocos2dx,cocos2d,android等游戏开发技术培训,欢迎您的随时加入!
联系我时请说明来自志趣网,谢谢!
关键字:&&&&&&
给我留言,我会立即联系您,谢谢!
(格式:区号-号码(分机) 如 010-8))
(强烈建议填写,可跟踪信息!)
(1000字内)
免责申明:志趣网所展示的信息由用户自行提供,其真实性、合法性、准确性由信息发布人负责。使用本网站的所有用户须接受并遵守法律法规。志趣网不提供任何保证,并不承担任何法律责任。 志趣网建议您交易小心谨慎。||
Copyright &
志趣网 版权所有

我要回帖

更多关于 unity5lightmap黑边 的文章

 

随机推荐