五月天婷亚洲天久久综合网,婷婷丁香五月激情亚洲综合,久久男人精品女人,麻豆91在线播放

  • <center id="8gusu"></center><rt id="8gusu"></rt>
    <menu id="8gusu"><small id="8gusu"></small></menu>
  • <dd id="8gusu"><s id="8gusu"></s></dd>
    1865 0

    [休閑其它] 使用Python和Blender來(lái)學(xué)習(xí)3D編程 [推廣有獎(jiǎng)]

    • 0關(guān)注
    • 8粉絲

    本科生

    33%

    還不是VIP/貴賓

    -

    威望
    0 級(jí)
    論壇幣
    1 個(gè)
    通用積分
    1.0000
    學(xué)術(shù)水平
    1 點(diǎn)
    熱心指數(shù)
    1 點(diǎn)
    信用等級(jí)
    0 點(diǎn)
    經(jīng)驗(yàn)
    1159 點(diǎn)
    帖子
    60
    精華
    0
    在線時(shí)間
    40 小時(shí)
    注冊(cè)時(shí)間
    2015-7-14
    最后登錄
    2015-9-17

    +2 論壇幣
    k人 參與回答

    經(jīng)管之家送您一份

    應(yīng)屆畢業(yè)生專屬福利!

    求職就業(yè)群
    趙安豆老師微信:zhaoandou666

    經(jīng)管之家聯(lián)合CDA

    送您一個(gè)全額獎(jiǎng)學(xué)金名額~ !

    感謝您參與論壇問(wèn)題回答

    經(jīng)管之家送您兩個(gè)論壇幣!

    +2 論壇幣

    Blender是一個(gè)強(qiáng)大的3D建模工具,他提供了非常強(qiáng)大的Python API,可以用來(lái)學(xué)習(xí)3D編程,還可以用來(lái)開(kāi)發(fā)游戲。 要注意的是,Blender有兩套Python API,一套是用來(lái)調(diào)用Blender自身的功能,一套是用來(lái)調(diào)用BGE的功能(做游戲開(kāi)發(fā))。我在這里僅僅介紹調(diào)用Blender自身功能的API。

    我在麥子學(xué)院學(xué)習(xí)的時(shí)候老師曾說(shuō)過(guò),通過(guò)例子來(lái)入門是初學(xué)者最好的學(xué)習(xí)方法。我先舉個(gè)例子:使用BlenderPython API來(lái)做3D模型的自動(dòng)化渲染。

    下面這段腳本非常簡(jiǎn)單直觀,
    1.
    首先,得到要渲染場(chǎng)景的context,并將渲染輸出文件格式設(shè)置為PNG。
    2.
    加載一個(gè)圖片。
    3.
    通過(guò)名稱(ID“tex001”找到一個(gè)texture,,將該texture使用的圖片設(shè)置為剛才加載的圖片。
    4.
    遍歷3D模型中所有的camera,使用每個(gè)camera來(lái)做渲染。

    Python代碼 [url=][/url]

    1. from Blender import Object, Scene, Texture, Image  

    2.   

    3. scene = Scene.GetCurrent()  

    4. context = scene.getRenderingContext()  

    5. context.setImageType(Scene.Render.PNG)  

    6.   

    7. render_dir = "D:/WORK/blender/render"  

    8.   

    9. img = Image.Load('D:/WORK/blender/pictures/111.jpg')  

    10.  

    11.texture = Texture.Get('tex001')  

    12.texture.type = Texture.Types.IMAGE  

    13.texture.image = img  

    14.  

    15.cameras = [obj for obj in scene.objects if obj.getType()=='Camera']  

    16.for index, camera in enumerate(cameras):  

    17.    print '\tRendering %i of %i cameras.' % (index+1, len(cameras))  

    18.    context.setRenderPath('%s/%s_' % (render_dir, camera.name))   

    19.    scene.setCurrentCamera(camera)  

    20.    context.render()  

    21.  

    22.print 'Done per camera render'  




    將這段腳本保存為render.py,然后執(zhí)行這段腳本:
    blender -b xxx.blend -P render.py

    xxx.blendBlender3D模型)
    執(zhí)行之后,渲染結(jié)果將保存在設(shè)置的目錄中。

    Blender
    Python API非常強(qiáng)大,除了這個(gè)例子展示的這些基本功能外,還完整封裝了OpenGL的功能(Blender是完全基于OpenGL開(kāi)發(fā)的)。使用BlenderPython API來(lái)學(xué)習(xí)3D編程,是一條很好的途徑。


    二維碼

    掃碼加我 拉你入群

    請(qǐng)注明:姓名-公司-職位

    以便審核進(jìn)群資格,未注明則拒絕

    關(guān)鍵詞:Lender python Blend der End 游戲開(kāi)發(fā) 學(xué)習(xí)方法 3D建模 3D模型 camera

    本版微信群
    加JingGuanBbs
    拉您進(jìn)交流群

    京ICP備16021002-2號(hào) 京B2-20170662號(hào) 京公網(wǎng)安備 11010802022788號(hào) 論壇法律顧問(wèn):王進(jìn)律師 知識(shí)產(chǎn)權(quán)保護(hù)聲明   免責(zé)及隱私聲明

    GMT+8, 2024-12-23 03:43