2019-04-30 23:07:59 mufenglaoshi 阅读数 397

经典!沐风老师3DMAX建模实例系列教程上线啦。。。

该系列之一【3DMAX螺旋球吊灯建模】封面

 

  3DMAX建模是基础,也是3DMAX所有功能中不可绕过的,使用频率最高的,目前在3D游戏角色建模、科学研究模型构建、互联网Web3D建模以及传统的室内设计建模、展览展示的展台建模都有着广泛应用。

 

  建好3DMAX建模首先要打好3DMAX学习的基础,这是沐风老师一直强调的,所以沐风课堂在一开始的时候,就录制了多门3DMAX基础课、入门课,目前上线的包括:《3DMAX从入门到精通》全套视频教程,《3DMAX基础入门》全套视频教程,《3DMAX之翼》全套视频教程,《沐风老师3dMax零基础视频教程》全套等。我们知道3DMAX的功能和命令非常多,可以说在所有软件当中,象3DMAX(包括MAYA这类的3D软件)是命令、操作最为复杂的软件。我们要想能创建出各种形状各异的模型,必须对3DMAX的基本操作做到熟练,还要掌握一定数量常用命令的功能及使用方法,这个有点儿象记英语单词一样,要有一定的词汇量,这样才可能说好读好英语,3DMAX也是同样的道理。

 

  《沐风老师3DMAX建模实例经典系列教程》是沐风课堂从2019年开始推出的经典3DMAX建模系列教程,在未来的时间里,还是将不断更新,欢迎广大童鞋、网友关注支持!《沐风老师3DMAX建模实例经典系列教程》挑选的都是具有代表性的模型进行讲解,大家在学习过程中也要学会灵活运用,举一反三。

 

  《沐风老师3DMAX建模实例经典系列教程》的录制凝聚了我们大量的心思和精力,请大家在学习完成之后多多给予支持,欢迎“打赏”、“点赞”、“收藏”、“分享”一条龙走起~,不点赞不许走哈~

 

  对于部分童鞋、网友3DMAX还没有入门就直接上手《沐风老师3DMAX建模实例经典系列教程》也可以,但是,我们还是建议先系统全面的学习3DMAX的操作、命令、功能,然后再进入象建模实例这样的学习,真的想学好3DMAX是一个循序渐进的过程,不会一蹴而就。有的童鞋问我怎么能很快学好3DMAX,我的回答是:不可能!无论是基本功能的学习掌握,还是实际工作中的经验积累,这显然不是分分钟搞定的事。但是,学习的快慢是和个人的理解力和勤奋息息相关的,而勤奋更为重要,俗话说“勤能补拙”、“笨鸟先飞”。

 

  有些初学者总是喜欢找一些非常复杂或非常大的场景来做,其实来问怎么做,因为TA做不出来。这是一些比较“笨”的童鞋。不管多复杂和庞大地场景,实际都是由若干简单的模型搭建起来的,作为教学讲解的应该就是这些用来搭建复杂场景的基本单元。即便我们讲解了100座建筑的建模,也不如先讲解窗子如何建模,门如何建模,樯体如何建模,最后,给出1座建筑的建模更有效果。总是喜欢拿来各种模型问怎么做的人,是喜欢总是别人喂饭吃的人;学会基础建模,然后去自己组装大场景、大模型的人,是喜欢自己动手做饭吃的人。在我们现在这个时代,其实真正能踏实做事、踏实学习的人并不多,这只是一段时间内的暂时现象,我们始终要对勤奋和专业报以一定的崇敬之情。有点跑题:)

 

  就是《沐风老师3DMAX建模实例经典系列教程》上线啦!并且会在“腾讯课堂”、“网易云课堂”、“CCtalk”等在线教育平台上持续更新,欢迎大家常去看看,多关注多支持!欢迎“打赏”、“点赞”、“收藏”、“分享”一条龙走起~

 

2015-04-03 10:22:34 hust_twj 阅读数 3224

   单个kinect的人体重建,在Kinect SDK 1.8中,Kinect Fusion的效果已经很不错了。其缺点显而易见,一是扫描时间长,重建对象也需要长时间保持静态;二是需要人体或者kinect转动以实现全方位扫描,操作起来繁琐。而运用三个kinect来进行人体重建,只需要将三个kinect按照一定方位(比如两两相距120°角度)固定位置,人体即使不动也能实现对人体的全身扫描,相比之下时间花销短。

    基于三个kinect的人体重建,首先要对三个kinect相机进行标定,得到相机内外参数。这样每个相机看到空间一点的坐标是一致的,三个相机坐标系得以统一。标定方法是两两标定,即取某一kinect相机(记为A)为参考,其他两个(记为BC)分别与A标定,得到两组相机参数。这里,我是用的matlab自带的标定方法stereoCameraCalibrator,见链接matlab。例如,用两个处于同一水平线的kinect(如下图所示)进行标定测试,得到的参数是旋转矩阵R为:

 0.9949   -0.0196   0.0991

