2024-7-28-SendToUE第1个学校

今天是31号,周末开了点头,然后,这3天以非常摸鱼的节奏做到了下图的状态。

这个案例我是基于f164学校素材中第5套做的,把整个学校所在地块都考虑进去,包括景观。

大概用了一天的时间我按照上周看rhino景观获得的经验,把画线、地平初步完成了。包括圆弧offset群组线,大门入口的花砖、喷泉、水景、花坛,围墙。围墙的铁栅栏没法用duplicate along curve ridge,局部需要尺寸调整,或许是我的思路错了,应该一个栅栏和一个立柱合并再使用阵列环绕,不然会对不上,转折的个例我是用curve deform单独处理的。

体育场跑道、升旗台、草坪斜坡和台阶,这个案例中地平部分只有一个布局地块的整体抬高,由于整个地形是平的因此要考虑四周的升降,在使用实际地形时要考虑地形的走势选取合适的建筑布局、景观布局,这就需要积累许多midjourney建筑景观实景在不同地形起伏的布置了。

绿化坡道方面,我尝试了封闭面用fill和spline patch,有时候需要对一些面做切块各自fill,再次测试了blender 的birail,效果十分诡异,似乎只要是curve extract出来的总会出问题。手绘的么也不见得可以,这个问题暂时放一放,这个案例中还没有用到birail。可以看到即使是很复杂的一个曲面有时候fill就可以解决。

接着我用了两天多做建筑,这次是基于建筑的平面布局基本确定的情况下参照midjourney ai的建筑设计参考魔改的。第一栋我想重点表达转角的较尖锐圆弧平台,以及平铺房型随机插入圆弧平台。实际中实现的不尽如人意,没有把那个夸张的曲线和随机分布做出来。关于cornice我忌惮于智能遮罩到时候uv展开由于面积过大要搞udim,一开始想分段的,另一方面是一些offset会产生收缩错位,我以为换个方向就好,实际证明是不行的,因此还不如整体的curve轨道做好然后用sweep profile插件一键生成,这样的好处是可以整体控制位置偏移内收外扩。底层做了一个局部加高,之后可能另一侧也补上,我称之为同心圆式迭代。对于一些内收交错的线,强迫症的话就把它们做edge alt选取dissolve。

这个大楼过渡连接的走道,由于有地面高差因此它也会有高差,我这里用一个平面连接两端中间bevel过渡然后用knife project投射曲线到曲面上获得一个过渡曲线,这里还考虑了两头有一段平路再上下,不过最后做出来看到这个斜坡感觉不是太好或许应该阶梯上下接一个平路这样看起来公整,现在的斜坡在楼下看来会有些诡异。

第一栋楼算是宿舍楼吧,由于开孔大小变化多,以及立面转折弧度多,所以即使没有考虑门窗样式、墙面材质装饰好像也还凑合,从ai原作参考来看就是整体偏橙色的红砖墙。装饰变化在于过道cornice栏杆上的绿化植物。接着是教学楼部分,教学楼和宿舍楼的布局是很不同的显然不能套用那个多弧面,那么就涉及到一个很棘手的问题——风格统一化。什么样的建筑互相是风格统一的?以下是chatgpt的回答

建筑风格统一通常指的是一组建筑在设计上具有相似的特点和风格,使它们看起来和谐一致。这种风格统一可以体现在以下几个方面:

  1. 建筑外观:建筑物的外观形式、颜色和材料的一致性。例如,古典建筑风格中,建筑通常会有统一的柱子样式、装饰细节和对称布局。

  2. 建筑材料:使用相同的或协调的建筑材料。比如,古老的城市中心区域可能会使用相同类型的石材或砖块,形成风格一致的外观。

  3. 设计细节:相似的装饰元素、窗户设计、屋顶形式等。例如,维多利亚风格的建筑可能会有类似的装饰性窗框和复杂的屋顶结构。

  4. 建筑比例和尺度:建筑物在高度、宽度和深度上的比例相似,以保持视觉上的统一感。

  5. 空间布局:建筑物内部的空间布局和装饰风格的一致性。例如,传统的日式建筑内部会有类似的木质结构和榻榻米布局。

  6. 城市规划:在城市规划中,建筑风格的一致性可以通过规划法规和设计指南来实现,确保新建建筑与现有建筑相协调。

