日本でハリウッドVFXを制作! 「経産省アイディアボックス」 結果:  
●まとめエントリはこちら ●FAQ ●お問い合わせは左のメールフォームから

2010年10月25日月曜日

エフェクト関連の知識習得に関する線引き (その2:補足)

先日「エフェクト関連の知識習得に関する線引き」というエントリを書いて、どの程度まで科学的理論や数学的な部分に深入りすべきかということについて、現時点での私の考えをまとめました。

そのエントリに関連して@Kei YoneokaさんよりTwitterで結構いいご意見をいただきました。
Keiさんは3dsMaxメインのエフェクトアーティストですが、いろいろなエフェクトのTipsやトライ&エラーをご自分のサイトでも公開されていて、以前から参考にさせてもらってます。

さて、今回そのTwitterでの意見によって、新たにみえてきた部分があり、その情報を盛り込んでおきたいと思い継続したエントリで残すことにしました。

こう書くと、なんかすごいことに気がついたかのように感じるかも知れませんが、ただ自分の管理能力のなさ、なまけぐせに気がついただけです。
すでにご存じで実践されている方はたくさんいらっしゃると思いますので、公開するのは恥ずかしいほどです。

-------------
まず@Kei Yoneokaさんご本人に確認をとりまして、ご厚意で、そのときのつぶやきを掲載する許可を頂きました。その内容をそのまま以下に掲載します。

その1
エフェクトは自分なりの考察持ってますがMelonさんほど深くないですね^^;自分もCGやってる人にエフェクトを勧めたいんですが、その理由の一つに「寝てても頑張れる数少ないジャンルの一つである。」ということがあります。これはどういうことかというと、、、

その2
とにかくエフェクトでシミュレーション系の物は非常に重くて、結果が出るのに数時間かかるということがあります。でもこれを待って結果が出たときは経験値が溜まるわけで、寝てる間にシミュレーションをかけておけば次の日には失敗するにしろ成功するにしろ何らかの学習をすることになります

その3
これを1年毎日続ければ365回、毎日は無理だとして2日に1回だとしても180回くらいのヘビーなトライアンドエラーができます。これだけやればシミュレーション系ソフトのパラメーターの意味などをほぼ大体を把握することができます。これを日々の業務に当てはめれば相当効果があがります。

その4
これが自分の言う「寝てても頑張れる」という意味です。これはアニメーターやモデラーみたいに手を動かしてなんぼみたいなジャンルではできないことですね。(重たいマテリアルやライティングを試すってことなら同じですか)というわけで、エフェクトは非常に時間を有効活用できると個人的には思います。

まず、「失敗するにしろ、成功するにしろ何らかの学習をする」というのははっとさせられました。
自分刃、うまくいかないシミュレーションは失敗としか考えない傾向があり、 そういうとらえ方をするとやっている作業の他大半は失敗と言うことになってしまい、非常に苦痛な作業になってくるんですね。
Keiさんのように捕らえることで同じ作業にも前向きに取り組めると思います。


-------------

さて、もうひとつが本題ですが、じつは前回のエントリ「エフェクト関連の知識習得に関する線引き」ではあえて結論を出すのを避けていた部分に、触れられたなと思いました。

それぞれのソフトには個別の癖がありますが、その故となる理論は共通することも多々あり、場合によっては数式まで同じ物をもとにしていることがあります。
しかしながら実際にプログラミングしてソフトウエアという形に実装していく段階で、理論をどうプログラムにするかというアルゴリズムの部分で個々の開発者の考えによる違いがでてきます。
これはシミュレーションを実際に作っているときに、ソフト毎にいろいろな違いを生み出します。


前回説明したように、裏にある科学的理論が理解出来ることでアトリビュート名の由来や働きを推測することはできるようになります。
しかし、すぐにそのソフトを使いこなせるようにはなりません。
あくまでソフトウエア習得のための下準備が出来たような物です。

具体的にどれぐらいの数値を入力すればよいのかとか、どのようなときにそのアトリビュートを使用すべきかということは以下の流れで習得するしかないと思います。

1)ヘルプを読む
2)繰り返しソフトを使う


そのソフトがどのような実装のされ方をしているのかがわかれば、これらを効率的にすることも可能でしょう。しかし実際にはそのアルゴリズムまで公開されているのはまれでしょうし、公開されても理解出来ないというのもあります。
これは本格的な理論や数式をさける自分のやり方の限界でもあります。


 さて、話を戻しますが、以上のように「繰り返しソフトを使う」というのは非常に重要で、ここでヘルプには書かれていない、ソフトの癖というか、特徴をつかむことになります。
これがうまくできなければ、なかなかおもうような結果が生み出せません。
結果的には使い物になるアーティストと、そうでないアーティストの分かれ道とも言えるでしょう。

この部分は、公開された情報が少なく、様々なチュートリアルやサイトによる情報でみんな四苦八苦して情報収集する部分でもあります。

実際にソフトの特徴をつかむまでには、値を変え、何度も繰り替えしシミュレーションをしなければわかりません。
しかし、この部分を合理化し、回数を出来るだけ少くすることで、ソフトの特徴をつかむまでの期間を短くすることができるということになります。


