unity3d 动态加载纹理 5.3.7怎么没有地形纹理

请完成以下验证码
后使用快捷导航没有帐号?
请完成以下验证码
查看: 1322回复: 72
Unity资源系列之雪山地形,请用unity5.3.4版本打开!
元素币活跃度贡献值
土豪金2075
在线时间1088 小时
马上注册成为元素者,获取海量元素资源,结识各路大神级人物
才可以下载或查看,没有帐号?
价格:16元素币 销售总额:992元素币 购买人数:62尊敬的游客 ,本内容需要支付 16元素币 来下载,您可以 或者 。也可使用获取 同等点击次数 ,来轻松下载。
活跃度 +26
阅贴无数,楼主最强!
看到这么好的帖如同回到初恋的年代
我不生产资源,我只是资源得搬运工!
享有帖子相关版权3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和的同意4、所有内容仅供个人学习、研究之用,请勿用于商业用途5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意7、管理员和版主有权不事先通知发贴者而删除本文', this.href);">论坛版权
元素币活跃度贡献值
元素王, 积分 24292, 距离下一级还需 5708 积分
元素王, 积分 24292, 距离下一级还需 5708 积分
在线时间536 小时
这世上没有什么是元素币搞不定的,如果有,那就用更多!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素魔, 积分 4009, 距离下一级还需 991 积分
元素魔, 积分 4009, 距离下一级还需 991 积分
在线时间45 小时
UE都出到了&&我还在用4呢
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素魔, 积分 3787, 距离下一级还需 1213 积分
元素魔, 积分 3787, 距离下一级还需 1213 积分
在线时间54 小时
带你赚币带你飞,元素里面有正妹!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 27248, 距离下一级还需 2752 积分
元素王, 积分 27248, 距离下一级还需 2752 积分
在线时间361 小时
这世上没有什么是元素币搞不定的,如果有,那就用更多!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 22024, 距离下一级还需 7976 积分
元素王, 积分 22024, 距离下一级还需 7976 积分
在线时间406 小时
资源发布哪家强?元素首发称大王!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 22024, 距离下一级还需 7976 积分
元素王, 积分 22024, 距离下一级还需 7976 积分
在线时间406 小时
正是本尊想要的!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 27995, 距离下一级还需 2005 积分
元素王, 积分 27995, 距离下一级还需 2005 积分
在线时间600 小时
天下武功出少林,世界资源入元素!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素皇, 积分 44654, 距离下一级还需 55346 积分
元素皇, 积分 44654, 距离下一级还需 55346 积分
在线时间615 小时
因为没朋友所以帅!
元素币活跃度贡献值
元素王, 积分 10081, 距离下一级还需 19919 积分
元素王, 积分 10081, 距离下一级还需 19919 积分
在线时间189 小时
从业不识微元素,做遍项目也枉然
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素皇, 积分 93115, 距离下一级还需 6885 积分
元素皇, 积分 93115, 距离下一级还需 6885 积分
在线时间1714 小时
从业不识微元素,做遍项目也枉然
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
土豪金3120
在线时间2958 小时
这世上没有什么是元素币搞不定的,如果有,那就用更多!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 5222, 距离下一级还需 24778 积分
元素王, 积分 5222, 距离下一级还需 24778 积分
在线时间49 小时
为了元素币,拼了!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 25349, 距离下一级还需 4651 积分
元素王, 积分 25349, 距离下一级还需 4651 积分
在线时间300 小时
从业不识微元素,做遍项目也枉然
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 25349, 距离下一级还需 4651 积分
元素王, 积分 25349, 距离下一级还需 4651 积分
在线时间300 小时
从业不识微元素,做遍项目也枉然
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 29548, 距离下一级还需 452 积分
元素王, 积分 29548, 距离下一级还需 452 积分
在线时间194 小时
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
土豪金19263
在线时间2195 小时
这资源太棒了!!!感谢楼主发这么好的资源~么么哒!
时间可以证明一切
元素币活跃度贡献值
元素魔, 积分 3815, 距离下一级还需 1185 积分
元素魔, 积分 3815, 距离下一级还需 1185 积分
在线时间67 小时
资源甚好,发帖艰辛,且阅且珍惜!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 19666, 距离下一级还需 10334 积分
元素王, 积分 19666, 距离下一级还需 10334 积分
在线时间193 小时
元素那么大,我想来看看!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 29548, 距离下一级还需 452 积分
元素王, 积分 29548, 距离下一级还需 452 积分
在线时间194 小时
还没有设置签名!您可以在此展示你的链接,或者个人主页!
【50小时】的学习,已经证明了你自己,这件法袍是你的了,由于使用了简陋的材料,能穿一个月已经不错了!
【MP50】这次的冒险才刚刚开始,和所有故事一样,你得先有一个属于自己的法杖!即使他的法力会在30天后消失
【拥有1000元素币】你就可以领取
【拥有3000元素币】其实也是很容易的事情
【1W元素币】的持有者,对于很多元素者来说,是一件值得骄傲的事情!
【5W元素币】的持有者是真的土豪!赶快用它做点什么吧!
达成成就【中级追猎者】在元素悬赏中30次被评为最佳答案 ,双十二特别礼品
升级到【矿脉·勘探者】
达成成就【元素皇者】升级成为元素皇
达成成就【皇室后裔】最先成为元素皇的30个人,或者土豪逆袭获取
波塞冬之叉
达成成就【深海之王】有3000条回复的元素水域之王
守望者【赤炼】
守望者lewis的强大武器
升级到【星球·资源帝】
达成成就【元素之神】升级成为元素神
天降异火,大菠萝曾经火过,直接获取任何一个售价低于6000元素币的资源
达成成就【一代宗师 】发布过50张以上的教程类资源
【拥有10W元素币】才可以获得,您已经富可敌国了,钱对你来说只是一个数字,没有任何别的意义!
元素推荐-友情提示 /1
每周一次的扩散大招带来更多元素币收益!
快速登录:
收藏帖子(9)197被浏览20962分享邀请回答原文链接:
最近给美术整理的,这是知乎上最类似的问题了,所以挂在这,一个是看是否有人有类似的问题可以参考,二来刷一下自己网站的外链,增加被爬虫抓到的几率。。。知乎貌似不能像markdown或者引用html代码样外链图片,大家点上面的链接看吧。-------------------------------------------------------------------------------------第二次更。周末在科目二集训和考试的时候发现忽然被很多人点赞和关注,受宠若惊,感谢大家认可和支持。之前因为知乎不支持直接粘贴图片,又怕麻烦,只放了第一张图片,既然大家这么捧场,还是把配图都加上~~
~~ [捂脸][允悲]另外更多文章请访问我的博客,还有一些文章的补充和更新,还是会以博客为主,知乎上的回答尽量过来修改~~--------------------------------------------------------------------------------------LightMap烘焙技巧前言:弱弱的说我是一个程序猿。
科普名词解释:
全局照明(GI):是指除了直接光之外包括天空,物件之间间接光照的总和。
环境闭塞(AO):是指间接光在物件间相互遮挡反射不充分导致的微弱阴影。通常在直接光照的暗部才会比较明显。
天光:从头顶来的天空颜色造成的间接照明,特别是在晴朗的天气。
LightMap:光照贴图
HDR:颜色高动态区间,指颜色亮度可以超过1,移动平台暂且不支持
间接照明(间接反射):指光源照亮A物体,A物体变亮以后充当间接光源对近距离内B物体有照亮的作用。这种现象只有当物体B在直接光照(比如阳光)的阴影里才会明显。足够多的明暗对比适当打平灯光以增加阴影面积(暗部更多更容易做效果) 适当增大模型增加阴影面积(暗部更多更容易做效果)通过只投射不接收来增加假阴影(作假)(不接受投影是因为看不见所以可以节省这种物体的渲染和它占用的litmap面积)模拟全局光照足够充分的暗部照明(暗部会有一种明快的感觉,用美术语言说就是暗部很“通透”)天光的使用:理论上越晴朗的天气阴影暗部越偏蓝(同理也是为了有全局照明的效果,用美术语言说就是暗部很“通透”)(哪天北京晴空万里的时候去大楼的阴影里看看是不是有蓝色,为了对比饱和度的覆盖问题,可以拿一张白纸)对间接反射的夸张:比如守望先锋花村的樱花树下会有很强烈的蓝紫色,实际上是模拟粉红的樱花与天光蓝色的叠加造成的视觉,不过暴雪的美术有更加夸张的表达。(实现方法实际是在暗部增加与区域环境颜色相似的点光,实时GI现在效率跟不上,另外也不可能这么强。)小幅夸张:更夸张的做法:现实世界中不会有这么强烈的间接反射,就像叶子把光间接反射出来了一样,守望先锋就是例子其实以上技巧都是借鉴自守望先锋这是一个人的分析,只要有心去找,仔细去看,去思考,网上有很多文章有可以借鉴的地方(因为实时GI还开销太大,暴雪真是能通过技巧把能用的东西用到最好)
还有一个对环境光源的理解
祭上守望先锋的场景,很夸张的暗部间接光照,实际上是通过暗部打烘焙点光来实现的。更多细节请。AO的使用AO能更真实的模拟现实世界,能使暗部有更明显的立体感,用美术的话说就是暗部足够“实”,“不飘”基础知识请参考,这里讲了什么是AO,什么是间接反射等暗部的接缝处AO效果最明显LightMap面积的优化LightMap面积(精度)说明:(一个格子就是一个像素点,也就是占用在lightmap上面的面积)通过Scale In LightMap这个参数可以单独调整单个物体的精度更合理的分配LightMap面积(想要好效果又要节省lightmap面积,就是要研究,并总结经验,没有捷径)只投射不接受的物件Scale In Lightmap填0就行地面 & 物件,重要物件 & 一般物件, 视觉中心 & 边远地区,大物件 & 小物件全部(或者几乎全部)在明处或者全部在暗处的可以用最低分辨率烘焙(比如当前光线下的这个椅子和不管影子多么正都是在暗处的这面墙壁,这种情况下,这两个lightmap精度可以填0.01),需要注意的是必须参加烘焙只是精度可以很低(因为纯白或者纯黑被压缩大小是不会损失精度的)地面以下,地图的侧面,或者根本看不见的东西,烘焙占用面积请控制到最小(最惨的情况请参考下面说的浪费)避免完全没有必要的浪费像这种完全在别的物体以下,还参加烘焙的完全没有必要,而且浪费很大树叶花草等透贴类似的推荐只投射,不接受,而且接受烘焙阴影效果不见得好,会很“脏”技巧及问题发现阴影比较虚,不实检查是否间接光照反弹次数过大(可以理解成有过大的衍射效果)增加被投影物体的大小(比如放大花盆)(很显然)增加投影至物体所占lightmap面积(比如树叶投影到地面比较虚,则提高地面的精度)效果不好或者黑点、漏光过多检查2u是否打开检查顶点分布是否有异常,uv分布是否均匀或过少如果都没问题而且这个物件很重要,则增加精度自定义2u(高级,不推荐使用)过小物体效果太差如果确实过小,先看能不能放大,或者说这么小的东西有没有存在的必要或者是否可替代(很显然)如果确实需要,可以不参加litmap烘焙,而直接去diffuse贴图上花盆贴图的底部蹭两笔黑的这个花盆之前参加烘焙会有很大的漏光和黑点,其实不需要参加烘焙,而且效果比烘焙更好,还能节省lightmap压缩的效果优化通过我烘焙的经验,以kasaierxueyuannew场景为例,发现烘焙10-12张1024压缩到512,比直接烘焙2-3张1024的贴图来的精度和效果都更好10张512 = 2.5张1024,而以之前的烘焙策略烘焙3-4张1024效果没有我这个好此外通过合理分配lightmap精度,能节省2-3张lightmap,没有仔细分配之前,保证效果的情况下能烘焙14张左右,现在这版只使用了11张,如果还细抠还能省1张甚至更多从1024压缩到512肯定会损失精度,但是通过仔细的分配lightmap精度能使这种损失达到最小方法一:地面最有用,所以怎么省都不要吝啬地面的精度,地面不管接受多少阴影,所占用的lightmap面积是一样的,所以多打点阴影(不增加消耗,还可以做效果,何乐而不为)方法二:纯背光和纯亮光区域可以减少lightmap精度,因为压缩不影响(就像纯黑纯白的贴图压缩大小没有损失一样),而复杂的结构并且能同时受到阳光和阴影的影响,则也不需要节省精度,因为如果本来精度就不高,则压缩更惨方法三:压缩大小比压缩格式带来的损失小,如果压缩格式影响巨大,可以不压缩格式,而在其他地方想想办法怎么省(省的办法参考上面)。所以推荐烘焙高质量的光照图来压大小。方法四(重要):尽量使用大阴影,在不压缩情况下本来就很小很虚的阴影,被压缩了只会更惨,优化方法参考以上方法五:不推荐使用复杂的结构,酌情使用,在压缩的时候很容易损失过大个人经验暗部补光,感觉上并不是光越多越好,最好灯光颜色来表达周围环境的间接光照,过多颜色的灯光会让人觉得没有重点和乱点光通过减小光照强度、增加照明范围能得到更好的环境间接光的效果,还能防止有比较突兀的亮斑个人倾向于用天空材质球来代替全局环境光来烘焙,如果是晴朗天气,用默认纯蓝的天空即可白模的情况下感觉lightmap很舒服而且很干净,而最终效果图的lightmap效果没有那么明朗。所以猜测为diffuse贴图的饱和度问题,因此推荐使用较低饱和度的颜色,否则lightmap的颜色很容易被盖掉(不保证正确,希望美术同学尝试)跨平台的问题因为烘焙Lightmap用的exr,也就是HDR颜色编码,而现在手机平台不支持HDR编码,导致在手机平台和PC平台的解码方式不一样,所以不能使用过强的光来烘焙光照图,否则会造成android与pc差异巨大,因此不推荐使用光照强度超过3的灯光来渲染。演示可以从演示场景给一张全貌12235 条评论分享收藏感谢收起32 条评论分享收藏感谢收起查看更多回答Unity5.6大规模地形—地形资源的创建(2) - fcauto2012的博客 - CSDN博客
Unity5.6大规模地形—地形资源的创建(2)
在系列的上一篇中(以下简称“文1”),我们介绍了一种使用脚本从原始地形资源(heightmap,texture)创建TerrainData的方法。不过我们只实现了heightmap的导入,并没有实现texture的导入。另外,对于扩展Editor功能实现所谓的“批量操作”也没有做过多的阐述。本文我们将讨论以上两个问题。
1. TerrainData资源texture的导入(接上篇)
地形中的texture一般涉及到一个概念,就是splatmap。在接触地形的一开始我就被这个splatmap给搞糊涂了,到现在我也还是没能彻底理解它的概念和用法。以下这段文字是我从维基百科翻译过来的,我读过之后有了一些概念。
(splatmap 定义)在计算机图形学中,texture(纹理) splatting是一项将不同纹理结合的方法。它将一个alphamap(或者叫做weightmap,splat map)添加在当前图层的上方,通过设置这个alphamap部分或者全部透明,来显示出下面的图层。这个术语由Crawfis等人创造。(如下图:)
纹理splat技术通常用于计算机游戏中的地形渲染,因此需要多种优化技术。一个潜在的基本原则是每个纹理都拥有自己的alpha通道,因此消耗了大量的内存资源。对此的解决方案是,将多个alpha map整合到一张纹理中,每个通道依次赋予一张map。这样,通过单一的纹理高效地为四种颜色的纹理提供了alphamap。alpha纹理还可以使用比带颜色纹理更低的分辨率,并且带颜色纹理通常可以被平铺(be tiled)。
地形可以被分成块,每块可以拥有自己的纹理。假设有一张纹理只用于地形的某一部分,那么将这个alphamap应用于整个地形就造成了资源浪费,对此要将这个alpha map根据地形的分块也分成对应的alpha map块。
我的理解就是一块地形的某张texture可能有几张splatmap(或者叫alphamap)组成,这个数的上限应该是4,因为一个splatmap只能有RGBA四个通道。这样允许每个地形块使用不同的splatmap,那么就避免了只对某一块地形有用的splatmap扩大到整个地形而造成的资源浪费。显然splatmap是与地形分块相匹配的技术,它本质上还是texture。多通道形式的splatmap可以在worldmachine中制作,不过我们暂时先不做讨论。我们只采用从WM中导出的单个纹理,这样每块地形texture的splatmap就只有一个通道了,在Unity中这个单一通道是R。我们可以通过点击做好的terraindata资源旁边的“播放按钮”看到:那个红色的就是R通道的SplatAlphamap
在Unity的TerrainData类型中,用来描述texture的是一个叫做splatPrototypes的成员,它是一个SplatPrototype类型的数组,存储了TerrainData所用到的所有splatmap。因此我们只需要把用到的那张纹理图片加载进来,放进去就好了。代码如下:(直接加在文1的heightmap代码后面)
//texture!
//alphamap设置
terrainData.alphamapResolution = 512;
string texturePath=&Assets/512Test/image_x0_y0.png&;
Texture2D tex = AssetDatabase.LoadAssetAtPath(texturePath, typeof(Texture2D)) as Texture2D;
SplatPrototype splat = new SplatPrototype();
splat.texture =
Vector2 texSize = new Vector2(512, 512);
splat.tileSize = texS
terrainData.splatPrototypes = new SplatPrototype[] { splat };
terrainData.RefreshPrototypes();
SplatPrototype的内部成员又包括texture(纹理),normalmap(法线贴图),tileSize(纹理大小)等,我们只需将原始地形资源赋值给这些成员即可。这些成员与文1中方法1的参数设置是一致的,再次体现了这种对应关系。
2. 在Editor中实现“批量操作”的思路
对于文1中“批量操作”的想法,这里参照提供一种思路:
1. 做一个EditorWindow来创建TerrainData,UI功能包括源/目标路径和配置文件的选择等。配置文件可以使用txt或者xml格式,我选择的是xml,因为使用C# .NET的xml类解析起来很方便。同样heightmap解析同样用到了.NET库,可见熟练掌握.NET库对于Unity开发是很重要的。
2. 规定配置文件格式:要包含terraindata资源创建的所有信息,比如地形块数、块大小、高度、文件名称等。
3. 写一个TerrainImporter:根据配置文件格式来解析加载信息,并实现全部terraindata资源的创建。
到此为止,TerrainData资源就全部创建完毕。下一步的工作就是在runtime加载这些资源,并创建Terrain Object了。事实上,单纯的runtime创建Terrain Object并加载地形资源并不是那么困难,使用Terrain类型的一些方法就可以轻松办到,比如下面的代码就实现了对某一块地形的动态加载:
using System.C
using System.Collections.G
using UnityE
public class Initialization : MonoBehaviour {
public static TerrainD
public static GameObject terrain00;
// Use this for initialization
void Start () {
#if UNITY_EDITOR
td = Resources.Load(&tt/myTD00&) as TerrainD
Debug.Log(&加载terraindata失败!&);
terrain00 = Terrain.CreateTerrainGameObject(td);
terrain00.transform.position = new Vector3(0, 0, 0);
terrain00.GetComponent&Terrain&().Flush();
// Update is called once per frame
void Update () {
核心方法是Terrain类的静态方法CreateTerrainGameObject,将这个脚本挂载到Main
Camera下,即可在运行时初始化生成一块地形。另外,我们需要制定加载的策略,以及runtime的内存优化实现。我们将在后面的文章中继续讨论这些问题。
参考文献:
1. “文1”:
2. 维基百科:
4. Unity Script API文档:
我的热门文章u3d 5.3地形刷 刷不出东西来【unity3d吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:78,653贴子:
u3d 5.3地形刷 刷不出东西来收藏
大家好 请教个问题 我刚才装了个u3D5 但是不知道为啥在地形上面刷不出东西来 抬升降低地形都没反应 但我的4.X版本的没事 谁知道是咋回事噢
正版授权奇迹MU页游,奇迹重生!原汁原味还原奇迹,十年轮回!
没倒入东西么?欢迎加入unityQ群
登录百度帐号推荐应用

我要回帖

更多关于 unity 深度纹理 的文章

 

随机推荐