后来我找到了这个半环绕式的商业空间,它的布局是方正的,但是在立柱和cornice的衔接上用了曲线转折,同样是走廊,外侧是分段的饰板而非整条cornice。内侧教室的外墙用的是浅灰和偏橙色的木头栅格,与宿舍楼的整面红砖墙型成和而不同的氛围?我在这个风格统一化上面卡了有大半天,不知道如何下手,stable diffusion的t2i adapter ip adapter还是reference在建筑风格统一化方面几乎没有任何作为,毕竟它本身都不能出一个看的过去的建筑。而midjourney可以通过a building+图片链接 –iw 0-3来还原之前某个图相似特征风格出一个系列,iw为3时可以最大还原链接图片的风格,比如下面所展示的。但是midjourney的和而不同还没发做到像我这般的迁移,它的和而不同顶多是同一个小区的建筑做房型变幻平面布局变化,而不是那种多层次的。多说一句,a building +图片链接 –iw 3所扩展的系列图和原图还是有较大差距,肯定比不上召唤job id,但是17块钱一个月版本的经常换号没法稳定,而job id是和号绑定的。

这样说来想要做到深层次的和而不同就需要大量积累各种建筑效果图,做到量大管饱。我今天一整天几乎都在做出图工作,一天下来算上晚上差不多是150张。期间有段时间midjourney共享版有些卡,效率不行总体而言效率还是可以的。

不过这样积累有些太累了,经过这一天我大概看出来行为模式是用建筑装饰特征的图+楼面房型排列来实现建筑风格的生产。根据chatgpt的说法可以根据屏幕坐标来控制.exe文件中的/blend 命令实现自动化上传?我觉得可以试试看,用笔记本电脑全天开着自动匹配来生成素材?一方面是穷举几个文件夹中的图片排列组合使用/blend。还有一个是/imagine + 关键词,关键词应该是一个txt文件按照行来读取关键词,关键词提前准备好。还有一个是/describe + 图片链接,图片链接这一块通过selenium交互浏览器,批量抓取pinterest收藏的facade。

我想先做第二个/image 关键词再者是/blend最后是selenium批量抓取facade 图片链接。用了大概10分钟/image 关键词 python自动化基本测试通过。

2024-8-12更新:

blend3、imagine 链接 iw近似度、百度文心一言看图说话都实现了批量程序提交。这周开始尝试适应每1小时检查midjourney批量任务,筛选下载并取消暂停继续任务,中午吃饭期间提交文心一言批量解读图片中的建筑。其余时间练习包含景观的建筑场景,学校、医院、商场、小区、公园等等。

之前景观中学到了一招,在面上切分edge loop然后提取edge ring之后复制一份snap z轴对齐,全选所有边bridge edge loop可以快速制作阶梯。阶梯的要求是高度15cm,宽90cm以上,对于一个坡面就是测算它的高度然后除以0.15来得到阶梯数。在学校案例中层高达到了6米,坡面楼梯会极大的占用空间破坏我目前的设计,因此我想用螺旋楼梯。摸索了一下,做法如下:

首先画一根直线从底部到顶部,给直线添加分段subdivide依照高度除以0.15.使用higgsas twist节点制造螺旋,thickness为螺旋的半径,rotation是旋转的圈数,想当然会觉得圈数越多阶梯应该越密集阶梯的深度越小,实际上是圈数越多阶梯深度越大。我一时间竟想不出来如何求解给定螺旋半径、总高的情况下每个阶梯的深度与圈数的关系,最后居然是交给百度文心一言完成的。有些感伤,很多年前我在百度知道答题,现在这东西退出历史了,我也没能力答题了,它换了个皮套来解答我的疑问。这会儿我还没搞明白这个计算的原理,套了两组数据验证基本是对的,阶梯深度约等于2paix圈数nx螺旋半径r/阶梯数N——L≈2πr×n/N。

建筑模型在一些地方对尺寸要符合现实世界的标准,不然到时候做好了场景,在里面游览观赏会出问题。在一些房型的布局和整体布局上大概之后也会遇到不少有趣的数学问题,是真学以致用了。

