goo blog サービス終了のお知らせ 

Cinema4Dメモ

Cinema4Dという3DCGソフトに関するメモ書きです。

3Dプリンターでストームトルーパー

2017-03-14 12:15:56 | Cinema4D設定、操作

そういうわけで、こどもがスター・ウォーズのファンでストームトルーパーが大好きなので、作りました。当然Cinema4Dで作りました。よく考えると、昨年MSAの更新をし損なったおかげでLEPTON2が買えたんだね(前向きな思考)。

下の画像の頭部は一応BodyPaintで白黒塗り分けました。雰囲気がよくわかるようにね。

胴体も作りました。単位はcmで原寸で作って、STLファイルもそのままの倍率で書き出して、出力用のソフトであるところのMatterControlとかSimplify3D等に読み込むと何故か小さすぎるので、Cinema4D上で10倍のサイズで作ってます。

MatterControlとか読み込んだ先の環境で拡大したりすると、スライスが上手くいかないので、作る段階で大きさを合わせておく必要があります。STLに書き出すとき倍率をセットできるのでその時でもいいのかも。

尚、複数のオブジェクトを組み合わせるような場合は、単に重ねるのではなく、ブールの「AとBを合体」で一つにすると、上手くスライスされます。

↓はうまくできてない例です。オブジェクトが重なった部分が空白になってて、ポキっと折れます。

つーわけで、完成

「ごめーん、待ったぁ?起きたら10時過ぎてて〜」

「大丈夫〜あたいも今来たとこ〜」(ほんとは10時5分前に来たんよ!プンプン)

はぁ・・・くっだらねぇ・・(疲労)


ロジックICを使って2進数の足し算をするコンプーターを作りました。

2017-03-09 11:46:01 | ハードウェア

そういうわけで、前回XPressoで作った足し算回路を、ロジックICを使って作りました。4個のXORゲートICと4個のANDゲートICと2個のORゲートICです。入力は8ビットなので0から255の正の数の入力ができます。出力はLEDの点灯で表現しています。(最初はICが思うように動作せず途方に暮れましたが、プルダウン用の抵抗を付けないとうまく動かないんだということが分かってからはサクサク作れました。)

このままでは分かりにくいので10進数で入力して2進数に変換する部分(エンコーダー)と、ICで計算した結果の2進数を10進数に変換する部分(デコーダー)をArduinoで作ります。

デコーダー部分は既にできていて、計算結果を表示するLEDの点灯状況をアナログ入力してデジタル変換し、更に各桁の重みを掛け算して10進数に変換し、7セグメントLEDに表示します。

エンコーダー部分は今、作っている最中です。

左上の青いディップスイッチが入力部分です。小さい白い四角がスイッチで、上だと電気が流れて1,下だと0です。2つのスイッチともに10000001(129)なので、足した結果LEDは10000010(258)になっており、7セグLEDの表示も258になってます。('-')

Arduinoに電源が繋がっていませんが、ブレッドボードに繋がってる電池ボックスの電力で動作しているようです。なんか不思議。


XPressoで整数の加算器のエミュレーションを試みた

2017-03-09 08:16:52 | Cinema4D設定、操作

普段人間は十進数で計算とかしていますが、コンピューターは二進数で計算しています。

十進数 二進数

0   0000

1   0001

2   0010

3   0011

4   0100

5   0101

6   0110

7   0111

8   1000

9   1001

という感じです。

そういう訳で、ネットで調べた情報をもとに二進数の足し算をするXPressoを作りました。

FAってのが4個あって、その中身は↓のようになってます。

HAの中身は↓のようになってます。

XOR回路というのはExclusive OR の略で排他的論理和のことで

普通のOR回路が

0 0→0

0 1→1

1 0→1

1 1→1

となるところを、XOR回路では、

0 0→0

0 1→1

1 0→1

1 1→0

としてくれるので、繰り上がりの表現に必要なんです。2進数では01+01は10(1の位が繰り上がって0になり、10の位が1になる)なので。

ちなみにAND回路は

 0 0→0

 0 1→0

 1 0→0

 1 1→1

ですね☆1の位がどっちも1のときにCarry(繰り上がり)の為の1を出力します。

XPressoもなかなか役に立つネ!

ちなみに、XOR回路とかAND回路とかOR回路のノードはどうやって呼び出すのかというと、↓のようにします。ブール演算ノードです。