-------------
さて、自分がシミュレーション関連のソフトをどのように習得してきたかということをもう一度、分析してみました。

ステップ1)ヘルプをよみ、ツール、アトリビュートの機能を理解する。
ステップ2)コントロールしたい部分がどのツールを使い、どのアトリビュートを使用すればよいかの見当をつける
ステップ3)目的にあったものができるまで、ツールの設定、アトリビュート数値の変更などを繰り返します。


シミュレーションの作業でアーティストにとって、未知の部分があると暴れ馬のようになり、コントロールすることが難しくなります。
これをうまく自分のコントロール下に納めるには、「ステップ3」を繰り返すことしかありません。

しかしながら自分の場合は、仕事で、数多くのことを試して結果を作り出してきたにもかかわらず、ほとんどその記録をとっていませんでした。
体感的に覚えている部分はあるのですが、後にそれを生かすとなると何割かは忘れているため、また一部は四苦八苦することになり、時間の無駄に感じていた部分もあります。


いいわけをするならば、各プロジェクトで設定値が違いすぎるので、そのまま使うことはできないとか、記録する時間が無いとか、どのように記録すればよいかわからないということもありました。




-------------
そして上記の@Kei Yoneokaさんのつぶやき(その3)を読んでいてはっと気づかされました。
ヘビーなトライアンドエラーができます。これだけやればシミュレーション系ソフトのパラメーターの意味などをほぼ大体を把握することができます。

ようはこれまでの自分のやり方では、なんとか把握したものを失っては取り戻すことを繰り返しており、蓄積にはあまりなっていなかったのです。
実はこれは仕事においては致命的な間違いです。
どんな仕事でも、自分が行ってきたことの記録を取りそれを後で利用できるようにすることは通常の世界では当たり前のことです。
自分も前の仕事ではそうしていたはずが、ことCGということになるとすっぽり抜け落ちていたのです。


-------------
次に考えるべき事は具体的にどうすれば、そのソフトを把握できるまでの時間を短縮できるかということです。

シミュレーションするときには、パラメータ(アトリビュートの数値)を変えた物をいくつも実行して、目的に合うものができるまで続けます。

この際に
1)どのパラメータを
2)どの程度
 変更したかを記録し、
3)その結果
 がわかるようにしておけばよいということになります。

シミュレーションで苦労するのはどのパラメータをどれほどいじればいいのかを見抜くことです。
上記のテスト記録があれば、目的の効果を生み出すためのパラメータとその数値の見当がつけられます。
また不用意に同じ失敗を繰り返す事も防げます。
一つの人生で同じ試行錯誤を二度繰り返す必要がなくなります。

特定のパラメータにしぼって、比較のために数値を変えたいくつかのパターンを用意してやると良いでしょう。特に不要と思われるほどの数値でも、特徴をつかむためにわざとやってみる事も必要かも知れません。

実作業においては時間が無いため同時に複数のパラメータを勘でいじったりするので、実際にどのパラメーターがどのぐらいの影響を与えたのかは漠然としたままなんとか出来あがったということも少なくありませんでした。
そのため記録もしにくく、記録したとしても使いにくい情報になりがちともいえました。

アトリビュートをひとつかふたつ絞り、
変更もサンプル としてわかりやすい変化にする。
という事に気をつけて、シーンを作るためでなく、
そのアトリビュートやツールを理解するためのシミュレーションを実行し、記録することでこれはなしえるのではないかと思いました。

これによりヘルプファイルで読んだだけではわかりにくい特性を知ることが出来る。
そういえば、エフェクトアーティストの動画にはそんな感じで比較している動画を時々見ます。

ただ資料をきちんと残そうとすると、動画を作ったり、それを編集したり、アップロードしたりという時間が必要になります。これまた本末転倒となる可能性もあるので、そのあたりをどうするかという課題は残ります。
何らかのフォーマットを作る必要があるかも知れません。たぶんさほど難しい物ではないでしょう。

こういうことは、通常のエフェクトアーティストにとっては当たり前のことなのかも知れませんが、自分は、はずかしながら今までやっていませんでした。

これからはヘルプを読むときなどに、アトリビュートの理解を深めるにはこの方法を生かせたらと思っています。


-------------
最後に前回のエントリからの考えを見やすく(見ずらい?)図にしてみました。
あまり考えずに作ったのでなんか変な感じもしますが、とりあえず修正した方がよい箇所がかわるまでの暫定版です。


左欄は自然現象がコンピュータ内でシミュレーションにおきかわるまでのステップを関連知識をもとに階層に分けたものです。
下位の物が上位の物をささえています。
そのため上位のものは下位に依存して存在していると言えます。

ただし、これはあくまで概略であり、実際にはそれぞれ相互に複雑に絡み合っている部分があり、明確に分類するのは難しい面はあると思います。

右欄は左欄の項目を習得/理解するために必要な事です。
太字はその段階で重要性の高さを示しています。

色分けですが水色はエフェクトアーティストに必要となる部分を表しています。
肌色の部分は主にTDやプログラマーの分野です。


見てわかるとおり、私のやり方では「4.アルゴリズム」「5.数式」の部分が飛んじゃっています。
そこからも、最高の方法ではないと言うことはわかると思います。
私のやり方は、あくまで数式アレルギー、プログラミング知識ほぼゼロでもエフェクトアーティストとしてベストを尽くせるようにするために考えた物です。

