カスタムフィールドを扱うには

 ”Custom Fields Suite”が便利。(前に”Advanced Custom Fields”を使ってたけど、ループは使えなかったと思う。)

 こことかここに、PHPで要素へのアクセス方法が書かれている。

場合により、オブジェクトを設定した変数名が“$cfs”から”CFS”に変更が必要な模様…
(自分は”$cfs”でないとエラーが出るが…どういうこと?)

 ループという概念があって、このページの解説のように一連の項目を複数連ねて書き込むことが可能。

ループの子階層に要素を設定するには、ループ追加後に一旦”公開ボタンを押す”必要がある。
投稿を標準の記事と分けたい場合

 自分で投稿タイプをコーディングするのは大変だと思うので、”Custom Post Type UI”や”Toolset Types”などを併用するのが得策。

いろいろ試してみると

 微妙に痒いところに手が届かない感じがしてきた。。

 ”Advanced Custom Fields”だと、タイトルなしでも登録できるが、これはタイトルを入力していない場合には”投稿した”ってステータスを出すわりに投稿リストになにも反映されない。(ID消費しているのでどこかに記録だけされているかもしれないけど、一覧にリストされない。)

 他にもちょっと困った部分があって、”Search Everything”を使っても、ループ内に入力した内容は検索対象にならない。
 …なので、ループ内を検索するには、独自に実装を追加するしか手がなさそう。

Computer Chronicles

昔の番組らしい映像をYouTubeで見つけたので、めも。

あとで調べてみると、司会者の一人は、CP/Mを開発したゲーリー・キルドールその人でした。

 
>C64

>Macintosh

>Windows98 & Linux

 リーナス・トーバルズの映像は初めて見た。
 日本じゃ拝むことないような気がする…

C++の多重継承の罠

本読んでて、あー忘れてるなーと思った話なので、めも。

このへんとかこのへんを読むと言及されているが、C++言語仕様的な話。

 クラス継承をした新しいクラスのインスタンスを生成すると、親のコピーと1セットでメモリ配置されることになるのだが、ダイヤモンド継承の形になった場合に、親のコピーの中に”同じものが2つ生成されてしまう”という問題が起きる。

 C++の場合”仮想クラス(virtual)”という定義があり、これを大元のクラス定義に使用することで、問題を解消(最終的にメモリ配置される場合に、1つだけメモリ配置するように自動調整)できる。

C/C++を学ぶ際には

 「内部動作やメモリ配置についてよく把握しなさい」と釘を刺されるが、こういった問題がポピュラーなことが要因。

 忘れないようにしたい。。

モジュラー・リギングとは

 めも。

 リギングの一手法。

 人型(ひとがた)を作るには、背骨、腕(左右一対)、脚(左右一対)という制御用の構造が必要になる。
 「背骨:しなるように曲がる構造」
 「腕:肘及び手首関節、肘の先には5本の指を持つ掌」
 「脚:膝及び足首関節、足首関節の先に5本の指を持つ足 」

 こういった基本的な構造を1つの部品として定義・用意しておき、必要に応じて”部品としての構造(モジュール)”をモデルに適用することで、リギングを行う手法。

 「プロシージャル・リギング」という表現は一般化されたツールでは聞かない気がするが、設定されたリグを必要に応じて付け外しする。という、手順の自動化を行うツールはあるし、こういうのもプロシージャルの一種ではあるかと思います。

 そもそも、モデル形状に対する関節位置決め(ボーン位置決め)〜頂点とボーンのバインド〜モジュールとボーンのフィッティングの流れをなかなか機械的に行えないので、その辺りは結局人の手に頼っている状況があるわけです。。

 それでもモジュールの適用を全自動で…というレベルのプロシージャル・リギング・ツールはあるのかしら?

パラメトリックとは

 めも。

 コンピュータ系でも特にCG分野に限った話として、「パラメータに依存して、振る舞いを変えるもの。」というような意味合い。
 アトリビュートの数値を変更すると規定のパターンに従っていろいろな振舞いをする。という話なので、特にそれ自体が目新しいものではない。

 要は、「パラメータを操作する事で、振舞いを自由に調整できるような形にパッケージされたもの。」という話で、その自由度はパッケージ化される際の想定や設計次第となる。

プロシージャル・モデリングとは

 めも。

 じわじわと聞かれるようになった「プロシージャル・モデリング」とは、なんだろうか。
 基本的な事は知っているんですが、あまり気にする範囲の技術ではないので放置していました。

 基本的には、「手続き型モデリング法」と呼ぶべき手法です。
 モデリングの操作(1ステップ分)を1つの”パターン”として考え、形状はパターンの積み重ねで出来上がるもの…という考え方でモデリング(形状編集)を行う手法です。

 ネジのような工業部品のモデリングを例に採るのが一番わかりやすい例で、こんな感じの話です。
 
 あと、こんなのとかね。