演算のタイプを切り替えて使用します。名前も分かりやすく変えましょう。

つづく



3Dプリンターを購入しました

2017-03-09 00:11:22 | ハードウェア

以前からほしかった、3Dプリンターをついに購入しました。

GenkeiのLEPTON2です。

早速、壊れていた人形の脚を修理できました。スゲー!!

モデリングはCinema4Dで行いました(笑)結構苦労しました。

股関節の球体関節も再現できました。

スゲー!これで何でも作れるネ☆


MSAの更新が間に合わなかったので更新できませんでした。

2016-09-02 12:33:47 | 雑記

私のMSAの期限が7/31だったのですが、8月になっても更新せず、9月になってから更新しようとしたら断られました。

昨年は8月になってからでも更新できたのですが・・・

仕方ないねぇ


ツールのオプション設定を変更したのをデフォルトとして保存する

2016-07-05 09:24:52 | Cinema4D設定、操作

2ちゃんねるのCinema4Dスレで、ナイフのオプションの「可視エレメントのみ」にチェックがデフォルトで入っているのがどうのこうのって書き込みがあって。チェックが外れた状態をデフォにするにはどうすればいいのでしょうか。(ちなみにそのスレで回答したのは私です)

1 自分の使い方にマッチするようにオプション項目を変更する。

2 属性マネージャのメニューの「編集」→「デフォルトとして設定」

※変更した内容はCinema4Dが正常に終了されるときにPrefファイルに保存されます。異常終了した時は保存されません。


二段式ショートカットのキー割り当てを変更する

2016-07-05 09:01:11 | Cinema4D設定、操作

ポリゴンペンの二段式のショートカットはM~Eですが、ポリゴンペンは多用するのでもっと効率いい文字に割り当てたいってわけで、M~Mにしようと考えました。Mキーを連打すればいいんだから楽でしょう。

1「コマンドをカスタマイズ」のウィンドウを開きます。「ウィンドウ」→「カスタマイズ」→「コマンドをカスタマイズ」(ショートカット:Shift+F12)

2 名前フィルタに「ポリゴンペン」と入力する。またはスクロールして探す。

3 「ショートカット」欄にMMと続けて入力。~(チルダ)は不要ここで嵌まりました。違う文字が入っちゃった場合は、Escキーで消します。

4 適用ボタンを押す。(C4Dが異常な終了をした場合はPrefファイルに記録されませんので注意)

完全に忘れていたのでCinema4D入門1,2章を読み返すと56Pに書いてました。(笑)うわぁ!役立つなあ


続・テイクシステムを活用してUnityのskybox用画像を楽に作る

2016-06-13 09:13:19 | Unity&Cinema4D

前回からの続き

今度はUnity側での作業になります。

まずマテリアルを作ります。Projectタブ内のCreate→Materialです。

名前を付けます。適当にMyFirstSkyとしました。

そのマテリアルのShaderのタイプをSkybox→6 Sidedに変更します。

Assetフォルダの中にMyFirstSkyboxという名前のフォルダを作って、そこに画像をコピーします。フォルダーごとコピーでもいいでしょう。

マテリアルのインスペクターのウィンドウ内で6sideの各面に対応する名前の画像を適用していきます。Front[+Z]にはMyFirstSkyboxZ+.jpgです。

WindowメニューのLighting(Unity5の場合)を開きます。

EnvironmentLightingのSkyboxの入力欄の右の○を押して開いたウインドウ内のMyFirstSkyを選択します。

ゲームを再生してみると、テクスチャの継ぎ目部分が筋状に見えてしまってます。

読み込んだ画像それぞれについて、インスペクターでWrapModeをRepertからClampに変更します。

白い筋が消えました。

次は複数のスカイボックスをスクリプトで切り替えたい・・・


テイクシステムを活用してUnityのskybox用画像を楽に作る

2016-06-10 10:38:58 | Unity&Cinema4D

Unityの3Dの背景であるところのskyboxはX+、X-、Y+、Y-、Z+、Z-と、全6方向の正方形の画像から作られるのですが、結構手間がかかるため、何種類も作ろうとすると大変です。そこでテイクシステムを活用して効率化を図りたいと思います。

まずCinema4Dでは、フィジカルスカイを使って空を作ります。

作り方としては、Cinema4D入門の6章(ここにあります)に全部書いてあります。