0.0235   0.9990    -0.0384
 
 -0.0983   0.0405     0.9943

    平移向量T为:

-280.5068  2.5255  -25.4387

    由标定结果可以看出,R矩阵接近于单位矩阵,表明两相机位置上是基本平行的。平移向量中-280.5068表示两相机x方向距离为28cm,而x方向的实际距离为26~27cm,这说明标定精度还是比较可靠的。

   

 标定之后可以得到两组相机参数(旋转矩阵和平移向量),这在之后的点云拼接中会有用。

点云获取

     通过sdk中内置的转换函数,将由kinect获取到的深度图像转换为点云数据,并保存。如下图所示为一个角度获取的点云。


点云处理

      由于点云的数据量非常庞大,并且存在着冗余数据和噪声干扰,增加了计算复杂度。因此在点云拼接之前需要预先对点云进行处理。这其中的关键问题是提取点云数据中能反映曲面特征的点,精简数据并且去除噪声,提高重建的精度和效率。去噪方法是联合双边滤波算法


点云拼接 

      三维点云拼接实质是将不同坐标系下得到的数据点云进行坐标变换,通过两片或多片数据点云中找出正确的排列关系,拼接成一片完整的数据点云。其中的关键问题就是利用旋转矩阵和平移矩阵,通过ICP算法对点云进行配准。

 


 



2018-01-03 11:39:45 u013272009 阅读数 1339

建模思路

目前流行的几大物理引擎库均可以用来做服务器端的3D场景建模。

这里选择使用physx。因为untiy3d内置的物理引擎也是physx。减少学习沟通成本。

通常服务器3D场景建模的运作方式有种:

  1. 服务器通过3D物理引擎建模静态3D场景;并围绕射线检测,来检查是否碰撞、是否可行走等等。从而达到服务器直接支持3D世界的玩法

  2. 服务器通过3D物理引擎建模静态3D场景;并在场景内创建可以控制的刚体,每帧实时计算模拟场景。从而达到服务器直接支持3D世界的玩法

性能问题

服务器3D场景建模的概念,很久就有。真正用上的不多。主要原因就是性能方面的考虑。

而从另外一方面来看:

  1. 基于防外挂的需求,为了能满足某些玩法,不得不在服务器进行3D场景建模

  2. 目前的服务器架构上流行的可扩容特性,为服务器同时承载人数上提供了基础支持。

从这2方面来看,服务器3D场景建模是可以尝试的。

Physx

Physx是一个很好的3D物理引擎库,有非常好用的API接口。

它的代码是免费发放的。上官网,注册账号,加入它的git组织。即可拉取代码。

PVD

PVD, PhysX Visual Debugger 通过它可以做Physx代码调试。

在本系列1中提到的使用PyOpengl来做调试,也是可行的,不过会稍微麻烦点。目前本人遇到的主要问题是,PyOpengl性能有点低,画几百个物件就加载过程时间太久。(显然这对服务器程序来说,是个不小的坑,慎入!)

Physx封装代码实作

本人在git上实现了一个Physx封装的库,尚在继续完善中:
https://github.com/fananchong/PhysxWrap

2019-10-22 10:51:52 qq_39658251 阅读数 159

那么想要入行游戏行业我们应该从何开始呢?

首先我们应该了解建模需要用到的软件“ZBrush”“3DMax”“MAYA”

打个比方,如果大家想要从事室内设计方向,想要从事效果图表现师。一般大型公司岗位分的很细致。一个项目,建模部分是由建模师完成,3D游戏建模学习群渲染部分是由渲染师完成。

如果大家如果在自学遇到困难,想找一个3d建模的学习环境 252896675,会节约很多时间,减少很多在学习中遇到的难题。

 

个人给你们三点建议

