【教程】资产搬运&制作&动态贴图教程
都市天际线吧
全部回复
仅看楼主
level 11
amam🍦ya 楼主
受限于建模时间和原创人数,最近感觉有必要采用一些非原创无版权的外来模型,用来导入天际线进行游戏。虽然非原创很膈应,但是应用场景渲染或者建筑设计的成品,可以简单快速并高质量的为天际线添加资产。希望这篇教程能让天际线的中国资产作者壮大,同时让中式资产获得一个飞跃。
首先声明,非原创模型不应用在任何商业用途。
2018年07月24日 11点07分 1
level 11
amam🍦ya 楼主
现在我先说一下搬运模型的问题和解决思路
从各种模型网站我们可以获取大量模型。这些模型一般无法直接应用于天际线,原因是:
1,面数过多。渲染效果图的模型动辄数十万乃至数百万面,而天际线一般不得超过1万5
2,缺少贴图。渲染大多数时候直接采用材质和vray,而天际线不支持
3,子物体。场景不会把所有物体都附加在一起,而天际线只能接受单独物体的文件
4,门窗等不使用贴图而是直接使用模型
5,很多时候渲染图只做特定视角的模型,而天际线需要全方位无死角
我的对应解决方案:
1,优化面数,精简多余的和不可见结构。而且比较大的建筑的话,3~4万面都是可以接受的
2,使用uvmap替代材质,每种材质准备一张贴图。
3,精简子物体,把相同材质的物体全部附加在一起。
4,直接使用透明技术产生透明的玻璃门窗,而不采用发光/反射贴图表现门窗
5,需要筛选一下模型,不是什么都适合搬的。最好是结构完整而且面数友好的
2018年07月24日 11点07分 2
想做些建筑 想问一下 一层楼高度在max里是多少? 还有我看到有些把其它模型也混入比如屋顶管道、排风扇 这是如何做到的?
2018年10月07日 08点10分
@waya81269 一层楼多高你自己做嘛,一般建筑3,4米高级写字楼可能5米。其他模型和建筑模型并没有本质区别,一样做的
2018年10月07日 08点10分
@amam🍦ya 好的谢谢了
2018年10月07日 09点10分
大佬 都市天际线想学习做资产 有交流群吗
2021年07月05日 14点07分
level 11
amam🍦ya 楼主
接下来做一个实例
我随便在网上下载了一个建筑模型的max文件
导入3dsmax
可以看到,场景里包含两组模型和一些灯光,摄像机等多余的物体。我们先把模型以外的东西删掉(delete)
然后我们可以把主要建筑以外的装饰删除。这个场景里刚好是一组建筑一组环境。然后把这个集合分解(组-集合-分解)
2018年07月24日 11点07分 3
level 11
amam🍦ya 楼主
然后继续分解模型,查看每一个物体到底是什么。选中第一个物体,孤立当前选择(alt+Q)
这是占了整个建筑一半三角形数量的主要结构,是一种框架,把物体重命名为框架。上面有个屋顶应该采用不同材质,把它分离。(按5进入元素层级,选中,分离。)
然后优化一下这个部分的面数,考虑有没有要直接删除的部分,然后焊接一下减去重复定点,并且把一些不连续面连在一起
最后加载一个专业优化,调整数值优化到不会破坏结构的最大限度
发现有些面变黑了,这是平滑组的问题。转为多边形进入面层级,全选,清除全部平滑组
这样一来这个部分的面数就减到了一半,如果觉得有些结构多余的话还可以继续优化。
2018年07月24日 11点07分 4
level 11
amam🍦ya 楼主
另外一大部分是这个子物体。
它包含了多个结构,显然不能只用一种材质,所以我们要把它拆开,然后分别优化
这有4000多边形(6400三角形)的小圆球结构,我们不太需要这种看都看不清的细节,直接删了就好
然后发现框架结构有很多陷入了下面实心模型中,属于多余,删除
再稍微处理一下,并分类重命名,这个模型的整理就完成了。可以看到现在总共只有13944三角形,足以满足天际线的需求。
2018年07月24日 11点07分 5
想问下 天际线对于模型面数的要求最高是多少个面?
2019年01月21日 06点01分
@Mz丶3 单个模型最高限制大概是32000。一般要求在15000
2019年01月21日 08点01分
level 11
amam🍦ya 楼主
接下来要准备导出。首先注意模型的轴位置。每个模型都会有它的轴,而场景中物体的轴一般都不在坐标原点,而模型相对轴又有个偏移,这将导致我们直接导入天际线的话模型在很远很远之外,而使你根本找不到模型在哪。
这时候先把整个建筑成组,这可以自动以质心作为整个物体的轴心,然后将XY坐标归零。(注意因为是质心所以z轴不能归零,不然你的建筑就沉到地下去了)
这一步是为了把整个模型的位置定好
还有一种操作是全部附加在一起就合成一个轴了,再分开不会变,具体操作随意。
然后再分别调整每个模型的轴归零。xyz都要归零。注意选择[仅影响轴]进行移动。同样还要检查的是物体的缩放,以及角度是不是统一。角度不统一可以和坐标同样仅影响轴调整到一样,而缩放则需要新建一个正常缩放的物品,附加那个不正常的,再删除多余的元素。
2018年07月24日 11点07分 6
质心?是不是平面形状的形心啊?
2018年09月05日 13点09分
@范德仕 这是立体的
2018年09月06日 00点09分
@amam🍦ya 嗯嗯 立体的也叫形心,是各面形心的共点,也就是立体形状的形状中心。质心是指物体质量的共点,和质量(重量)分部有关。我工科生,有点杠了哈哈不好意思。
2018年09月06日 11点09分
@amam🍦ya 想请教一下,游戏中是不是一个格子8米x8米,建模也按照这个规则8米x8米平面的建筑就是占完一个格子?
2018年09月06日 11点09分
level 11
amam🍦ya 楼主
调整完毕应该是所有物体都是一样的轴,这样导出之后再天际线里才能组合到一起。
导出前还要做两个事情,一个是贴图一个是lod。
贴图:省事的话用uvmap做贴图。
加载uvwmap(uvw贴图)修改器,一般方正的结构都是采用长方体贴图,取消真实世界贴图大小选项,并调整缩放到正常。可以拖一张贴图进来预览效果。
你也可以使用uvw展开做贴图,那就需要ps或者别的制图软件制作特殊贴图,这里不展开讲
其他子物体同样的进行贴图。
2018年07月24日 11点07分 7
level 11
amam🍦ya 楼主
制作lod
先把处理好的物体复制一份
然后和最开始的模型优化一样,不过这次把所有拉远了就看不清的结构全删了
简化到了1106个三角形,肯定还能继续简化,不过我觉得差不多可以接受。
2018年07月24日 11点07分 8
level 11
amam🍦ya 楼主
这样一来模型方面的所有准备就做完了,可以导出了
选择一个子物体,导出选定对象导出fbx。
导出位置:C:\Users\******\AppData\Local\Colossal Order\Cities_Skylines\Addons\Import
要是操作的多的话,还可以去自定义一个快捷键。(自定义-自定义-自定义用户界面)
2018年07月24日 11点07分 9
这个导出的时候是成组导出,还是一个一个导出
2019年04月17日 07点04分
@泽林love 不能成组
2019年04月17日 10点04分
level 11
amam🍦ya 楼主
关于动态贴图:
建筑的动态贴图不需要mod,只需要顶点涂色。选择你要动态贴图的物体,进入点层级,把顶点颜色涂黑。
然后在资产编辑器导入,用modtool输入代码:
//之后是注释,可以删了
var tx = 0.025f; // X 轴每次偏移量,1f是整个贴图大小
var ty = 0.025f; // Y 轴每次偏移量,1f是整个贴图大小
var frames = 40f; // 每次循环的偏移次数。建议取 自然数/tx或者ty 的值,以保证循环之间过渡顺畅.
var cycles = 40f; // 每分钟的循环次数.
var asset = ToolsModifierControl.toolController.m_editPrefabInfo as BuildingInfo;
var shader = Shader.Find("Custom/Buildings/Building/AnimUV");
asset.m_material.shader = shader; asset.m_lodMaterial.shader = shader;
asset.m_material.SetVector("_UvAnimation", new Vector4(tx, ty, frames, cycles));
2018年07月24日 11点07分 10
这个代码是影响全套每张贴图还是影响指定某个贴图?
2018年07月27日 09点07分
@飞机一起飞 影响当前主建筑的贴图
2018年07月27日 09点07分
@飞机一起飞 主建筑的所有贴图
2018年07月27日 09点07分
回复 amam🍦ya :但是一般都是想做出光线变化的效果,建筑本身的漫反射贴图应该是不变的啊
2018年07月27日 09点07分
level 11
amam🍦ya 楼主
导出完成后,除非需要修改模型,接下来就和3dsmax没什么关系了。
然后你要准备一下贴图,模型名称+后缀的命名方式。
_d 漫反射贴图
_s 反射贴图(灰度,0黑不反射,255白全反射)
_a 透明度贴图(灰度,0黑透明,255白不透明)
_i 发光贴图(灰度,0~100全天发光,100漫反射颜色发光,120~191,193~255夜晚特定时间发光,192不发光)
_n 法线贴图(rgb,根据光照角度产生阴影)
_p 变色标记贴图
2018年07月24日 11点07分 11
请教一下 _i 底色是0.0.0纯黑 还是? 然后窗是100.100.100 ?
2018年10月11日 16点10分
....看明白了 要灰度模式
2018年10月11日 17点10分
发现 _i (灰度,100 是白天晚上都会亮 如何让它只在晚上亮? 193-255好像没用)
2018年10月11日 17点10分
@waya81269 就是193~255啊,不过128~191好像也有用
2018年10月12日 01点10分
level 11
amam🍦ya 楼主
导入
首先我们要导入玻璃模型和动态uv模型,让它作为主建筑,不然你还得准备子模型的shader代码。
注意:如果你把他们作为子建筑,那么你必须保存后重开编辑器才能载入他们
注意Scale比例:一般外面模型换成通用单位比例接近0.1。如果不正常的话多试几次就行了。
2018年07月24日 11点07分 12
level 11
amam🍦ya 楼主
玻璃透明代码:
var shader = Shader.Find("Custom/Vehicles/Vehicle/Rotors");
var asset = ToolsModifierControl.toolController.m_editPrefabInfo as BuildingInfo;
if(asset.m_material != null) asset.m_material.shader = shader;
if(asset.m_lodMaterial != null) asset.m_lodMaterial.shader = shader;
var w = new Color(255f / 255, 255f / 255, 255f / 255, 1f);
asset.m_material.SetColor("_ColorV0", w);
asset.m_material.SetColor("_ColorV1", w);
asset.m_material.SetColor("_ColorV2", w);
asset.m_material.SetColor("_ColorV3", w);
不需要做修改。输入了代码就变透明了。
然后加上别的模型
完成!
接下来你可以加一些prop和灯作为装饰
2018年07月24日 11点07分 13
道路可以搞成透明的吗[滑稽]
2019年01月04日 05点01分
@人民公仆趣事多 可以啊,可以搞成全透明的[滑稽]
2019年01月04日 05点01分
@amam🍦ya 工坊里的invisible highway pathway都有订阅 [阴险]能弄成玻璃一样朦胧的效果么[咦]
2019年01月04日 05点01分
@人民公仆趣事多 只能一眼望穿空空如也的全透明,没办法半透明[滑稽]
2019年01月04日 06点01分
level 11
amam🍦ya 楼主
这样一来,一个5W+面的渲染场景,就简化成了1W多面的天际线资产,而且是全真玻璃全内部结构。
希望大家多做点中式资产!
本教程到此结束
顺便打个广告,喜欢做资产的或者想提升造景的玩家,可以申请加入都市天际线steam学院群,589964549
2018年07月24日 11点07分 14
群没了吗
2021年07月05日 14点07分
level 9
666[真棒][真棒][真棒]
2018年07月24日 12点07分 16
1 2 3 4 尾页