前回まで述べてきたことは、「6.科学的、工学的理論」に属します。

チュートリアルなどで勉強することは、だいたい「」,「」の領域です。
Keiさんの述べていたことはこの領域に属すると思います。
これをしっかりとやることは、理論を固めるよりも、より早いスキルアップにつながると思います。
ただし理論を固めることはその力強いバックボーンになり、その力を乗算してくれると思います。


余談ですが「7.自然現象」に関しては、
●現実世界での現象の観察
●高速度撮影された動画の観察
●本:特殊効果アニメーションの世界、エレメンタルマジック
●そのほかの自然現象の観察について述べた物(Webなど)

などが役に立つのではないかと思っています。

2010年10月23日土曜日

Mel初心者向けの学習法

このブログの当初の目的はMelを主体としてスクリプトやプログラミング言語の学習の超初期段階でくじけてしまう原因(壁)を探り、その解決策を模索し、記録していくことにあった。


このブログももう数ヶ月で約2年となるのだが、その間に最初の壁は破れたように感じている。

しかしながらその壁が何だったのか、そして無駄なく効果的な解決策は何だったのかがはっきりしていなかったのでずっと気に掛かっていた。

それが今日、ふとひらめいた。
約二年目にしてやっと解決策がみえてきた。

まだ完全に壁が見えたわけではないのだが、しっぽがつかめたように思う。
これをベースに新しい方法が生み出せればと思う。

それをもとにした方法が生み出せれば、文系の超初心者にとってもしかしたら非常に助けになるかも知れない。
ただ、まだ方法論もおおざっぱで、実証もされていないので効果のほどは未知数です。
もしかしたら大失敗かも知れないし。

内容については、まだ多くは語れないのですが、

いままで文系の人がプログラミング(/Melスクリプト)を習得するのが苦手な理由は、
プログラミングが理系の内容だからだと思っていました。
実はそれは間違っていて、必要なのは○○○系の解決策かもしれないということです。

そのうち、これに関してアンケートを実施することを考えています。(いつになるかは未定)

2010年10月22日金曜日

忘れていたhelpコマンド

手軽にスクリプトエディターでヘルプが表示できる。

(例)
help getAttr
help xform

2010年10月21日木曜日

エフェクト関連の知識習得に関する線引き

昨日から「「流体」とは」というシリーズのエントリを書き始めていますが
これを書いている裏にある理由を説明します。

まぁいつも通り自分の勉強課程のメモでありますが、要するに発想の過程についても少し触れておくことで、何かもっとつかむ物があれば(もしくは不要な物を見つけることができれば)と思ったからです。
また、すべて自分で勝手に考えたことですので、理論に間違いがある可能性も考慮して読んでください。



-------------
現在ジェネラリストからエフェクト・スペシャリストへの転換をはかっているわけですが、どちらにしてもプロフェッショナルである以上、しっかりとした知識と経験に裏付けされた仕事をする必要があります。
CGで表現をする際に必要な事は、アート面と技術面がありますが、特にエフェクトはその程度は別としても、様々な機会に技術的理論に直面します。

ソフトの設定を表面だけ覚えたのでは限界がありますし、ソフトが変わると戸惑う事になります。
特に、こちらでは大手プロダクションに行くとクロス、ヘア、リジッドボディー系は独自のソフトやプラグインを使っていることが少なくありません。

またエフェクトをよりよいものにするには、ソフトを使いこなさなければソフトが作り出す偶然に頼った絵作りしかできなくなってしまいます。
ソフトを使いこなすには技術的知識が不可欠なのです。


-------------
中学数学から再度勉強し直し、物理学、力学、流体学などを学び、プログラミングまでのスキルを身につけることは、根本から自分の知識体制を構築することになり、完璧なプランだと思います。

反面、時間がかかり、必ずしもアーティストとして直接、必要となる知識ばかりとは限りません。
様々な科学的理論をシステム上に実装するようなことが目的でなければ、なおさらでしょう。

もちろん、そういったしっかりした裏付けがあると鬼に金棒でしょうが、ソフトで望むエフェクトが作りたいというだけの目的には少々Too Much感があります。
そのため、そのようなプランで初めても心に残る抵抗感は、焦りに変わり、いつのまにか辞めてしまうことになります。

また、もう若くはないので残された時間も少ないですから、のんびりやっているわけにもいきません。


-------------
さて、エフェクトをやる以上、技術的理論はさけて通れないのも事実。
どこまで勉強してどこをはしょるべきか、このあたりの線引きが、長年の悩みどころでした。

では 
どうすれば効果的な勉強ができるのか?
どんなことに重点を置いて勉強すればよいのか?
を自分なりに考えてみました。

まずCGと科学的、数学的な部分には以下のような関連性があります。

科学的理論(概念) ソフトに実装 ソフトの操作 <作品の完成>

どうしてこうなるかというと、
CG(のエフェクト)はすべて現実世界に起きることを研究して公式化し、それをコンピューター内で計算によって再現しているからです。


