C4D選択

C4D ポイントやポリゴンをランダム選択するユーザスクリプト。R10 & R9

前回のスクリプトは、ポリゴンオブジェクトのみにしか対応していませんでしたが、スプラインにも対応させました。

C4D R10タイプのスクリプト

「PointRandomSelect.ZIP」

試しに artist side に投稿してみました。

ただしSDK R11なので、C4D R10以降対応だろうか?
R9は非対応…
R9は、この記事の後半です。

続きを読む "C4D ポイントやポリゴンをランダム選択するユーザスクリプト。R10 & R9"

|

C4D C.O.F.F.E.E. Randomクラスを使ってポリゴンやポイントをランダムに選択する。

さて、ポリゴンやポイントをランダムに選択すには、どうしますか?
もっとも簡単な方法は、2種類あります。

続きを読む "C4D C.O.F.F.E.E. Randomクラスを使ってポリゴンやポイントをランダムに選択する。"

|

R11SDKのtag()関数を使用して、選択された(ポイント/ポリゴン)選択範囲タグで選択されたエレメントにヌルオブジェクトを配置するスクリプトです。

C.O.F.F.E.E. R11 SDK の選択されたタグを取得するtag()を使用して、オブジェクトにアクセスします。

続きを読む "R11SDKのtag()関数を使用して、選択された(ポイント/ポリゴン)選択範囲タグで選択されたエレメントにヌルオブジェクトを配置するスクリプトです。"

|

以前作成した実用性の無い「選択オブジェクトにヌルオブジェクト配置する」スクリプトに、R11SDKのobject()関数を使用する

C4Dのポイントに新規ヌルオブジェクトを追加配置するユーザスクリプト
http://villager-and-c4d.cocolog-nifty.com/blog/2009/05/c4d-9916.html

最初は、ヌルオブジェクトをポイントに配置する事から始まって、改良をしていきました。

C4Dのポリゴンに新規ヌルオブジェクトを追加配置するユーザスクリプト
http://villager-and-c4d.cocolog-nifty.com/blog/2009/05/c4d-bc2a.html

前回の新規ヌルオブジェクトをポイントやポリゴンに追加配置するユーザスクリプトを統合する
http://villager-and-c4d.cocolog-nifty.com/blog/2009/05/post-c749.html

前回の新規ヌルオブジェクトをポイントやポリゴンに追加配置するユーザスクリプトに「オブジェクトモード」を追加する
http://villager-and-c4d.cocolog-nifty.com/blog/2009/05/post-6e66.html

では、最終のスクリプトを変更します。

続きを読む "以前作成した実用性の無い「選択オブジェクトにヌルオブジェクト配置する」スクリプトに、R11SDKのobject()関数を使用する"

|

C4D 複数選択されたシーン全体のタグの取得 C.O.F.F.E.E. R11 SDK

複数選択されたオブジェクト同様、選択されたタグを取得します。

R9.6 SDKでのタグの取得は、オブジェクト単位ですので、GetActiveTag(op)/SearchNext(BIT_ATAG)/while()での取得は、指定したオブジェクトに取り付けられたタグしか取得できません。

シーン全体の選択されたタグを取得するには、更にdoc->GetFirstObject()/obj->GetDown()/obj->GetNext()/obj->GetUp()等も使わなくてはいけませんでした。

要するに、シーン全体の全てのオブジェクトを1つづつ捜査し、そのオブジェクトに取り付けられた選択されたタグを取得するのです。

続きを読む "C4D 複数選択されたシーン全体のタグの取得 C.O.F.F.E.E. R11 SDK"

|

C4D 複数選択されたオブジェクトの取得 C.O.F.F.E.E. R11 SDK

複数選択されたオブジェクトの取得と言えば…
このブログを読んいただいている方は、多分次のように答えてくれるでしょう…
GetActiveObject(doc)/SearchNext(BIT_AOBJ)/while()を使って取得する。

/*
複数選択されたオブジェクトを取得しコンソールに名前を表示
2009.5.30
*/


main(doc , op)
{
  var obj = GetActiveObject(doc);   //選択された先頭のオブジェクトを取得


  //選択されたオブジェクトを取得して名前を表示
  while(obj){                       //オブジェクトが無くなるまで繰り返す
    println(obj->GetName());        //オブジェクトの名前を表示
    obj = obj->SearchNext(BIT_AOBJ);//次の選択されたオブジェクトの取得
  }
}

こんな具合だね。

続きを読む "C4D 複数選択されたオブジェクトの取得 C.O.F.F.E.E. R11 SDK"

|

前回の新規ヌルオブジェクトをポイントやポリゴンに追加配置するユーザスクリプトを統合する

前回の、新規ヌルオブジェクトをポイントやポリゴンに追加配置するユーザスクリプトを統合します。

編集モードの「ポリゴンモード」「ポイントモード」に対応してみましょう。
ポリゴンモード/ポイントモードは以前に取り上げました。
http://villager-and-c4d.cocolog-nifty.com/blog/2009/03/post-0d9b.html
「今は、何モード?ポリゴンモード?それとも、ポイントモード?」
も参考にしてください。

続きを読む "前回の新規ヌルオブジェクトをポイントやポリゴンに追加配置するユーザスクリプトを統合する"

|

C4Dのポリゴンに新規ヌルオブジェクトを追加配置するユーザスクリプト

前回の続きで、「C4Dのポイントに新規ヌルオブジェクトを追加配置するユーザスクリプト」をポリゴンに配置するように変更します。

今回のスクリプトの開始は、前回の最後のスクリプトからです。

続きを読む "C4Dのポリゴンに新規ヌルオブジェクトを追加配置するユーザスクリプト"

|

C4Dのポイントに新規ヌルオブジェクトを追加配置するユーザスクリプト

C4Dのポイント…スプラインやポリゴンオブジェクトのポイントです。

では、このポイントに新規のヌルオブジェクトを追加配置します。

他のツールの動作との整合性を考えて、動作させます。
ポイントが選択されていれば、選択されたポイントを対象に…
ポイントが選択されていなければ全てのオブジェクトのポイントを対象にします。

オブジェクトは複数選択に対応しましょう。
Undoも処理しましょう。

注意してくださいね。
ポイントの数だけヌルオブジェクトを追加するので、ポイント数が多いオブジェクトを対象にしないように…無駄にメモリーを消費します。

続きを読む "C4Dのポイントに新規ヌルオブジェクトを追加配置するユーザスクリプト"

|

選択された複数のオブジェクトを処理

オブジェクトマネージャでオブジェクトが複数選択されるとmain()関数に渡される変数opはNULLになる。もちろんBaseDocumentクラスのGetActiveObject()メンバ関数もNULLを返す。
そこで、BaseList2DクラスのSearchNext()メンバ関数を使う。このSearchNext()関数はアクティブオブジェクト以外にもアクティブタグやアクティブマテリアルにも使える。では具体的にアクティブオブジェクトを探すにはどうするのか?

続きを読む "選択された複数のオブジェクトを処理"

| | コメント (0)