在 3ds Max 中使用相机映射将静止图像转换为实时素材
推荐: NSDT场景编辑器 助你快速搭建可二次开发的3D应用场景
1. 在 Photoshop 中准备图像
步骤 1
这是我将在教程中使用的静止图像。 这是我的静态相机纸箱的快照。
静止图像
步骤 2
打开 Photoshop。将图像导入 Photoshop。
打开 Photoshop
步骤 3
单击套索工具图标,然后选择磁性套索工具。
磁性套索工具
步骤 4
在磁性的帮助下 套索工具,在纸箱周围进行精细选择。
磁性套索工具
步骤 5
按 Ctrl-X 键剪切所选零件。
Ctrl-X
步骤 6
按 Ctrl-V 再次粘贴剪切部分 但在新层上。
Ctrl-V
步骤 7
将图层重命名为“箱形”和“地板”。
箱体和地板
步骤 8
转 关闭“框”图层的可见性。
盒子层
步骤 9
跟 选择楼层图层,选择仿制图章工具。
克隆图章工具
步骤 10
跟 克隆图章工具的帮助,开始 绘制空白空间。目的是用 缺少地板像素。使用空白区域周围的像素 以及图像的其余部分。
克隆图章工具
步骤 11
我已经画了空白。这并不完美,但足以完成任务。你唯一需要记住的是你 必须完美地绘制空白区域的边缘。无论它在 居中,但它应该在边缘周围无缝衔接。
粉刷地板
步骤 12
救 此图像为地板.jpg。
地板.jpg
步骤 13
关闭楼层图层的可见性并打开箱形图层的可见性。将图像另存为框.png。
框.png
2. 3ds Max 中的相机映射
步骤 1
打开 3ds Max
打开 3ds Max
步骤 2
存在 在透视视口中,按 Alt-B 键。它打开视口 配置窗口。打开使用文件单选按钮。单击“文件”选项卡。
替代 B 键
步骤 3
选择楼层.jpg文件,然后单击打开。
地板.jpg
步骤 4
你 获取 Floor.jpg 图像作为透视背景图像。打开安全框架 模式,按 Shift-F 键。
换档-F
步骤 5
火柴 具有背景图像透视的网格。这是非常必要的 成功进行相机映射的步骤。
匹配网格
步骤 6
创造 一个平面并覆盖整个透视视口。
创建平面
步骤 7
选择平面后,应用“相机贴图”修改器 到它上面。
相机映射修改器
步骤 8
存在 在透视视口中,按 Ctrl-C 创建摄像机。
Ctrl-C
步骤 9
按 M 打开材质编辑器。选择一个空槽,将地板.jpg图像作为漫反射纹理应用到平面上。
材质编辑器
步骤 10
选择“相机地图”修改器后,单击“选择相机”并选择 视口中的相机。你可以看到飞机的纹理有点锯齿状。
选择相机
步骤 11
选择 平面并将其长度和宽度段增加到 30。 飞机纹理的问题得到了解决。
长度和宽度
步骤 12
按 M 打开材质编辑器。选择另一个 空插槽并将原始图像作为漫反射纹理应用到 飞机。
材质编辑器
步骤 13
在透视/摄像机视口中创建一个框。
创建框
步骤 14
转 框进入可编辑多边形。根据纸箱调整箱体 在背景图像中。您可能需要玩盒子的顶点。
可编辑的多边形
步骤 15
按 M 打开材质 编者。选择另一个空插槽并将该框作为漫反射纹理应用于该框.png该框。
材质编辑器
步骤 16
跟 选中的框,将“相机地图”修改器应用于该框。带相机 选择地图修改器,单击“选择相机”并选择相机 视区。
相机地图
步骤 17
跟 选择的地平面,再次应用地板.jpg纹理。
地板.jpg
步骤 18
选择相机后,按 Ctrl-V 键进行 克隆它。
Ctrl-V
步骤 19
选择 第二个摄像头,并尝试使其更接近盒子。您将看到 摄像机在场景中移动。
为相机设置动画
步骤 20
渲染场景。您将在渲染中看到一些阴影 框架,所以我将应用环境光。
渲染场景
步骤 21
应用 场景中的全向灯。打开仅环境选项。
仅环境
步骤 22
呈现 现场。你会看到一个完美照明的场景。
渲染场景
步骤 23
您可以为第二台摄像机设置动画。但不要完全 远离盒子,否则你会看到飞机拐角处有一些接缝。一点点的相机动画可以使 静止场景直播。
铌:在第二个摄像机的动画过程中不要移动第一个摄像机。第一个摄像机用于将纹理投影到网格上。
为第二个摄像机设置动画
结论
摄像机映射是一种非常有用的技术,几乎在每个VFX镜头中都使用它。由于相机映射技术,您无需复制场景中的每一件事。您只需要将纹理投影到简单的几何体上,因此您可以对相机进行动画处理,将静止图像制作成实时图像。
原文链接:在 3ds Max 中使用相机映射将静止图像转换为实时素材 (mvrlink.com)
相关文章:

在 3ds Max 中使用相机映射将静止图像转换为实时素材
推荐: NSDT场景编辑器 助你快速搭建可二次开发的3D应用场景 1. 在 Photoshop 中准备图像 步骤 1 这是我将在教程中使用的静止图像。 这是我的静态相机纸箱的快照。 静止图像 步骤 2 打开 Photoshop。将图像导入 Photoshop。 打开 Photoshop 步骤 3 单击套索工…...

如何使用GIL解决Python多线程性能瓶颈
如何使用GIL解决Python多线程性能瓶颈 引言: Python是一种使用广泛的编程语言,但其在多线程方面存在一个性能瓶颈,即全局解释器锁(Global Interpreter Lock,简称GIL)。GIL会限制Python的多线程并行能力&am…...

k8s概念-深入pod
回到目录 工作负载(workloads) 工作负载(workload)是在kubernetes集群中运行的应用程序。无论你的工作负载是单一服务还是多个一同工作的服务构成,在kubernetes中都可以使用pod来运行它 workloads分为pod与control…...

Web服务器实验案例
目录 关闭或放行防火墙和selinux 1 搭建静态网站 2 建立两个基于ip地址访问的网站 思路: 简单配置 编写httpd额外文件 3 建立两个基于不同端口访问的网站 思路 创建文件(与之前一致) 额外文件配置 4 基于虚拟目录和用户控制的web网…...

预警 项目经验BUG
文章目录 定时任务 定时任务 在方法上使用Scheduled注解 cron参数: cron是一个表达式,最多接收7个参数从左到右分别表示:秒 分 时 天 月 周 年参数以空格隔开,其中年不是必须参数,可以省略。示例:Schedule…...

基于RFID技术的猪舍门读卡器
随着科技的发展和普及,智能化管理在各个领域的应用越来越广泛。在畜牧业中,将RFID技术应用在养殖管理中的企业也越来越多,为养殖企业的智能化管理提供了有力的支持,本文将介绍RFID技术的猪舍门读卡器的应用。 一、RFID技术简介 …...

亚马逊店铺的回款周期是多久?
现如今,开亚马逊店铺可是一个技术活,一旦有一个环节,或者是一件事情没有做好,对整个亚马逊店铺过程中影响都是十分巨大的,不少亚马逊卖家就吃过这方面的亏。 很多亚马逊卖家就是吃亏在这些方面,现在要想开…...

剑指offer19.正则表达式
这道题我一看就有印象,我室友算法课设抽到这题,他当时有个bug让我帮他看一下,然后我就大概看了一下他的算法,他是用动态规划写的,用了一个二维数组,然后我就试着按照这个思路去写,想了一会还是没…...

Mac Navicat 16试用脚本
一、无限试用脚本如下 #!/bin/bash #/usr/libexec/PlistBuddy -c "print" ~/Library/Preferences/com.navicat.NavicatPremium.plist /usr/libexec/PlistBuddy -c "Delete :91F6C435D172C8163E0689D3DAD3F3E9" ~/Library/Preferences/com.navicat.Navica…...

什么是 webpack?
Webpack 介绍 什么是 webpack? :::tip 官方描述 webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具。当 webpack 处理应用程序时,它会在内部从一个或多个入口点构建一个 依赖图(dependency graph),然后将你项目中所需的每一个…...

#B. 费解的开关
题目描述 你玩过“拉灯”游戏吗?2525盏灯排成一个5x55x5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应…...

Docker离线安装
Docker离线安装 一、安装步骤 1. 下载 Docker 二进制文件(离线安装包) 下载地址:https://download.docker.com/linux/static/stable/x86_64/ 注:本文使用 /x86_64/docker-18.06.1-ce.tgz,注意对应操作系统类型。 2.…...

React高阶学习(二)
目录 1. 基本概念和语法2. 组件化开发3. 状态管理4. 生命周期钩子5. 条件渲染6. 循环渲染7. 事件处理8. 组件间通信9. 动画效果10. 模块化开发 1. 基本概念和语法 React 是基于 JavaScript 的库,用于构建用户界面。它采用虚拟 DOM 技术,能够高效地渲染页…...

C语言中的字符串输入操作详解
C语言输入字符串详解 目录 介绍使用scanf_s输入字符串scanf_s的限制和问题解决输入空格的方法——使用gets_s函数gets_s函数的注意事项示例代码演示总结 1. 介绍 在C语言中,输入字符串是常见的操作。本篇博客将详细讨论在C语言中输入字符串的方法。我们将使用s…...

C高级 DAY1
1.思维导图 二、 网络配置 更新资源库 在线下载 卸载安装包 离线下载 离线安装包卸载 cat echo head tail 管道符 字体变色 find file grep cut 截取字符 chown ln硬链接 软链接 压缩、解压缩 打包并压缩,解压缩...