●科学的理論が数式と共に確立し
●それをプログラミング言語とアルゴリズムを使いソフト内でシミュレーションを可能にする
●そのソフトを使って作品を作る。

という流れになっており、それぞれに必要となる勉強は異なってきます。

いままで自分がやってきたのはスクリプトも含めて、最後の部分が主です。

(お断り)ここでは理論的なことに的を絞っており、「現象の観察」に関しては含めていません。
「現象の観察」は「科学的考察」と「作品作成」の両方で不可欠な基礎的な物ですが、今回は動きに関する理論的な面だけに的を絞っています。
従ってコンポジットのテクニックもここには含まれません。
またプログラミングもしくはスクリプトの知識がどの程度、影響を与えるかと言うことに関しても、あまり考慮に入れていません。


-------------
次にその科学的知識との深さについてそれぞれの段階を考えてみました。
裏付けはなく、まったくもって自分の思いつきであることはお断りしておきます。


レベル1)ソフトの操作方法、アトリビュートの設定などをある程度知っている。
→エフェクトのコントロールがある程度可能。 
(チュートリアルの受け売りやまる暗記で対応可。望みの物を作るには試行錯誤が長い)

レベル2)科学的理論を知っており、それがどのように使用するツールやアトリビュートに実装されているかを知っている。そのツールやトリビュートの限界がわかる。
(自分の意志で的確な判断が出来、的確にソフトを操作して望みの物が作れる。試行錯誤が短い)

レベル3)科学的理論、公式を理解しており、プログラムの知識を持っている
(それをプログラムとして実装可能)


より高度なレベル(レベル3)は、下位のレベルを包括していることがわかります。


-------------
Mayaでエフェクトを作っていて思うのは、「もう少し知識があったらな~」ということですが、上記のように分類すると、レベル2までの知識があれば、ある程度ソフトが使えるのではないかと思いました。

無理を言う監督やVFXスープ、プロデューサーの要望に素早く応えるには、ここまでのレベルであればよいのではないかと思います。

このレベル2においては以下の能力があれば良いのではないでしょうか。
A)科学的理論を理解していることで、ソフトのどこを操作すべきかの目安がつけられる。
(たとえばVelocityやDampingというなど)

B)ソフト(実装と操作系)を理解していることで、どの程度の値を追加すればよいかがわかる。
(たとえばDampingには0.99や0.98とかの値でよいとか)

C)ソフトのUIからでは操作できない部分をMelで操作する。
(ParticleExpressionなど、数学的裏付けが必要なスクリプティングは除外)


(余談ですが、MayaってすべてがUIから操作出来るようになっているわけではないんですよね~。中途半端というか職人的というか。)


-------------
ソフトを科学的裏付けにまでさかのぼり理解していれば、的確に操作でき、限界もわかるので出来ないことを試行錯誤するという無駄を回避出来るはずです。

そして重要なことは、このレベルにおいては「科学的裏付けを理解する」というのは必ずしも公式を理解するということとイコールではなくてもよいのではないかと思うのです。


そもそも「数学的公式も含め科学理論を100%理解しなくてはすばらしいエフェクトは作れない」というのは間違いとは言いませんが、一個人にあてはめて考えるのは的違いな感じがします。
それは組織でやることです。
そう考えると、するとそれはただの劣等感からきた考えかも知れません。

たしかに科学的理論を100%理解するには数学的公式を理解している必要があるのですが、微分、積分も、変換行列も理解出来ない自分にはハードルが高すぎます。

ここであきらめるわけにも行かないので、どの程度の理解が必要かをもう少し考えてみます。

●ソフトのどこを操作すべきかがわかる程度
●ヘルプに書かれていることが理解出来る程度
●いろいろなソフトでの共通点と違いがわかる程度


この程度でも、アプリの操作においてはスキルをかなりアップできるのではないかと期待しています。
要は、自分の現在の知識レベルに合わせて、不必要に深入りしないということです。

次に考えるべき事は「このレベルで必要な事は何か?」ということです。


-------------
勉強において最重要なのは、様々な単語、特に技術用語を自分なりに明確にすること。

これは科学的裏付けの説明を読んでいるときだけでなく、ヘルプを読むときにも大きな助けとなります。
表面的な知識にとどまり「理解した」と勘違いしていると後で混乱してきます。
それは結果的に、ソフトの操作の迷いもしくは何を操作したらよいか「わからない」という結果につながります。
これは技術用語に関係なく、単語全体に言えることです。
一つ一つは小さな物ですが、きちんとその文脈で使われている意味を理解していないと、全体の意味が把握できなくなってしまいます。

人間の持つ英知の断片は、数多くの単語にそれぞれ詰め込まれています。
言葉は、組み合わせることでさらに大きな知識を構築するブロックのような物です。
崩れたブロックで建物を建てない方がよいことは想像できます。

単語、専門用語の理解→科学的理論(概念)の理解
単語、専門用語の理解→ヘルプの理解


結果的にソフトの理解が深まり、操作能力も上がるというわけです。


何気なく、ソフトの機能やアトリビュートの名前を暗記し読み飛ばしていると、理解が表面的になり、暗記するべき事も増えてしまいます。
きちんと用語を理解していれば、Melを勉強したり、APIを理解するのにも助けになるでしょう。