第一点:关于自学这个问题,如果你只是单纯的想培养自己的兴趣爱好,并且有多余的时间去学习,哪是可以的,如果你是想从事这个行业,那我可能会不太建议你自学,因为自学耗费的时间是非常大的,而且你在网上找的教程自己练习的时候遇到问题会不知道该怎么解决,而且也有可能不知道自己的问题出在了哪里。在刚开始自学的时候,或许你还有很大的精力和耐心去慢慢的找问题,当你自学一段时间后你就会发现更困难了,假设你做了一个武器模型,做到一半的时候突然不知道哪里出现了问题,你怎么都找不出问题的所在,这时候你的心情会一下子崩塌了,所以我个人建议还是系统学习比较好,当你遇到不懂的可以找你的老师帮你酱酱,毕竟他比你更专业一点,而且你系统学习遇到不懂的问题找专业的老师帮你解决还可以省去了一大半时间,也许别人还在百度搜索怎么解决那个问题的时候,你已经快要做完一个简单的模型了,所以这就是自学和系统学习的不同之处。

 

第二点:有很多朋友,可能觉得自己的基础还可以,不需要再去学基础的东西,但是你不能出图,或者说出图不OK,原因在哪里,原因在于你目前的技术不够扎实,知识点非常零碎导致的。那你可以在跟师傅学的过程中,查漏补缺,梳理你目前的知识技能,进行巩固。

有句话说砸钱才能赚钱,学到好的技术也是一样,就目前的这个社会来说。在公司,别人不会毫无保留教你技术,让你去和他分这一杯羹,除非是你好朋友。如果真的需要好的同事,那算你走运,加油,抓紧学到手。



第三点:也是最后一点 给自学的朋友们

 

学3DMAX,可以说不管学什么,自我约束能力是很大的考验。3DMAX就这个软件来说,是有一定的难点的。所以很多自学的朋友,在一定的时间往往就可以放弃了。为什么呢!可能大家就在想原因了。

下面来说说建模师薪资

BOSS招聘信息网




2019-06-22 18:39:22 sinat_21835983 阅读数 120

在Python里应用Openscad实现3D建模(修改简化版)-3

–SolidPython学习笔记3

参考Parkinbotshortcuts.scad做了部分修改使得代码更为简洁易读

以下是对solidpython的readme的学习笔记(其中的部分code进行了简化):

3D螺纹建模初探2

絮絮叨叨

  • 初探1中我们初步实现了螺纹的3D建模

  • 还通过fig动态演示了建模过程,代码有点啰嗦,还需要优化

  • 接下来,我们的任务是实现标准化定制,和非标准化定制

  • 先从标准化定制开始吧,首先学习基础知识

ISO261基础知识

–from ISO metric screw thread

基本轮廓

  • 所有ISO公制螺纹的轮廓

  • ISO通用公制螺纹(“M”系列螺纹)的设计原则在国际标准ISO 68-1中定义。[2]每个线程的特征在于其主径_D_(图中的_D_maj)及其螺距_P_。ISO公制螺纹由对称的V形螺纹组成。在螺纹轴的平面中,V的侧面彼此具有60°的角度。螺纹深度为0.614×螺距。从型材上切下V形高度_H_的最外1/8和最内1/4。

  • 高度H和螺距P之间的关系使用以下等式求出,其中θ是线程的夹角的一半,即30度:

\begin{aligned}H = \frac {1}{2\tan\theta} \cdot P = \frac {\sqrt 3}{2}\cdot P \approx 0.866 \cdot P\end{aligned}

<公式1>


\begin{aligned}P = 2\tan\theta\cdot H = \frac{2}{\sqrt 3} \cdot H \approx 1.155 \cdot H\end{aligned}

<公式2>


  • 在外(阳)螺纹(例如,在螺栓上),大直径Dmaj和小直径Dmin限定螺纹的最大尺寸。这意味着外螺纹必须在Dmaj处平坦,但可以在小直径Dmin以下圆整。相反,在内(阴)螺纹(例如,在螺母中)中,主要和次要直径是最小尺寸;因此,螺纹轮廓必须在Dmin处平坦,但可能会超出Dmaj。

  • 小直径Dmin和有效节圆直径Dp来自大直径和螺距

\begin{aligned}D_{\text{min}}=D_{\text{maj}}-2\cdot {\frac {5}{8}}\cdot H=D_{\text{maj}}-{\frac {5{\sqrt {3}}}{8}}\cdot P\approx D_{\text{maj}}-1.082532\cdot P\end{aligned}

<公式3>


\begin{aligned}D_{\text{p}}=D_{\text{maj}}-2\cdot {\frac {3}{8}}\cdot H=D_{\text{maj}}-{\frac {3{\sqrt {3}}}{8}}\cdot P\approx D_{\text{maj}}-0.649519\cdot P\end{aligned}