modoのヘルプの参考は…

 こんなシンプルなものだった。

スクリーンショット 2016-06-19

 機能をざっと見た感じ、そんなに細かい機能はまだ用意されてないように見えるので、今の状況で手続きを全部残しながら細かいモデルを作れるような機能というわけではなさそう。
 大雑把にパラメトリックな要素を持ったオブジェクト編集が可能。って印象。(かと思えば、頂点や範囲指定で影響範囲を指定するオブジェクトとかあるので、面倒そうではあるが使い方次第ではそれなりに操作可能には見える…)

 サンプルムービーでは、MeshFusionと一緒に使ったようなモデリング参考を見せているので、いまのところは既存のブーリアン機能とセットで使うことで表現方法の幅を広げる想定かも。

modoのこの機能の場合に言えるのは…

  • Mesh Operation Stacks の構造。
  • Mesh Operation Inputs は、入力としてなにを必要としているのか。

この2つをちゃんと理解しないとまともに動かせない。なので、最初のとっつきは非常に良くない。

プログラミングは難しいか?

 プログラムを書いている身からすると、「難しくはない」です。

 「英語を話せるのが難しいか」のような比較をされることがありますが、それより何倍も単純明解です。
 どちらかというと、「日曜大工は難しいか」というようなレベルです。(分野的な得手不得手がある話なので、一概にコレと決めるのは難しい話ですけど。)

 日曜大工の場合は、道具と工作方法が分かれば、あとは材料を用意して経験を積めば(椅子を作ることを考えた場合、脚・座面・背もたれの構成を学ぶことができれば)誰にでも可能だということは理解出来ると思いますが、プログラムも同じで、パソコン上にプログラム開発環境(道具)を用意してプログラム方法(作りたいアプリケーションの構成)を覚えれば基本的にはOK。あとはほぼ経験値の問題です。

プログラミングとほぼほぼセットになっている”設計”の部分を考えると、それなりに難しいですが、最初から完璧を目指しても仕方がないので、まずは動くものをいろいろ作る方を優先するべきだと考えます。(仕事でやるようになると、ゴミのようなコードを量産することが諸悪の根源のように叩かれますが、それはプロとしてお金を貰い、またチームで仕事に取り組む必要がある場合に挙がる問題だと考えます。)

 
 ただ、大きく異なる点はあります。それは、工作と違って「”具体的に目に見える形に出来上がる”とは限らない」という点なんですが、これは仕事で難しいレベルのプログラムを組まない限りは関係ない話と思ってよいところです。

 もっと小さいけれど、異なる点。それは、出来上がったものが「論理的な仕組みをデータ化したもの」なので、動かしてみないとなんなのか分からない。手で触れられず、目に見ることも難しい「一見すると”あやふやに感じる”ものである。」という点です。

 実際には、あやふやでもなんでもないのですが、あやふやでなくする為には少し「論理的な仕組みを頭の中で動かすトレーニング」が必要になります。
 この点ではちょっと難しく感じるかもしれませんが、たぶん「右利きの人が左手で字を書く」よりは簡単な作業だと思われます。(精々4~5桁の足し算引き算の暗算みたいなもので)難しいと感じるとしたら、単にそういう作業を行った経験が乏しいというだけなので、3〜4日も続ければヨチヨチ歩くくらいはできるようになるものです。

 ヨチヨチできるようになったら、あとはひたすらいろいろなアプリの構成パターンを蓄積していくことで、いろいろなアプリを自分で作ることが出来るようになります。(なにごとも精進は必要ですね。)

やらなければ分かるはずもないので、興味がある人は取り組んでみるのが一番だと考えます。

 
 「これからは、プログラミング言語は必修科目だ。」みたいに言われているみたいですが、小学校の図工の授業を「工作」か「プログラミング」か選択できる時代がこないかなぁ…と思うし、中学では初級フィジカル・コンピューティングくらいの授業が行われないかなぁ…とも思います。(関係ないけど、最近は中学男子も家庭科の授業があるらしいですね…。気になって調べてみたら、94年から中高共に男女共修で家庭科やってるんですね。)

 材料費とか、たぶん大したことないと思うんですよね。
 家庭科の授業で買い出しするのと大差ない額で始められるよなぁ…とか思う、今日この頃。。

実際に書き始めた人に…

 これ超大事。
 やっていることを論理立てて理解していること。これが出来てないと、プログラムはまともに動いてくれません。