何より、独自の発想と決断がうまれ暗記したチュートリアルの知識に頼る必要はなくなるかもしれません。

他のソフトと比較して実装のされ方の違い(ソフトの能力の違い)を知るのにも助けになります。


補足すると、単語だけを先に勉強して理論を勉強しろというわけではありません。
どちらも平行して起きてくるというか、理論を勉強しようとして、もしくはヘルプを読んでいてわからない用語にぶつかる。
そしてそこで調べるというのが普通だと思います。

また、一つの用語をあまりに難しく説明しているようなら(たとえばWikipediaの説明など)、もっと簡単に説明してあるHPなどを探すべきです。
そのあたりは柔軟にすべきで、辞書にたよらずとも理解出来ることはあります。
図や動画が理解の助けになることもあります。

最も重要な点は「自分が理解した」と言うことです。


鍵となるのは、理論も用語も「明確にすっきりと概念が理解出来る」まで、わかりやすい説明をさがすということです。


-------------
どのような科学的知識、理論から勉強していくべきか?

現時点ではまだそこまで考えていません。
もしかしたら、特にに順番を決める必要は無いかもしれません。

不思議とそういう専門知識がしっかりとするにしたがって数式への抵抗がなくなってくるので、将来、そいういうことを勉強するときの抵抗感は少なくなっているとは思います。
もしかしたら、最初から数学などを勉強するよりは近道になるかもしれません。

また、結果的にそういった用語の理解レベルに合わせて「エフェクト」という領域においての精神的自由度があがり、結果的にスキルに反映し、作品に反映してくるように思います。


-------------
今回は、エフェクトやるならフルイドは外せないよな~と考えていたときに「流体」を明確に理解していないことに気がついたことから調べてみようと思い立ちました。

その結果をまとめたものです。

決して「流体」について知っているから書いているのではなく、知らないから調べた。
そして、それをまとめただけです。

2010年10月20日水曜日

「流体」とは (その1)

エフェクトと切っても切り離せな物に「流体(フルイド)」がある。

狭義では「フルイド・シミュレーション」とそれを実現するためにソフトに実装された機能をさすが、「エフェクト」というとらえ方をするとその手段は問わず「流体」を指す。
要するにパーティクルで作っても、Clothを使っても、はたまたジオメトリにリグを仕込んだり、ブレンドシェイプ、テクスチャーアニメーションをしても結果的に「流体」を表現することであれば「エフェクト」という言葉の範疇においては「流体」ということになると思う。

エフェクトと関わるにおいて、この「流体」とは必ず関わることになってくるわけだが,その言葉の定義においては意外と曖昧であることがわかり、ここで明確にしておこうと思った。

さて、Wikipediaで「流体」をみると以下のように定義されている。
流体:静止状態においてせん断応力が発生しない連続体の総称である。


わかるようでわからない。そもそも「せん断応力」が理解出来ていない。


-------------
(「剪断」の定義)
-------------

せん断(剪断)」の、Wikipediaでの定義は以下のようなものがある。
せん断(せんだん、剪断、shear)とは、はさみなどを使って挟み切ること。


