在Sketchup对导入的模型进行贴图或者填充颜色,然后通过V-ray、Octan进行渲染来出效果图,在 Sketchup 开发中,我们也可以试想下,这些贴图的工作能否交与计算机进行实现,根据获得的参数对生成的模型进行相应的贴图。废话不多说,直接进入代码:
- # Sketchup 常用类别的使用
- model = Sketchup.active_model
- entities = model.entities
- sel = model.selection
- layers_arr = model.layers
- lists = model.definitions
- mats = model.materials
-
- face = entities.add_face [[0,0,0],[100,0,0],[100,100,0],[0,100,0]]
- # 对面进行翻转 Z为0的面 朝向是向下的
- face = face.reverse!
-
- # 材质
- # 新建一个材料
- new_mat = mats.add "骚红色"
-
- # 颜色
- # RGB 值
- new_mat.color = [255,0,0]
- face.material = new_mat
-
- # 获取当前材料
- puts face.material.name
-
- bluee = Sketchup::Color.new 0,0,100
- redd = Sketchup::Color.new 100,0,0
-
- # 0.5为混色颜色的比重
- mixColor = bluee.blend redd, 0.0
-
- puts mixColor
- face2 = entities.add_face [[0,0,100],[100,0,100],[100,100,100],[0,100,100]]
- mix_mat = mats.add "混合色"
- face2.material = mix_mat
-
-
- # 贴图
- face3 = entities.add_face [[0,0,200],[100,0,200],[100,100,200],[0,100,200]]
- path = Sketchup.find_support_file "material/1.png","Plugins"
-
- texturePic = mats.add "贴图"
- texturePic.texture = path
- # 默认是贴图平铺
- face3.material = texturePic
-
- # 获取材质的平均颜色值
- puts texturePic.texture.average_color
-
- # texture writer 用于将材质文件写入文件夹
- tw = Sketchup.create_texture_writer
- tw.load face3,true # 表示要处理正面
- path2 = Sketchup.find_support_file "Test","Plugins"
- # 注意,此时 Test 这个文件夹应该是存在于 Plugins 中的
- tw.write_all path2,true # 这个时候该路径下就会有 1.png 这张图
复制代码
运行结果:
来源:SketchUpBBS
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
|