朱峰社區(qū)首頁(yè) 朱峰社區(qū)

搜索資源 注冊(cè)|登陸

等待

返回 展開(kāi)菜單

使用Maya創(chuàng)建電話(huà)模型

MAYA高級(jí)火車(chē)建模教程 觀(guān)看預(yù)覽

MAYA高級(jí)火車(chē)建模教程

包含20節(jié)視頻教程
關(guān)注11.8萬(wàn)

本系列是MAYA基礎(chǔ)建模教程,會(huì)員可以用零基礎(chǔ)學(xué)習(xí)MAYA的各種建模工具,制作出一個(gè)完整的火車(chē)模型,老師講解非常細(xì)致和耐心,讓會(huì)員輕松的學(xué)習(xí)MAYA建模,一步步變成MAYA建模高手,為之后的MAYA工作打好扎實(shí)的基礎(chǔ)。

關(guān)閉

朱峰社區(qū)在本節(jié)教程為大家展示使用多邊形建模一個(gè)電話(huà)模型,希望能為大家?guī)?lái)幫助。

先來(lái)看一下最終的效果:


創(chuàng)建一個(gè)cube,按照下圖參數(shù)進(jìn)行調(diào)整。


進(jìn)入點(diǎn)級(jí)別,調(diào)整點(diǎn)的位置。

使用“insert edge loop tool”工具添加環(huán)線(xiàn)。
技巧:在使用insert edge loop tool工具的時(shí)候,為了一次性添加,我們可以打開(kāi)改工具的設(shè)置選項(xiàng),具體設(shè)置如下:

使用extrude命令進(jìn)行三次擠壓,效果如下圖所示。

添加環(huán)線(xiàn),保留形狀。

使用extrude命令進(jìn)行擠壓。

添加環(huán)線(xiàn),保留形狀。

重復(fù)上面的方法,制作出下圖所示部分。

使用extrude擠壓,并調(diào)整點(diǎn)的位置。

繼續(xù)擠壓。

使用“split polygon tool“添加線(xiàn),保留形狀。

擠壓面,記住一定要關(guān)閉“keep faces together”選項(xiàng)。

添加環(huán)線(xiàn),保留形狀。

細(xì)分。

下面我們來(lái)制作話(huà)筒。
創(chuàng)建cube,具體參數(shù)如下圖所示。


f8進(jìn)入點(diǎn)級(jí)別,調(diào)整點(diǎn)的位置。

添加環(huán)線(xiàn),保留形狀。

使用extrude命令進(jìn)行擠壓。

重復(fù)上面的步驟,擠壓出話(huà)筒部分。

細(xì)分。

制作電話(huà)線(xiàn)。這一部分比較難,但也比較簡(jiǎn)單。為什么這樣說(shuō)呢?如果你曾讀過(guò)我前面的螺旋曲線(xiàn)教程的話(huà),這里你只要寫(xiě)一個(gè)簡(jiǎn)單的mel語(yǔ)言,就可實(shí)現(xiàn)我們想要的效果,如下圖所示。

然后用戶(hù)使用surfaces下的extrude命令就可實(shí)現(xiàn)電話(huà)線(xiàn)的制作。