英語のShearは、
(髪を)切る、(羊の)毛を刈る、(ケーブルが)切れるというような意味があり。
複数形(Shears)で、大ばさみ、植木ばさみ、といった意味を持つ。
語源は古期英語の「切る」
。(参照:Excite辞書「Shear」


羊の毛を刈る作業を「Shear(単数形)」と呼び、それにつかわれるはさみは「Shears(複数形)」である。

ちなみに「ハサミ」を意味するもうひとつの英語「Scissors」の語源はラテン語の「切る道具」という意味である。 (参照:Weblio 「Scissors」

どちらもハサミ一丁を表すのに複数形を用いるのは興味深い。
おそらく二つの刃を一つの道具にまとめたところから来るのであろう。


日本語の「剪断」の「」の字は、中国語で「切る」を意味する言葉であり「ハサミ」は中国語で「剪刀」と書く。(参照:BitEx中国語「剪」


そのほかデジタル大辞泉の「剪断」の解説は以下のようになっている。
剪断:[名](スル) 1 断ち切ること。「綱を―する」

文字通り、「断ち切る」ことを意味している。
余談だが、興味深いのは、綱、ひも、毛、髪といった細長い物を切ることに使われている。


さて、先ほどのWikipediaの「剪断」の説明の続き。
工学においては英単語shearの訳語として、・・・
ここに書かれているのは工学用語としての英語であるが、「Shear(単数形」であり、「ハサミ」という道具ではなく、「切る」という行為そのものに関連していることがわかる。

続けて定義を読むと
物体内部の任意の面に関して面に平行方向に力を作用させた状態を指す。
とある。

この説明の「物体内部の任意の面」というのは????であったが、以下の図で一気に解決。
(画像は「匠ホームズ」の建築用語集「剪断力」から引用

物体内部の任意の面」とは「はさみで切るような力」が加わったときに、そのはさみの刃の面と平行な面で「切断面になる面」の事である。

ちなみに、引用元の建築用語集で「剪断力」の定義は以下のようになっている。
剪断力(せんだんりょく):部材を切断しようとする力で、水平部材には均一な剪断荷重がかかっている。
(ここで言う水平部材は、地面に対しての水平であり、上記の図のとおりです。)

以上から「剪断」とはただ切るのではなく、ハサミで切るように、すれちがう二つの方向の力によって切ることだとわかる。


また、デジタル大辞泉の「剪断」の二番目の定義。
2 物体内部のある面に沿って両側部分を互いにずれさせるような作用。

もう一つ、岩石学事典の解説
体積変化を伴わない歪の一種で,物体内の平面が一様な角度だけ傾くような変形

そして、元々のWikipediaの説明
「物体内部の任意の面に関して面に平行方向に力を作用させた状態を指す。」

以上のことからすると、
1)この力が作用している状態
2)この作用そのもの

を「剪断」と呼んでいることがわかる。

ようするに必ずしも切るのではなく「切るという行為に含まれる物理的特性(力とその作用)を剪断と呼んでいる」のである。

CGでは、せん断(Shear)は切るという行為よりも、(その力による変形=せん断変形)のほうがお馴染みである。
Shearはその変形の度合いや、Shearが発生する力に関係する値を示すアトリビュートである。
せん断というと「切る」というイメージがつきまとうが「切る」行為に関連する力のかかり具合とそれと同じ力のかかり方も「せん断」 という言葉に含めていることがわかる。




「剪断」はハサミを使わなくてもおきる現象である。
その例のいくつかを下にあげておく。

鉄板などをつなぎとめるボルトにかかる作用(参照元:CRANE-CLUB)




パンチなどによる穴開け加工など(参照元:野口製作所



プレスによる切断など(参照元:Metal Otaku




-------------
さて次の言葉は「応力」である。
(続く)

2010年10月19日火曜日

本「スタジオプロジェクトDynamics」への補足 (その15)

プロジェクト:プリニー式噴火(パート1)
Pg73ステップ1

ヘクトメートル:ヘクトメートル(記号hm)は、国際単位系の長さの単位で、100メートル。漢字では「粨」と表記する。あまり日常的に使用されない。(Wikipediaより


-------------
Pg74 ステップ1
クリッピングを防ぐために・・・
発生した煙がコンテナの壁に接触するとそこで煙はカットされます。
これをクリッピングと呼んでいます。
(「クリッピング」はフルイドに限らず広く使われる用語です。参照:デジタル用語辞典「クリッピング」

フルイドコンテナはその内部のフルイドしか表示できませんからコンテナを超えるサイズのフルイドはクリッピングされてしまいます。
ようするに煙が充分に広がれる程度の大きさのコンテナにする必要があるということです。



-------------
Pg74 ステップ1
翻訳:「煙の柱は成層圏まで上昇する必要があります。
原文:「The column of smoke needs to rise into the stratosphere.」

ここで「into」という言葉が使われているので、上昇して成層圏の中へ入っていき(さらに上昇する)というイメージがあります。
まで」は、日本語としては正しいのですがイメージ的にそこで止まるようなイメージがあります。

さて、この煙は成層圏へと入っているのかそれとも手前で終わるのかという点ですが、pg73に目安となる説明があります。

火山の高さ1,200m(このシーンでの設定)
煙の高さ2,900m(このシーンでの設定)
現実の煙の高さ42,000m


火山モデルの高さはユニットで言うと11.5、
フルイドコンテナの設定をしたときに、Yのサイズは30になっています。
これをY軸上で23ユニット移動しています。

フルイドコンテナの中心がピボットポイントですので、フルイドコンテナの底辺は
上昇分の23ユニットから、Yサイズの半分を引いた位置になっているはずです。
23-(30÷15)=8

フルイドの底辺はY軸8ユニットの位置で、そこから高さ30のフルイドコンテナが伸びています。
よってフルイドの天井部は38ユニットの高さになります。

1ユニット100mで換算するとこれは3,800mということになります。
煙は火山の頂点から発するので、このフルイドコンテナでは煙は1,150mから3,800mまでの間を上昇することができます。

では成層圏とはどのぐらいの高さかというと(参照:Wikipedia「成層圏」)
11-50kmです。メートルに換算すると11,000m~50,000mということになります。
これは飛行機に乗って雲の上に出て、雲が存在しない高さです。


本の説明によると現実の煙の高さを42,000mと書いてありましたので、現実の煙は成層圏に達しているようです。
そうするとこのMayaプロジェクトのフルイドは成層圏には達していないことがわかります。
ここでは、「煙の柱は成層圏へと上昇しているように見せる必要がある」と言いたいだけです。
決してこのプロジェクトで作られる煙が「成層圏に達するべきである」という意味ではありません。


-------------
翻訳:「これで流体はコンテナの上部に達すると離れるようになりました。
意訳:「The fluid can now leave the container when it reaches the top」.

訳に間違いはありませんが、わかりにくい説明です。
これを読むとコンテナの外に出たフルイド(煙)がそのまま存在しているようなイメージを持ってしまいます。

これはここまでの説明ともかぶりますが、以下のようなことを説明しようとしています。

フルイドコンテナ内の煙が上昇するとデフォルトではコンテナ天井部分に当たって煙が跳ね返されます。
それでは「煙が上昇し続けるように見えない。」=「成層圏へと上昇しているように見えない」ので煙が天井で跳ね返らないようにこのステップで「境界線」の設定をしているのです。

境界線の設定で跳ね返るか、そのままコンテナの外へ流す(ように見せる)かの違いだけです。
当然ながら、コンテナの制限があるので上昇する煙は高さ3800m(コンテナの天井部)のところでクリッピングされてちょん切れたようにみえます。

「フルイド」といっていますがMayaのCGのフルイドではなく流体(フルイド)としての煙の振る舞いが実際にはどういう振る舞いをするべきかと言うことを視点として書いているのかも知れません。

これで流体はコンテナ上部に達してもそのまま上昇を続けるように見えるようになりました。
とでも訳した方がわかりやすいかも知れません。



-------------
Pg76 ステップ5
翻訳:配置するだけで、値を大きくするとシミュレーション速度が上がり、値を小さくすると速度が下がります。
原文:「Simply put, increasing the value causes the simulation to speed up, and decreasing it slows it down.

原文にある「put」は、「後にのべる状態にする」ことを示しているのであえて訳さなくても良いと思います。
意訳すると「シミュレーションの速度を上げるために値を増加したり、遅くするために値を小さくします。」となると思います。
これはシミュレーションの計算速度の事ではなく、移動速度のことと思われます。
(未確認)

2010年10月9日土曜日

夢の実現と「感銘」のもつ力

<前置き>
以下は、自分の思いつきやこれまで考えをまとめたもので、思いついたときに書き足したメモをまとめたものです。
理論的に間違っていたり、話がまとまりきっていないのは、私の力不足です。

これが絶対正しいと主張するつもりはありません。
これを書いた目的は、現時点の自分の考え方を、あとで見直すためです。

自分の間違いを正し、嫌いな物を好きになろうという努力をすることは必要だと思っています。
なので自分の理論が間違っていたとしたらそれを受け入れようと思います。
嫌いな物や人は嫌いと言いますが、それに固執するつもりもありませんので、それらを理解すると好きだと言い始めるかも知れません。

人は自分の考えや好みが変わることはあると思いますし、自然なことと思っています。
そして現時点での自分の考えや好みを、表に出すことは誰かを不快にするのではない限り、悪いことではないと思っています。

自分の考えや好みが変わったときに、過去の自分の考えや好みを見直すことで、自分の思考の傾向を理解する助けになり、自分の進化や周りに対する理解を深めてくれると思っています。
それが、メモとして残す理由です。


-------------
<感銘と夢の実現>
「感銘」:忘れられないほど深く心に感じること。(明鏡国語辞典)
「夢」:将来実現させたいと思っている願い。(明鏡国語辞典)


人は自分が感銘をうけたものを、やりたい、所有したい、身につけたいなどと強く思う。
特に幼児期に感銘を受けた体験は、その人間の一生の基盤となっていく。 
感銘を受けた物はこころに残り、その人の言動の方向を決めていく一つの要素でもある。

誰もが自分の子供には、幸せになってもらいたいと期待し、いろいろなことを学ばせようとする。
それは勉強に限らず人生のこと、音楽、運動など全般にわたる。

うちはこの方法で子供に音楽を学ばせた。

これをうまく導くには、子供に感銘を与えるようなものを見たり触ったりして経験させるのが一丸良いと思う。
うまく利用すれば親が望むものに興味を持たせる事も可。
一種のすり込みなのかもしれないが、無理矢理やらせるよりは自発的で害が少ないと思う。
ここでの焦点は「放任主義」とか「親の身勝手」とかそういう教育論の話ではない。

「感銘」というものがいかに人を動かす原動力となるか?という話である。
「感銘」のすばらしい点は「自発的に自分自身を動かす原動力になる」ということである。
誰かがやれと後押ししたり強制する必要もない、自らがどんどんとそれを吸収するのに夢中になっていく。
少々の障害は乗り越えようとするやる気につながる。
「感銘」はその人の人生を動かす原動力であり、莫大な力を持っている。
多くの「なりたいもの」、「やりたいこと」といった将来への夢は、この「感銘」を受けた事柄からなる。
まさにその人の人生を左右する力を持っている。



幸か不幸か、親や先生が用意したものすべてから感銘を受ける訳ではない。
こちらの思惑が、はずれることは多々ある。

感銘とは与えようとして与えられる物ではないとも言える。
ある人があることに真剣に打ち込むその姿もしくは、それにより生み出された物事によって人は感銘をうける。
ノーベル平和賞を受賞するような人は、自らの行動を持ってして結果を生み出し、その両方によって他の人に感銘を与える。
まちがっても「感銘」を与えるためにそうしている訳ではない。
「感銘」を与えようとしていることを感じた時点で、そこから感銘をうけることは無くなってしまう。
そのため、子供に感銘を与えようとするときは、自分の行動で与えることができないことは他者任せにする。


もう一つ重要な点は、ある程度時間がたつと、その力が薄れていくことがあるということ。
そしてもっと強い感銘を受ける事柄があると、そちらへ注意は遷移していく。

子供の時の夢を、すべてのひとが実現しているわけではないことは、それが原因だろう。
それは悪いことを意味しているとは限らない。
もっと有意義なことに夢を見いだして変わっていったのかも知れない。

夢を実現した人は、この感銘を受けた事柄が自分の心の中で色あせないように、意識するしないにかかわらず何かしてきたのだろうと思う。
もしかしたら何もしないでも、それが心の中に力を失わないで残り続けている人も居るのかもしれないが、そういう人は少ないのではないかと思う。


何か実現したい夢があるなら「感銘」を受けたことをたえず、刺激する環境に身を置くのがひとつの方法かも知れない。
行動力のある人なら、自然とそうしているだろう。
行動力のない人なら、意識的にそうする必要があるかもしれない。


CGアーティストになりたいなら、その目でみて、触れて、会話をすることである。
最初の「感銘」に関連する、大小様々な新たな「感銘」を体験し、自分の心の中に蓄積していくことだと思う。
それによって元となった「感銘の力」に、さらにエネルギーを与え続けることができるのだと思う。

それは何でも良い。
力を与えるなら小さいことでも大きな事でも良い。
とにかく継続し、行動することが大切なのだ。

最初は、その業界にメールを出すことでも、講演会に顔をだすこと。
会社説明会に参加したり、見学をするのもよいかもしれない。



-------------
「能力」:物事を成し遂げることのできる力 (明鏡国語辞典)


幼児と生活を共にしていると、その感銘を受けた瞬間の周りの環境や自分の感情を事細かに、記憶していることがわかるときがある。
非常に事細かなニュアンスまで、正確にとらえている。
言語の習得においては、音声の発生だけでなく文法的な単語の並べ方まで正確に捉えている。
特に感銘を受けた物に関しては、すばらしい集中力でもってそれを成し遂げている。
一瞬にしてその場の体験を感覚や感情を含めて自身のなかに複製をもってしまう。
それは真似とかコピーという言葉ではおいつかないほど、すばやく、正確で細部に至る。
時間は必要ない、一瞬でそれがなされてしまう。

考えるより早いというか、これが思考の基盤となるメカニズムなのかはわからないがとにかく一瞬でおきてしまう。
そしてこれは、(おそらく)どんな子供にも備わっている。

とにかく良い悪いは関係ない、自身が感銘を受けた物を克明に細部に至るまで時間経過も含めて瞬時に心の中に吸収してしまうのだ。
何か物事が起きたときに、子供の内部でそんなことが起きているとは気がつかないことが多い。

後で子供の中に蓄積されている事柄が表に出てくることで驚かされる。

そのときの出来事が心の中に再現されている。
そして後になって、その心の中の出来事を再度見て、模倣していたりする。
重要なのは、そのときの感動もそこに植え付けられており、それが現時点でも同じように体験できるということだと思う。

幼児の言語における表現力は劣るため、表にはその一部しか現れない。
本人も説明できないので、そのようなことが内部で起きているのは周りからは認識しがたい。
しかし、注意深く観察していれば、思いがけないときに心に蓄積された物が表出し、その詳細さに驚かされることがある。

これは時間を経るにしたがい通常は徐々にデティールが失われていくが、長い間そのクオリティーを維持する子供もいる。
通常それは記憶力がよいという形で現れる。



さてこの能力は子供だけの物かというとそうではない。
大人になっても感動した時などは同じ事が起きていると思う。
意識することはないかも知れないし、感動することは子供の時より減っているかも知れないが、「感銘」を心の中に留める機能は同じく、備わっており機能する。

上記のことから、「感銘」したことを心の中に留めるという能力は誰もがもっており、大人も子供も持っている能力であると言える。

その能力がある以上、いつでもそのパワーを利用できるということでもある。
最初に触れたように、夢を実現するにはそのパワーを有効利用すると非常に助けとなる。
いつでもやる気を引き出すことができ、自分の人生を好転させることが出来る。

そう考えると、どんな夢でも実現するための基本的な能力はすでに備わっていると言えるかも知れない。
「自分には才能がない」というのは良いわけに過ぎない。能力のない人間など居ない。
・・・といえば極論になるか?
でも自分はそう思っている。

そしてこの能力を生かし切るには努力が必要となる。
その努力の一つが先ほど述べた、「感銘」を受け続け、最初に受けた「感銘」のパワーを活性化し続けることである。
夢を達成するにはもう一つ必要だ。
夢の状態を達成したときに行っているであろう行為を、少しづつでも実行すると言うことである。

「感銘」のパワーをいくら活性化し続けても、それは永遠と続く滑走路を走り続けているような物である。
1mmでも良いから浮かび上がり続ける努力をしなくてはいけない。
そうしないと、夢を妨げられたのと同じく、夢は達成出来ないように感じ、結果的に夢を失う。
その努力の基準は簡単だ。
夢の状態を達成したとしたら、そのとき自分がしているであろう行為(仕事)を、いま少しでも身につけ実行するということだ。
それを絶え間なく続け、ほんの少しで良いから前日よりも多くのことができるようにこころがける。
これは「感銘」のもつパワーと一緒になるととても強力になると思う。


「好きこそ物の上手なれ」という言葉はまさにその通りだと思う。
「感銘」とそれと相乗効果をもつ「夢へ近づく努力」。
程度の差こそあれ、好きであれば知らずとその二つを実行している。

-------------
おまけ