centos7 默认路由顺序调整(IPV4_ROUTE_METRIC)
1、问题说明 A服务器有两张网卡,A1对应公网,A2对应私网,公网访问时,访问异常,内网访问服务则显示正常。 问题判断:数据包从公网进来时,路由无需判断,但数据包出去时,有…...

STM32 DMA学习
DMA简称 DMA,Direct Memory Access,即直接存储器访问。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,能使CPU的效率大为提高。…...

32.利用fmincon 解决 最小费用问题(matlab程序)
1.简述 fmincon函数非线性约束下的最优化问题 fmincon函数,既是求最小约束非线性多变量函数 该函数被用于求如下函数的最小值 语法如下: x fmincon(fun,x0,A,b) x fmincon(fun,x0,A,b,Aeq,beq) x fmincon(fun,x0,A,b,Aeq,beq,lb,ub) x fmincon(fun,x0,A,b,Aeq…...

Delphi 开发的QR二维码生成工具,开箱即用
目录 一、基本功能: 二、使用说明: 三、操作演示gif 四、下载链接 在日常的开发中,经常需要将一个链接生成为二维码图片,特别是在进行支付开发的时候,因为我们支付后台获取了支付链接,需要变成二维码扫…...

Springboot使用AOP编程简介
AOP简介 AOP(面向切面编程)是一种编程范式,Spring AOP是基于代理模式的AOP框架,它通过动态代理实现切面的织入,更加轻量级和易于使用。 Joinpoint (连接点):类里面可以被增强的方法即为连接点。例如,想修…...

Android性能优化—卡顿分析与布局优化
一、什么是卡顿?或者说我们怎么感知APP卡顿? 这里面涉及到android UI渲染机制,我们先了解一下android UI是怎么渲染的,android的View到底是如何一步一步显示到屏幕上的? android系统渲染页面流程: 1&…...

【二分+滑动窗口优化DP】CF883 I
Problem - 883I - Codeforces 题意: 思路: 首先,要让最大值最小,很显然要二分 那么就相当于有了一个极差的限制,看能不能分组,每组至少m个元素 那么就是考虑分段DP,直接n^2很容易写 但是n …...

4.netty源码分析
1.pipeline调用handler的源码 //pipeline得到双向链表的头,next到尾部, 2.心跳源码 主要分析IdleStateHandler3个定时任务内部类 //考虑了网络传输慢导致出站慢的情况 //超时重新发送,然后关闭 ReadTimeoutHandler(继承IdleStateHandler 直接关闭连接)和WriteTimeoutHandler(继…...

性能优化点
Arts and Sciences - Computer Science | myUSF 索引3层(高度为3)一般对于数据库地址千万级别的表 大于2000万的数据进行分库分表存储 JVM整体结构及内存模型 JVM调优:主要为减少FULL GC的执行次数或者减少FULL GC执行时间 Spring Boot程序…...

leetcode301. 删除无效的括号(java)
删除无效的括号 leetcode301. 删除无效的括号题目描述暴力搜索 剪枝代码演示 回溯算法 leetcode301. 删除无效的括号 难度 困难 https://leetcode.cn/problems/remove-invalid-parentheses/description/ 题目描述 给你一个由若干括号和字母组成的字符串 s ,删除最小…...

快速制作美容行业预约小程序
随着科技的不断进步,移动互联网的快速发展,小程序成为了很多行业迅速发展的利器。对于美容行业来说,一款美容预约小程序不仅可以方便用户进行预约,还可以提升美容店铺的服务质量和管理效率。下面,我们来介绍一下如何快…...

Golang之路---03 面向对象——结构体
结构体 结构体定义 在之前学过的数据类型中,数组与切片,只能存储同一类型的变量。若要存储多个类型的变量,就需要用到结构体,它是将多个任意类型的变量组合在一起的聚合数据类型。 每个变量都成为该结构体的成员变量。 可以理…...

【网络编程】poll
主旨思想 用一个结构体记录文件描述符集合,并记录用户态状态和内核态状态 函数说明 概览 #include <poll.h> struct pollfd { int fd; /* 委托内核检测的文件描述符 */ short events; /* 委托内核检测文件描述符的什么事件 */ short revents; /* 文件描述…...

配置VS Code 使其支持vue项目断点调试
起因 每个应用,不论大小,都需要理解程序是如何运行失败的。当我们写的程序没有按照自己写的逻辑走的时候,我们就会逐步一一排查问题。在平常开发过程中我们可能会借助 console.log 来排查,但是现在我们可以借助 VS Code 断点来调试项目。 前…...

第一百零一回 如何在组件树之间共享数据
文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了"如何实现文件存储"相关的内容,本章回中将介绍 如何实现组件之间共享数据。闲话休提,让我们一起Talk Flutter吧。 概念介绍 数据共享是程序中常用的功能,本章回介绍如何…...