次に6方向をそれぞれ撮影するカメラを用意します。まずカメラを1つ出します。

レンダリング設定を開いて「出力」で画像の幅と高さを同じにします。幅1024、高さ1024ピクセルとかでいいです。

 

次にカメラの画角を水平FOV、垂直FOVを共に90°にします(というか片方90°にすると連動します)。カメラの向いている方向を確認しましょう。この状態でカメラはZ+方向を向いているのが分かります。このカメラをZ+方向を撮影するカメラとするのでこのままでOKです。このカメラの名前をオブジェクトマネージャで「Z+」に変更します。

向いている方向を分かりやすくするため、カメラの画角内に確認用の文字を表示したいので、「テキスト」と「押し出し」を使って文字オブジェクトを作りましょう。この場合前面ビューで作業すると素直にカメラに向いてくれます。Z軸関係なので青のマテリアルを作って適用してます。位置を合わせたらカメラの子にしておくとコピペの時手間が省けて良いです。

 

 

このカメラをコピペして、座標マネージャでHに180を入力して真後ろを向かせます。名前をZ-に変えます。

 

同じ要領でX+とX-も用意します。X+はHが-90°でX-はHが90°です。押し出しのテキストもそれぞれY+とかに変えましょう。

 

最後はY+とY-です。Z+を元に最小限の回転で済ませましょう。Pに90°です。Y-はPが-90°です。

次はテイクシステムを使っての作業になります。6個のカメラで1枚づつ作ったレンダリング画像に、シーンファイル名とカメラ名からなるファイル名を自動的に付ける事が出来ます。ワオ!便利だね(^o^)

テイクマネージャを開いて、「新規テイク」で6個作ります。それぞれに名前を付けます。

 

そしてカメラを関連付けます。6個のテイクにマークを付けてレンダリングされるようにしましょう。メインのテイクはマークしません。

「マークしたテイクを画像表示でレンダリング」でテストレンダリングしてみましょう。

次にレンダリング設定の「保存」を開き保存する場所と名前を決めましょう。

これはヘルプの「変数パスおよびファイル名」のところも合わせて読んで下さい。

http://help.maxon.net/jp/#54506 ←ここ

 

レンダリング設定で、ファイルの保存場所を決め、まず適当なファイル名を決め、保存ボタンを押します。

「Render」フォルダの中にシーンファイル名からなるフォルダを作り、そこに保存される画像には、シーンファイル名とカメラの向き(Z+とか)からなるファイル名を付けます。

ファイルのパス欄を書き換えます。E:\DATA\Cinema4D\Render\$prj\$prj$camera

$prj がプロジェクトファイル名で、$cameraがカメラ名になります。\とか¥はディレクトリなんで、

Renderディレクトリ(フォルダ)の下に「プロジェクトファイル名のディレクトリ」を作り、その中に「プロジェクトファイル名+カメラ名のファイル」を作ります。なので、$prjが2回出てきます。でも¥(\)で区切られてないからね(^o^)

では確認しましょう。ぽちっとな。

このプロジェクトファイルの名前はMyFirstSkyBox.c4dになってます。従って、Renderの下に「MyFirstSkybox」ディレクトリが作られます。

 

その中にプロジェクトファイル名+カメラ名からなる6つのレンダリング画像がありましたぁ

続く


MoGraphを使って樹木を作る

2016-03-11 13:20:22 | Cinema4D設定、操作

MoGraphを利用して木を作りました。

まず幹の部分ですが、Blenderのスカルプトを使って作りました。

「blender スカルプト 木を作る Snake Hook」でググると、僕が参考にしたブログが出てきます。Cinema4Dのスカルプトでは出来ないな><

そしてCinema4Dに読み込んで(FBXで)、MoGraphで板ポリに細い枝と葉っぱを描いたテクスチャを貼ってMoGraphのオブジェクトモードで増やします。

モッサモサになります。

多すぎて制御出来ないので、木の枝先の方にポリゴン選択範囲を作ります。もう少し多めのほうがいいかな(^^;)

生える場所と数はいいんですが、方向がめちゃくちゃです。

クローナーをオブジェクト化して一つづつ回転して向きを整えていきます。スゲーしんどい><

だけど、位置は合っているので、回転だけでどうにかなります。予め軸の位置をずらして枝の一番元の方に合わせておく必要があります。