热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用3DSMAX制作具有逼真质感的玻璃杯

这篇教程向脚本之家的3DSMAX学习者们介绍使用3DSMAX打造逼真玻璃杯的方法,教程难度一般,重点介绍玻璃质感的体现,感兴趣

这篇教程像脚本之家的3DSMAX学习者们介绍使用3DSMAX打造逼真玻璃杯的方法,教程难度一般,重点介绍玻璃质感的体现,好了,一起来学习吧,先来看看最终的效果图。

技术分享


  在一个压力很大的工作完成之后我做了这张图,因为我需要做一些美丽的东西来放松一下。我在purerender.com网站上看到了一个插图,叫"The Chesterfield Project",我被插图上的精确的细节震撼了!当我仔细查看上面的细节时,我可以看到桌子上的玻璃杯,我就想,"我想来自己做这个,创建一个真实的3D渲染图"。

  这就是我的灵感来源!

  我从玻璃杯的建模开始!这个过程不是很难,我在谷歌上搜索了一些玻璃图片。保存这些图片,把他们放到背景中作为参考资料(图01)。

技术分享

图01

  我用样条曲线绘画了玻璃杯,尝试把这些图和参考资料很好的结合在一起(图02)。

技术分享

图02

  玻璃上面有一层壳或模是非常重要的,以防万一我想在玻璃杯中加入液体。我用了Max里面的Lathe mod来做这个(图03)。

技术分享

图03

我用同样的方法创建了一些其他的玻璃杯和阴影,使图片更多样化(图04-05)。

技术分享

图04

技术分享

图05


  我不想直接在玻璃杯上添加装饰,可以有机会尝试做不同的装饰。

  我用了一个普通的玻璃VRay材质做阴影,所以这里没有什么特别的。即使是材质的IOR也不是专门为玻璃制作的。这样我就能做快速渲染了(图06)!

技术分享

图06

  现在我要做装饰部分了。我在互联网上搜索了一些装饰和花边,然后我找到了这张图(图07)。

技术分享

图07

这里不需要做任何的颜色修正或者b/w图片转换,因为我不想锐化边缘。我认为有一些混合在一起的羽化边缘会比较好看。所以我把图片放到玻璃材质的凹凸槽中,数量设置为10.这样做获得了最好的装饰效果(图08)。

技术分享

图08

  玻璃杯的制作我只用了一个简单的圆柱形UVW贴图(图09)。

技术分享

图09

  玻璃杯和材质都完成之后,我可以开始做照明了。我想设定一个照片真实效果的照明,所以决定用一个HDR图片做反射和照明。我用了一个在某个网站上找到的免费HDRI贴图(图10)。我将贴图旋转了355度获得一个最好的位置上的照明效果。在这里我尝试了不同的渲染和渲染测试,这样可以获得最完美的效果。没必要将贴图放到VRay环境插槽中,因为我想在一个通道里渲染所有的东西。在场景中没有任何多余的照明或者重点。

技术分享

图10

  接下来我设定了相机的景深,用了一个普通Max相机和VRay渲染对话的DoF。我将光圈设置为0.12m,从相机中获得其他的东西。我用了一个180mm的长焦镜头获得经典的产品拍摄设置(图11)。

技术分享

图11

  渲染设定没有什么特别的,大家可以在图12中看到。

技术分享

图12

这种方法节约了渲染空间大约32bit,因为我用线性工作流程来获得后期制作需要的全局照明。

  我在这张图片中做了很多后期工作,大部分是在Photoshop中做颜色修正。我的步骤可以在图13中看到。

技术分享

图13

  首先我检查了面板,修正了白色、黑色和中间值直到我满意得到的效果为止。下一步是修正对比度和颜色。我通过设定绿蓝色数值得到效果。Photoshop中的选择颜色是一个非常有用的工具,可以让你进行单个颜色的修正和调整。

  最后我添加了一些色差和小插曲在图片中获得最后的照片感觉(图14)。

技术分享

图14

教程已完毕,大家是不是都已经学会利用3DSMAX打造逼真玻璃杯的方法了吧,希望大家喜欢这个教程!


推荐阅读
  • 本文介绍了如何使用Postman构建和发送HTTP请求,包括四个主要部分:方法(Method)、URL、头部(Headers)和主体(Body)。特别强调了Body部分的重要性,并详细说明了不同类型的请求体。 ... [详细]
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
  • 如何解决TS1219:实验性装饰器功能可能在未来版本中更改的问题
    本文介绍了两种方法来解决TS1219错误:通过VSCode设置启用实验性装饰器,或在项目根目录下创建配置文件(jsconfig.json或tsconfig.json)。 ... [详细]
  • packagecom.panchan.tsmese.utils;importjava.lang.reflect.ParameterizedType;importjava.lang. ... [详细]
  • 本文介绍了一种支付平台异步风控系统的架构模型,旨在为开发类似系统的工程师提供参考。 ... [详细]
  • 本文介绍了如何在 Qt 应用程序中实现状态栏、浮动窗口(铆接部件)和中心部件。通过简单的代码示例,详细解释了每个组件的创建和设置方法。 ... [详细]
  • 本文介绍了 Confluence 6 中使用的其他 Cookie,这些 Cookie 主要用于存储产品的基本持久性和用户偏好设置,以提升用户体验。 ... [详细]
  • 使用 Git Rebase -i 合并多个提交
    在开发过程中,频繁的小改动往往会生成多个提交记录。为了保持代码仓库的整洁,我们可以使用 git rebase -i 命令将多个提交合并成一个。 ... [详细]
  • Manacher算法详解:寻找最长回文子串
    本文将详细介绍Manacher算法,该算法用于高效地找到字符串中的最长回文子串。通过在字符间插入特殊符号,Manacher算法能够同时处理奇数和偶数长度的回文子串问题。 ... [详细]
  • malloc 是 C 语言中的一个标准库函数,全称为 memory allocation,即动态内存分配。它用于在程序运行时申请一块指定大小的连续内存区域,并返回该区域的起始地址。当无法预先确定内存的具体位置时,可以通过 malloc 动态分配内存。 ... [详细]
  • 本文介绍了多种开源数据库及其核心数据结构和算法,包括MySQL的B+树、MVCC和WAL,MongoDB的tokuDB和cola,boltDB的追加仅树和mmap,levelDB的LSM树,以及内存缓存中的一致性哈希。 ... [详细]
  • Python多线程详解与示例
    本文介绍了Python中的多线程编程,包括僵尸进程和孤儿进程的概念,并提供了具体的代码示例。同时,详细解释了0号进程和1号进程在系统中的作用。 ... [详细]
  • 本文详细介绍了Linux系统中用于管理IPC(Inter-Process Communication)资源的两个重要命令:ipcs和ipcrm。通过这些命令,用户可以查看和删除系统中的消息队列、共享内存和信号量。 ... [详细]
  • A*算法在AI路径规划中的应用
    路径规划算法用于在地图上找到从起点到终点的最佳路径,特别是在存在障碍物的情况下。A*算法是一种高效且广泛使用的路径规划算法,适用于静态和动态环境。 ... [详细]
  • NX二次开发:UFUN点收集器UF_UI_select_point_collection详解
    本文介绍了如何在NX中使用UFUN库进行点收集器的二次开发,包括必要的头文件包含、初始化和选择点集合的具体实现。 ... [详细]
author-avatar
Elaine桑定_148
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有