今天換一個(gè)制作方法,我給大家提供專(zhuān)門(mén)制作電話(huà)線(xiàn)的腳本,這樣更加方便快捷。
global proc phonecord1( string $curv, float $numloops )
{
int $numcvs, $i;
float $p, $min, $max, $angle, $uoff, $voff;
string $exp_str, $crv, $p_on_c;
int $cvsperloop = 4;  
// we base the number of cvs on
$numcvs = (int) ($numloops+.5) * $cvsperloop;
$crv = curve( "-d", 3, "-p", 0, 0, 0, "-k", 0, "-k", 0, "-k", 0 );
$min = getattr( $curv + ".min" );
$max = getattr( $curv + ".max" );
// create a curve with the required number of cvs
for( $i = 1; $i <= $numcvs; $i++ )
{
curve -a -p ((float)$i) 0 0 $crv ;
}
// add a loopoffset attribute to the spiral curve
addattr -sn loff -ln loopoffset -dv 1.0 -min 0 -max 10 $crv;
setattr -keyable on ($crv + ".loopoffset");
for( $i = 0; $i <= $numcvs; $i++ )
{
$p = (float)$i/$numcvs;
$angle = $p * $numloops * 6.28;
$uoff = -sin( $angle );
$voff = cos( $angle );
// we set the offset to zero for the start and end cvs
if( $i == 0    $i == $numcvs )
{
$uoff = 0;
$voff = 0;
}
$p = $min + ($max -$min) * $p;
// create a pointoncurve node on the source curve
$p_on_c = pointoncurve( "-ch", 1, "-parameter", $p, $curv );  
// create an expression to position the spiral
// cvs relative to the source curve using the
// point, normal and tangent from the pointoncurve node
// a cross product is performed to give a vector perpendicular
// to the normal and tangent. the 2d rotation is then mapped to
// this vector and the normal.
expression -s ("$u = " + $uoff + " * " + $crv + ".loff;\n"
+ "$v = " + $voff + " * " + $crv + ".loff;\n"
+ "$nx = " + $p_on_c + ".nnx;\n"
+ "$ny = " + $p_on_c + ".nny;\n"
+ "$nz = " + $p_on_c + ".nnz;\n"
+ "$tx = " + $p_on_c + ".ntx;\n"
+ "$ty = " + $p_on_c + ".nty;\n"
+ "$tz = " + $p_on_c + ".ntz;\n"
+ $crv + ".cp[" + $i + "].xv = " + $p_on_c
+ ".px + ($ny * $tz - $ty * $nz) * $u + $nx * $v;\n"
+ $crv + ".cp[" + $i + "].yv = " + $p_on_c
+ ".py + ($tx * $nz - $nx * $tz) * $u + $ny * $v;\n"
+ $crv + ".cp[" + $i + "].zv = " + $p_on_c
+ ".pz + ($nx * $ty - $tx * $ny) * $u + $nz * $v;\n");
}
}
global proc xyphonecord()
{
if ( `window -exists phonecord` )
deleteui xyphonecord;
window
-maximizebutton false
-resizetofitchildren true
-title "phonecord"
-iconname "phonecord" xyphonecord;
columnlayout -columnattach "both" 5 -rowspacing 2 -columnwidth 210;
intfieldgrp -label "number" -v1 50 -cal 1 "left" phonecordnumber;
button -label "select a curve,make cord" -c xymakecord;
showwindow xyphonecord;
}
global proc xymakecord()
{
int $cordnum = `intfieldgrp -q -v1 phonecordnumber`;
string $curveselect[];
$curveselect=`ls -sl`;
phonecord1 $curveselect[0] $cordnum;
xyquicktube;
createandassignshader blinn "";
}
proc string tube( string $cs ) // (curve shape)
{
string $t[];
if (objexists($cs) && (nodetype($cs)=="nurbscurve"))
{
string $c=`createnode makenurbcircle -n "basecircle1"`;
string $s=`createnode subcurve -n "profilerange1"`;
string $e=`createnode extrude`;
string $r=`createnode nurbssurface -n "tube1"`;
setattr -e -k 0 ($c+".normal");
setattr -e -k 0 ($c+".normalx");
setattr -e -k 0 ($c+".normaly");
setattr -e -k 0 ($c+".normalz");
setattr -e -k 0 ($c+".centerz");
setattr ($c+".radius") 0.1;
setattr ($s+".minvalue") 0.0;
setattr ($s+".maxvalue") 1.0;
setattr ($s+".relative") 1;
setattr ($e+".extrudetype") 2;
setattr ($e+".usecomponentpivot") 1;
setattr ($e+".useprofilenormal") 1;
setattr ($e+".fixedpath") 1;
setattr -e -k 0 ($e+".directionx");
setattr -e -k 0 ($e+".directiony");
setattr -e -k 0 ($e+".directionz");
setattr -e -k 0 ($e+".usecomponentpivot");
setattr -e -k 0 ($e+".useprofilenormal");
setattr -e -k 0 ($e+".fixedpath");
setattr -e -k 0 ($e+".rotation");
setattr -e -k 0 ($e+".scale");
setattr -e -k 0 ($e+".length");
connectattr ($c+".outputcurve") ($e+".profile");
connectattr ($cs+".worldspace") ($s+".inputcurve");
connectattr ($s+".outputcurve") ($e+".path");
connectattr ($e+".outputsurface") ($r+".create");
$t=`listrelatives -pa -p $r`;
}
return($t[0]);
}
//
// main procedure
//
//
global proc xyquicktube()
{
string $sl[]=`ls -sl`, $s, $r[];
for($s in $sl)
{
string $sh[]=`listrelatives -pa -s $s`;
if ($sh[0]!="") $r[size($r)]=tube($sh[0]);
}
select -r -ne $r;
}
用戶(hù)執(zhí)行該段代碼后,會(huì)彈出窗口。

用戶(hù)選擇一段曲線(xiàn)執(zhí)行該命令,即可生成電話(huà)線(xiàn)。

將所有部件進(jìn)行裝配。
clarisse搭建3D天空之城拉普達(dá)全過(guò)程 clarisse搭建3D天空之城拉普達(dá)全過(guò)程

朱峰社區(qū)網(wǎng)頁(yè)版
朱峰社區(qū)網(wǎng)頁(yè)版(手機(jī)掃描-分享-添加到屏幕)


朱峰社區(qū)公眾號(hào)
朱峰社區(qū)微信公眾號(hào)(微信掃一掃-關(guān)注)

資源說(shuō)明圖文教程無(wú)法下載,只能觀(guān)看圖片和文字。
版權(quán)規(guī)則本站圖文皆來(lái)自互聯(lián)網(wǎng)共享資源,如涉及到版權(quán)請(qǐng)查看版權(quán)規(guī)則。本平臺(tái)提供圖文僅可用于個(gè)人學(xué)習(xí),如用于商業(yè)請(qǐng)購(gòu)買(mǎi)正版。您必須遵守的版權(quán)規(guī)則

未知用戶(hù)

未知用戶(hù)

2005-2025 朱峰社區(qū) 版權(quán)所有 遼ICP備2021001865號(hào)-1
2005-2025 ZhuFeng Community All Rights Reserved

VIP

朱峰社區(qū)微信公眾號(hào)

回頂部

1.復(fù)制文本發(fā)給您的QQ好友或群、微信等;好友點(diǎn)擊鏈接以后,轉(zhuǎn)發(fā)就成功了。 2.如朋友點(diǎn)擊您的鏈接,您需要需刷新一下才行;同一個(gè)好友僅能點(diǎn)擊一次。
購(gòu)買(mǎi)VIP,觀(guān)看所有收費(fèi)教程!!