CG技术

测试了stable diffusion liblib在线生图,可以用浮雕相关的lora转换图片为浮雕,liblib每天免费300次图片生产,对于浮雕制作是够用了,于是我想把d盘空间释放出来,sd就用不着了,本地版不知道为何可能是大模型不对?总之就是一样的设置做出来的图效果很不好。浮雕用aiuni生产glb模型效果很不好,因此这一块就用liblib生产png,然后zbrush drag替换alpha。

阅读更多

导入ue前务必检查各种modifier比如array、solidify、mirror都已经应用了。

不知道为啥bakemaster没autounwrap,所有的wall都没uv,全部重来一遍,吸取教训下次bakemaster之前必然保存一份dataname分类collection的blender版本。

当物体超过1000个时,若data name为大于1000的数值会导致导出到ue的packedA Texture出问题,物体超标的很大原因是房型多,那么房型命名变一下前缀即可解决。

这套搞了大概一个多星期,很大的问题在于缺少参考,自己思考折腾了很久,说明还是需要midjourney这边提供更多的参考池。笔记本的auto midjourney这回一次性开了近3天搞了490轮,挑了大概100个图,精简下可能也就20个吧。

阅读更多

检测场景中的重叠对象并随机删除每对重叠对象中的一个
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
  

import bpy
import mathutils
import random

# 获取所有对象
objects = list(bpy.context.scene.objects)

# 清除当前选择
bpy.ops.object.select_all(action='DESELECT')

# 存储已经删除的对象,以避免重复删除
deleted_objects = set()

# 检测重叠对象并记录重叠对
overlap_pairs = []

for i, obj in enumerate(objects):
if obj.name in deleted_objects:
continue

bbox_corners = [obj.matrix_world @ mathutils.Vector(corner) for corner in obj.bound_box]

for j, other_obj in enumerate(objects):
if i >= j or other_obj.name in deleted_objects:
continue

other_bbox_corners = [other_obj.matrix_world @ mathutils.Vector(corner) for corner in other_obj.bound_box]

if (min(c[0] for c in bbox_corners) <= max(c[0] for c in other_bbox_corners) and
max(c[0] for c in bbox_corners) >= min(c[0] for c in other_bbox_corners) and
min(c[1] for c in bbox_corners) <= max(c[1] for c in other_bbox_corners) and
max(c[1] for c in bbox_corners) >= min(c[1] for c in other_bbox_corners) and
min(c[2] for c in bbox_corners) <= max(c[2] for c in other_bbox_corners) and
max(c[2] for c in bbox_corners) >= min(c[2] for c in other_bbox_corners)):

overlap_pairs.append((obj.name, other_obj.name))

# 随机删除每对重叠对象中的一个
for obj_name, other_obj_name in overlap_pairs:
to_delete_name = random.choice([obj_name, other_obj_name])
deleted_objects.add(to_delete_name)
to_delete = bpy.data.objects.get(to_delete_name)
if to_delete:
bpy.data.objects.remove(to_delete, do_unlink=True)

阅读更多

继续积累一些关于景观的手法和常识,目前这一块我还没有研究怎样驱动人工智能去批量生产参考。

边缘用offset分割,这可以提取项目中现成的地块,用select manifold可以选中不规则布线的边缘然后提取曲线再用curve offset成型。

阅读更多

建筑以及其环境上有许多浮雕和大型雕塑,理想状况下是能够快速生成获取任意风格的指定主题的雕塑用作装饰。昨天测试了一下批量提交unique3d可以达到2分钟一次也就是每小时转换30个,这提供了非常必要的容错空间,可以在一天内大量试错,而且unique3d的上传无需pyautogui,这意味着可以同时开midjourney和unique3d自动批处理(已实测可行,unique3d那边我觉得改成4分钟1次上传差不多,另外登录状态多个电脑是共享的那边做好这边可以看结果,两次实测发生了中段大约都是上传10个左右时出现了问题,暂时不清楚原因,之后测试再看,win+G键可以启动windows自带的录屏功能,我不知道能否捕捉到selenium上传aiuni的故障。在第三轮测试中17个雕塑都做出来了,录屏1小时20分钟产生的视频占用了5gb硬盘,暂时未观察到故障)。

aiuni的下载往往非即时,下载好了与2d原料图的对应关系会找不到,导入blender稍微有些麻烦,可以用glTF Viewer这个网页,拖入glb文件即可预览。

2024-9-3更新:
写了一个批量把glb、gltf文件利用windows自带的3dviewer生成png预览图,代码放在下面。

阅读更多

Your browser is out-of-date!

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

×