convert mesh应用节点再convert curve用curve offset节点偏移,产生螺旋楼梯的宽度,此时用一个圆柱检查一下整体半径大小确定偏移方向。convert mesh应用节点编辑模式边模式下bridge edge loop形成面片,提取edge rings分离出来复制一份向下偏移吸附z轴即可得到整个阶梯,之前的双轨要多复制3份一份作为楼梯基底,用solidify给出厚度,一份为扶手在面片模式下容易选循环边,调节扶手的厚度。还有一份需要用mesh offset这个节点偏移到扶手的中间seperate by loose part edge rings之后origin设置为物体中心,用ctrl r replace object source为栏杆的collection,target为全选的循环边。

这么看下来搞一个基本的螺旋楼梯也是有点费力的,我试了下duplicate along curve ridge不成功,它沿着曲线的法线方向散布,这样会让栏杆东倒西歪。不过峰回路转了,我发现在这之后若是使栏杆的rotation为0即可,通过blender python script可以实现批量选中物体rotation的设置。这样的话只要提取曲线用duplicate along curve ridge即可解决。

在后续实际制作中我发现对于多层楼梯,若层高相同则只要处理1-2楼即可,与地面贴合问题用权重偏移调节首末两端到基本位置以后再用snap 点对其阶梯到地面z方向平齐即可,上面的楼层直接复制。中间的衔接可以用curve offset来做一个圆环。整个阶梯开口则是圆柱面片做栏杆分隔。若是高度有不同么就需要完整的阶梯

一直在纠结顶楼加盖渐进缩进式的太空战舰式布局,后来参考midjourney的两个参考简单处理了一下,把层高减少缩进了一下顶部的cornice,目前房型上的变化十分单调,是我还不具备按照参考图改房型装饰?还是说目前的参考太少了?我觉得参考上是很大一方面原因,现实中的房型装饰本来就可以近似为0,没有参考意义,所以需要midjourney生产大量案例让我学习手法。

楼梯上来这里准备封闭做个电梯门。

2024-10-8更新:

这个项目总算是时隔两个月后完全完成了,这也是我第一个完成的完整的带有景观绿化、水体、道路、围墙、室内伪装,可以用ue角色在场景中跑动的项目。

今天我是准备要做第二个项目了,结果拖了一早上还没动手,显然我还没熟悉完整流程。从前文来看,应该是先确定平面规划,绿化、道路、建筑先用线、面、体块替代,然后把各种坡度、围墙什么的做好,最后是建筑的细化。

路面的collision可以通过全选static mesh右键Bulk Edit via Property Matrix来批量添加complex collison使复杂几何体路面可以正常行走。绿化草坪我是用foliage fill填充,密度要视情况修改,实测fps影响不大,对于复杂的弧面如用sverchok生产的那种坡面,由于网格问题会使密度很难调整,可能需要手动绘制foliage,后期其他项目再看情况。路肩是曲线合并以后将其pivot与curb一致,curb在bevel、array、curve3个modifier加持下运行multi array script可以批量对复合曲线添加curb,生产的curb仍然保留有modifier无法正常编辑且带有object data,先q键quick menu里解除关联以后再convert mesh就可分割并应用modifier。

树木在中距离会使fps急剧上升,相机不对着树木fps不会恶化。树木的密度调的很低然后手动绘制,后期可以看看用ue的pcg来处理树木。

水体平面用的是hillside的材质,喷泉用waterfx里面的niagara。

室内伪装的blueprint之前是半吊子,instanceindex我是手动给的,而不是对每个部件的instance识别数量动态调整,这个程序折腾了一晚上,用get instance count获取数量后用for loop循环对instanceindex用set array element遍历填充array对象,确保index0为0 index1为1 index2为2,最后的set custom data value里custom data index为0,另外我不清楚为什么在宿舍的blueprint种不需要size to fit而教室则需要。

室内伪装的面片随着bakemaster的autounwrap会使得uv不正常,需要后期单独做smart uv unwrap,确保其方向正确。目前我自己搞得批量smart uv unwrap并不成功,不能独立unwrap,后期再看看。

2024-10-8-midjourney漫画带分镜描述简易版小镇喧嚣第8话 2024-10-6-midjourney漫画带分镜描述简易版小镇喧嚣第7话

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×