3DCG屋さんの活動記録

PROFILE ★★こんな人です

3DCGを活用した映像や没入体験コンテンツの制作をしています。テクノロジーの社会実装に興味があり。テクニカルディレクター。面白いこと新しいことにワクワクする気持ちに『素直』でいつづける。

3DCG屋さんの活動記録

2017年3月11日土曜日

Blenderに惹かれる BGE!


NUKEでノードベースコンポジットをする今日この頃ですが、、
なんとBlenderでもノードベースのコンポジットができる!?
知りませんでした、すごい。



※シーンファイルも提供されている親切な方!↑


これなんか、まさにやりたい演出映像。トンネル!いいなあ




標準搭載のレンダラーもキレイだな。全然これはこれで使えそう



で、僕がやりたいのは
インタラクティブな体験型映像演出!
なのです。

そして調べました、、


Blenderってゲームエンジンないのかな?



・・・ありました!


やばい興奮してきた。

なんだかんだCGで一番経験の長い3Dモデルの制作スキルと、
リアルタイムで動かせるゲームエンジン、
インタラクティブに外部とつながれるPython、
ときに絵作りのトライアンドエラーとして重宝する(?)コンポジット機能、

そして無料!

いままでUE4がよさげだなぁ、でもとっかかりにくいなあ、
でもフォトリアルだしやりたいなあ、、

ってモヤモヤしていましたが、
僕がやりたいのは「フォトリアル」にこだわらないので
いままでの経験がまるっとごっそり活かせそうなBlenderはじめます!


よし!

というわけで、Blender始めます宣言。
今やっている「風船ぽんぽん」もBlenderと絡めてやろう。

Arduino&Processingでセンサー確認 とりま終了。
Arduino とBlenderの接続は以前にテスト済み。
 ※シリアル通信で、センサーとモデルをリアルタイム接続できた
       2016.3月・・・ただFacebookに投稿。(もう1年前か!)


というわけで、あとはBlenderで積み木作って、
Arduinoからのインタラクティブ通信で崩れるやつやろ。
その前に、それを想定したBlenderのシーン作成しなきゃだな。

よし!


あ、あとPython実行するだけで、物理シミュレーションのシーン完成。。
これもすごいなぁ。。
http://cflat-inc.hatenablog.com/entry/20130630/1372568992

# -*- coding: utf-8 -*-
#
#http://cflat-inc.hatenablog.com/entry/20130630/1372568992
#
import os
import bpy
import math
#デフォルトで存在しているCubeを削除
bpy.ops.object.delete()
#Cube作成
N = 10
for x in range(0, N):
for y in range(0, N):
for z in range(0, N):
bpy.ops.mesh.primitive_cube_add(location=(x*2, y*2, z*2))
bpy.ops.rigidbody.object_add()
#平面作成
bpy.ops.mesh.primitive_plane_add(location=(N-1, N-1, -10))
bpy.ops.rigidbody.object_add(type='PASSIVE')
bpy.data.objects["Plane"].scale = (N+10, N+10, 1)
#カメラ
bpy.data.objects["Camera"].location = (N+20, N+20, N+20)
bpy.data.objects["Camera"].rotation_euler = (math.pi/6, 0, math.pi*3/4)
bpy.data.cameras["Camera"].lens = 10
#照明
bpy.data.objects["Lamp"].location = (0, 0, N+10)
bpy.data.lamps["Lamp"].type = 'SUN'
# 物理シミュレーション
bpy.ops.ptcache.bake_all()
# 動画作成
bpy.context.scene.render.resolution_x = 400
bpy.context.scene.render.resolution_y = 300
bpy.context.scene.render.resolution_percentage = 100
bpy.context.scene.render.image_settings.file_format = 'AVI_JPEG'
bpy.data.scenes["Scene"].render.filepath = "test.avi"
bpy.context.scene.frame_start = 0
bpy.context.scene.frame_end = 200
bpy.ops.render.render(animation=True)
# 保存
savePath = os.path.abspath(os.path.dirname(__file__))
bpy.path.relpath(savePath)
bpy.ops.wm.save_as_mainfile(filepath="test.blend", relative_remap=True)


てか、この人のBlender作品、かっこいい!
https://www.youtube.com/user/T4ch1k0ma


あああ、HoudiniするかBlenderするか悩むむむむ。


とりあえずBlenderGameEngineの情報サイト
BlenderArtist.org
BGEについての解説(日本語)




3 件のコメント:

  1. BGEとKINECT接続した動画
    https://www.youtube.com/watch?v=Hk_kdnTF5DI

    返信削除
  2. 物体破壊のいろいろ動画
    https://www.youtube.com/watch?v=wJFE2pb0Ri4

    返信削除
  3. BGE のリアルタイム破壊
    https://www.youtube.com/watch?v=YeVcAWcVz3Y

    返信削除