🌓
搜索
 找回密码
 立即注册

Sketchup 程序自动化(六)颜色、材质贴图

suplugin 2022-10-6 07:55:35 85189
在Sketchup对导入的模型进行贴图或者填充颜色,然后通过V-ray、Octan进行渲染来出效果图,在 Sketchup 开发中,我们也可以试想下,这些贴图的工作能否交与计算机进行实现,根据获得的参数对生成的模型进行相应的贴图。废话不多说,直接进入代码:
  1. # Sketchup 常用类别的使用
  2. model = Sketchup.active_model
  3. entities = model.entities
  4. sel = model.selection
  5. layers_arr = model.layers
  6. lists = model.definitions
  7. mats = model.materials
  8. face = entities.add_face [[0,0,0],[100,0,0],[100,100,0],[0,100,0]]
  9. # 对面进行翻转 Z为0的面 朝向是向下的
  10. face = face.reverse!
  11. # 材质
  12. # 新建一个材料
  13. new_mat = mats.add "骚红色"
  14. # 颜色
  15. # RGB 值
  16. new_mat.color = [255,0,0]
  17. face.material = new_mat
  18. # 获取当前材料
  19. puts face.material.name
  20. bluee = Sketchup::Color.new 0,0,100
  21. redd = Sketchup::Color.new 100,0,0
  22. # 0.5为混色颜色的比重
  23. mixColor = bluee.blend redd, 0.0
  24. puts mixColor
  25. face2 = entities.add_face [[0,0,100],[100,0,100],[100,100,100],[0,100,100]]
  26. mix_mat = mats.add "混合色"
  27. face2.material = mix_mat
  28. # 贴图
  29. face3 = entities.add_face [[0,0,200],[100,0,200],[100,100,200],[0,100,200]]
  30. path = Sketchup.find_support_file "material/1.png","Plugins"
  31. texturePic = mats.add "贴图"
  32. texturePic.texture = path
  33. # 默认是贴图平铺
  34. face3.material = texturePic
  35. # 获取材质的平均颜色值
  36. puts texturePic.texture.average_color
  37. # texture writer 用于将材质文件写入文件夹
  38. tw = Sketchup.create_texture_writer
  39. tw.load face3,true # 表示要处理正面
  40. path2 = Sketchup.find_support_file "Test","Plugins"
  41. # 注意,此时 Test 这个文件夹应该是存在于 Plugins 中的
  42. tw.write_all path2,true # 这个时候该路径下就会有 1.png 这张图
复制代码
运行结果:


来源:SketchUpBBS
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

扫一扫

3 回复

沙发!沙发!
不错不错,很好哦
我是来刷分的,嘿嘿
高级模式
游客
返回顶部