<公式4>


术语

  • 公制ISO螺纹用字母M表示,后跟公称直径D的值(外螺纹的最大螺纹直径和内螺纹的最小直径)和螺距P,均以毫米表示,用连字符分隔标志, - (例如,M8-1.25)。如果螺距是ISO 261或ISO 262中列出的通常使用的“粗略”螺距,则可以省略它(例如,M8)。机器螺钉或螺栓的长度由以下x表示,长度以毫米表示(例如,M8-1.25×30或M8×30)。如果需要,ISO 965-1中定义的公差等级可以附加到这些名称(例如,外部线程中的M500-6g)。外部线程由小写字母g或h指定。内部线程由大写字母G或H指定。

标准截面

# 先做个截面
from solid import *
from solid.utils import *
import viewscad
import os
import sys
import numpy as np
import pandas as pd
from decimal import *

r = viewscad.Renderer(openscad_exec='/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD')

Dmaj = 10
Rmaj = Dmaj / 2
P = 1
length = 10

#螺丝的总长
sn = 36 #圆段

H = .866 * P

def thread_sec(Dmaj, P, length):#Dmaj:主径,P:螺距
     # 公式1
    c = P3([[0, 0, 0], [0, 0,P / 2], [Dmaj / 2 - 7/8 *H, 0, P / 2], 
               [Dmaj / 2 - 7/8 *H, 0, P * 3 / 8], [Dmaj / 2, 0, 1 / 16 * H], 
               [Dmaj / 2, 0, 0]], [[0, 1, 2, 3, 4, 5]])
    c += Mi([0,0,1])(c)
    s = 0
    for i in range(0, length//P):
        s += Tz(i*P)(c)
    return(s)
c = thread_sec(Dmaj, P, length)

# scad_render_to_file(c,"hull.scad")
c

在这里插入图片描述

nutsnbolts 标准化解决方案

该方案主要包括:

我们先Py一下thread:

from solid import *
from solid.utils import *
import viewscad
r = viewscad.Renderer()
def thread(P=1, #螺距,
           length=10, #螺丝的总长,
           Rmaj=5, #外径,
           sn = 36):

    angle = 2 * pi/sn

    Po = []

    for i in range(0,sn):
        j = i
        if i > round(sn / 2):
            j = sn - i
        r = Rmaj - j / sn * P
        p = [r * cos( i* angle), r * sin(i * angle)]

        Po.append(p)

    Fa = polygon(Po)
    p3 = linear_extrude(height = length, convexity = 10, twist = -360.0*length/P, center = True)(Fa)


#     print(scad_render(c))
    # r.render(c)
#     print(Pt)
    return(p3)
c = thread()

c

在这里插入图片描述

c = Pr()(Ry(90)(c))#截面
c

在这里插入图片描述

上面这个结果( 这段代码费了小白一周时间,小白就是小白呀。。。),和ISO标准比较,从轮廓上并不完全一致,所以只能算是个伪标准螺纹库,接下来我们做个真正的标准螺纹

方案二:糊出来 Solution Two: Hull from sectors

该方法来自OpenScad library. Threads for screws and nuts V1

  • 首先做出一侧的纵截面
  • 移动及旋转出螺纹的轮廓
  • 利用hull()形成螺纹
  • 最后,延长复制出整个螺纹。

当然了,我对原代码进行了优化并做了部分修改。

c = 0 
for k in range(0,180+360//sn,360//sn):
    c += Tz(k*P/360)(Rz(k)(P3([[0,0,P/2],[Rmaj - 7/8*H,0,P/2],[Rmaj,0,P/16],[Rmaj,0,-P/16], [Rmaj - 7/8*H,0,-P/2],[0,0,-P/2]], [[0,1,2,3,4,5]])))#用自己做的截面,
c = hull()(c)
c += R(0,180,180)(Ty(.001)(c))
s = 0
for v in range(0,length//P+1):
    s += Tz(v*P)(c)
s += Cy(Rmaj-5/8*H, length)#内径
s *= Cy(2*Rmaj, length)

s


在这里插入图片描述


s = Pr()(Ry(90)(s))
s

在这里插入图片描述

hull很慢呀。。。看上去,还行。。。以上

在这里插入图片描述

iOS与unity3D简单交互

阅读数 4866

3D in ios

阅读数 629

没有更多推荐了,返回首页