LogoMark.png

Computer のバックアップの現在との差分(No.2)


#author("2023-05-10T12:33:32+09:00;2022-09-13T11:24:15+09:00","default:inoue.ko","inoue.ko")
*第14回 物理シミュレーション
[[3DCG演習/2023]]|''2023.08.31 -''
#author("2023-10-10T12:51:26+09:00;2022-09-13T11:24:15+09:00","default:inoue.ko","inoue.ko")
*Computer
電子計算機の概要
~

***解説動画
//#youtube(ALK2fCloaww)
//-録画済み動画です。再生して視聴してください。
//-以下名簿が表示されます。''既読確認(出欠確認)''をお願いします。
&fontawesome(far fa-hand-point-right); __[[既読確認>]]__
~
**コンピュータの種類
-デスクトップPC
机上で使用するパソコンのこと。ディスプレイ、本体、キーボードなどの各機器が独立しており、本体内のパーツの交換や増設ができ、自作も可能であるなど、拡張性に優れています。

***CONTENTS
#contents2_1
-ノートPC
ディスプレイ、キーボード、タッチパッドなど、必要な機能が一体化しており、折りたたむと B5~A4ファイルほどのサイズになります。バッテリーを内蔵しているため、場所を選ばす自由に使えるメリットがあります。

~
~
-タブレット端末
画面がタッチパネルになっていて、文字入力も含めてタッチパネルを利用するタイプのもの。ノートPCとスマホとパソコンの中間的存在ですが、パソコンを親機とすれば、スマホと同様に子機の位置付け。例えば iPadが採用しているiPadOSは iOS から分岐したもので基本スマホと同じ。ローカルストレージをベースとした MacOS とは距離があります。現状では、タブレットというものは大きなスマホというイメージです。

**物理シミュレーション
Blender では、引力・斥力・磁力・風力といった場の設定や、液体やガスの流れなど、様々な物理現象をシミュレーションすることができます。これらのパラメータは、一般に PropertyEditor の Physics タブを使って設定します。
~
-スマートフォン
パーソナルコンピュータなみの機能をもたせた携帯電話やPHSの総称。今日、インターネット利用の大半が「スマホから」となっていることからもわかるとおり、日常におけるデジタルデバイスの主軸は、PCからスマホへと移行しています。例えば、iPhone用のOS iOS は、かつては PC用の MacOS X を基盤としたものでしたが、現在では、開発順序が「モバイルファースト」へと逆転し、スマホ用のアプリが、PCでも使えるように・・という流れになっています。

***物体の落下と衝突
物体の落下や衝突のシミュレーションには、Rigid Body(剛体)を使います。
-サーバコンピュータ
ネットワーク上で、他のコンピュータ(クライアント)に様々な機能やサービスを提供するコンピューターのこと。大きく特別なもの・・というイメージがありますが、普通のパソコンでもサーバーとして機能させることができます。ただ、基本的に24時間休まず動く・・ということが求められるので、ハードディスクを複数同期させて、不具合が起きても継続運用できるようにするなどの工夫をしたものが一般的です。

-1) 基本設定
--落下する立方体(剛体)の設定
---立方体をシーンの上の方へ移動させます。
角から落ちるように、適当に回転させておくとよいでしょう。
---立方体を選択した状態で以下のようにします。
 PropertyEditor > Physics タブ > Ridged Body > Type:Active
&small(Active:剛体として物理的な環境(重力)の影響を受けます。);
--床(剛体)の設定
---立方体よりも下に、平面または平板を床として表示。
---床をを選択した状態で以下のようにします。
 PropertyEditor > Physics タブ > Ridged Body > Type:Passive
&small(Passive:物理的な環境(重力)の影響を受けず、その場に固定されます。);
--アニメーションさせてみてください [SPACE]
立方体が落下して、床に当たって止まる状況がシミュレーションされます
--同様に複数の物体を配置して Ridged Body に設定すると、物体間の衝突がシミュレーションできます。
-メインフレーム
大企業や官公庁などの基幹情報システムなどに用いられる大型コンピュータで、多数の利用者や業務で共有すべく、高い性能や信頼性が求められます。そこで動く業務システムは顧客の事業や業務に合わせてゼロから開発されることが多く、ハードのメーカーがソフト開発まで請け負う場合や、開発受託企業(システムインテグレータ)が開発を請け負う場合があります。

-各種設定
--Bounciness:跳ね返り係数
---この値を大きくすると衝突時の跳ね返りが大きくなります。
---衝突する両方の物体とも値を持つ必要があります。例えば、上記の例では、落ちる立方体と床の両方の係数が大きくないといけません。
--Collisions > Shape:衝突判定の形状
---デフォルトは Convex Hull(凸包)で、形状の凸部分でラップした形を衝突面として利用します(ざっくりしたシミュレーションになります)。
---形状の凹凸に忠実に判定するには、Mesh にして下さい。
--Friction:摩擦
---表面の滑りにくさを設定することができます。
-__[[量子コンピュータ>Wikipedia:量子コンピュータ]]__
「量子重ね合わせ」という現象(0と1の重ね合わせ状態)を用いて従来の電子回路では不可能な超並列処理を行うコンピュータ。汎用ソフトの動きが超高速になる・・というものではなく、限定的な用途に応じた存在ですが、創薬、材料開発、人工知能、金融などの分野に破壊的インパクトを与えることが想定されています。
~
~

***風になびく旗
旗やシーツのような布状のものの振る舞いをシミュレーションするにはCloth(布)を利用します。
**コンピュータの構成
#image(https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/ABasicComputer.svg/1024px-ABasicComputer.svg.png,right,35%)
***五大装置
-入力装置(Input Device)
-出力装置(Output Device)
-*記憶装置(Storage Unit)
-演算装置(ALU : Arithmetic and Logic Unit)
-制御装置(Control Unit)
-参考:__[[Wikipedia:マザーボード]]__
&scale(75){画像出典:https://commons.wikimedia.org/wiki/File:ABasicComputer.svg};
~

-1) 旗が固定されるポールをつくります。
--円柱を細長くして立てます。
***入力装置(Input Device)
-キーボード
-ポインティングデバイス(マウス、タッチパネル、トラックボール・・)
-音声入力
-カード読み取り
~

-2) 旗をつくります。
--オブジェクトモードで平面を追加して縦横比を旗のそれにして下さい。
--これを移動してポールの上の方に隣接させて下さい。
--旗の平面をエディットモードで細分化します。
 Header > Edge > Subdivide > Subdivide パネルで細分化
--布のように見せる前提なので、スムーズシェーディングを設定します。
 オブジェクトモードで、右クリック > Shade Smooth
***出力装置(Output Device)
-ディスプレイ
-プリンタ・プロッタ
-音声出力
~

-3) 旗の端を固定するための準備をします。
--ポールに接する部分(旗の端)を頂点グループに設定します。
 エディットモードで、旗の端を Box 選択
 PropertyEditor > ObjectData Property > Vertex Groups パネル > [+]
 Weight 1.0 の状態で [Assign] をクリック
 グループの名称は適当につけてください。
--ちなみに設定できたかどうかは、Weight Paint モードにするとわかります。
設定された部分が赤く表示されるはずです。

-4) 旗に Cloth の設定を行います。
--旗のオブジェクトを選択して、Cloth - Cotton を適用します。
 PropertyEditor > Physics タブ > Cloth > Type:Cotton
--旗の端が動かないようピン留めします。
 PropertyEditor > Physics タブ > Cloth > Shape > Pin Groupで
 旗の端に設定した頂点グループ名を指定

-5) アニメーションさせてみてください [SPACE]
旗が重力にしたがってぶら下がる様子が確認できると思います。

-6) 最後にシーンに「風」を設定します。
--シーンに風の ForceField を追加します。
 Header > Add > ForceField > Wind
 旗のポール側から風があたるように位置を調整します。
--デフォルトでは風が弱いので、強くします。
 PropertyEditor > Physics タブ > ForceFields で
 Settings > Strength > 2000 ぐらいまで上げてみて下さい。

-7) アニメーションさせてみてください [SPACE]
旗が風になびく様子が確認できると思います。

***記憶装置(Storage Unit)
-キャッシュメモリ(SRAM:Static Random Access Memory)
-主記憶(DRAM:Dynamic Random Access Memory)
-読み出し専用メモリ:ROM(Read Only Memory)
-補助記憶
--ハードディスク・SSD・SD/SDHC/SDXC
--CD-R/RW・DVD-R/RW・・
~


***流体のシミュレーション
流体(液体やガス)のシミュレーションには Fluid を利用します。この機能を利用するには、シミューレーション領域としての ''Domain'' と 液体またはガス流体としての ''Flow'' の2つを設定する必要があります。

-1) Domain の設定
この作業の初動では、Domain の中が見えるように、3D Viewport の表示は、ワイヤーフレームにして下さい。
--直方体をシーンに追加して、以下のように Domain にします。
 PropertyEditor > Physics > Fluid > Type:Domain
注)他の形状のメッシュもドメイン オブジェクトとして使用できますが、流体シミュレータは形状のバウンディング ボックスをドメイン境界として使用します。つまり、ドメインの実際の形状は直方体のままです。
--この時、直方体の下に見える小さな立方体は、ボクセルのサイズを可視化したものです。ボクセルサイズは以下の設定で変更可能です。
 PropertyEditor > Physics > Fluid > Settings > Resolution Divisions:値
--Domain のタイプを Liquid / Gas から選択します。
 PropertyEditor > Physics > Fluid > Settings > Domain Type:Liquid
--重力は、デフォルトで -9.8m/sSUP{2}; が設定されています。
--''Liquid を選択した場合は、Liquidパネル内の Mesh にチェックが必要''
これをしないと、レンダリングしても何も表示されません。
--Bake(書き出し保存)に関する設定は Cashパネルで行います。
---キャッシュファイルの場所を設定をします。
キャッシュファイルは、デフォルトでは tmpフォルダに作成されます
放置するとゴミが溜まるので、場所は明示的に決めましょう。
---Frame Start と End  でシミュレーションの時間範囲を決めます。
---Type 
・''Replay:プレビュー時に自動でシミュレーションとベイクを行う''
・Modular:要素ごとにベイクします
・All:すべてをベイクします( Bake All ボタンが出現します)

-2)  Flow の設定
--任意のメッシュをシーンに追加して、以下のように Flow にします。
 PropertyEditor > Physics > Fluid > Type:Flow
--Flow Type を Liquid / Smoke / Fire などから選択します。
 PropertyEditor > Physics > Fluid > Settings > Flow Type:Liquid
--Flow Behavior(フローの挙動)を選択します。 
---Inflow:蛇口から水が出るように継続的に液体が流出。
---Geometry:オブジェクトの形を初期状態とした液体の流出。
--Initial Velocity にチェックを入れると、上や横に吹き出すシミュレーションが可能になります。X, Y ,Z の値が各向きの初速度になります。

-3) Effector の設定
流体が衝突する障害物(流れが制限される形状)を設定します。
--任意のメッシュをシーンに追加して、以下のように Effector にします。
 PropertyEditor > Physics > Fluid > Type:Effector

-4) シミュレーション
--Domainオブジェクトを選択して、Physics タブ、Fluid > Cash で
Type:Replay を明示的に選択してください。
> Flowオブジェクトが時点で、Flow として振る舞います。
--アニメーションさせて確認してください( [ SPACE ] )
流体の動きが確認できると思います。

''付記:Quick Effect  について''
最新の Blender では、このシミュレーションが、Quick Effect で簡単に設定できるようになりました。例えば、シーンに球体を配置して、以下のようにすると、ドメインが自動生成されて、シミュレーションの基本的な準備が整います。
 Header > Object > Quick Effects > Quick  Liquid

***入出力インターフェイス
-USB
-HDMI
-Bluetooth
-IrDA (Infrared Data Association)
-NFC (Near Field Communication)
~
~

**課題3 Another World 
シンプルなオブジェクトのトランスフォーム、パスアニメーション、階層アニメーション、キャラクターアクション、物理シミュレーションなど、形式は自由です。実写とは異なる 3DCGならではの表現可能性を模索してください。
-参考 : [[YouTube: 3DCG Animation]]
**プロセッサの種類

~
-CPU(Central Processing Unit)
演算装置と制御装置を統合したもの
//現在は IC チップに集積された MPU(Micro-Processing Unit)を用いる。

-GPU(Graphics Processing Unit)
動画再生や 3DCG のレンダリングなど画像処理専用のユニット

***提出仕様
-画面サイズ:自由(最小 640px幅)
-時間:10秒以上(10 s  x  30 fps  =  300 frame)
&small(透明・反射を含んで Cycles でレンダリングすると相当な時間がかかります。);
-音声:自由(基本的に無音でも構いません)
-ファイル形式:YouTube にアップできる形式であれば自由
-提出場所:[[学科サイト 各個人の当該授業ページ>https://design.kyusan-u.ac.jp/socialdesign/?3DCG%E6%BC%94%E7%BF%92]]
--見出しの「Animation」を「作品タイトル」に変更するとともに、制作のコンセプトを簡潔に記載して下さい。
--無音の場合は、掲載動画の直下に「この作品には音声はありません」などと、無音であることを注記してください。
-提出締切:9月30日(課題1、2の最終提出も同日最終締)
~
-GPGPU (General-Purpose computing on Graphics Processing Units)
 GPUの機能を画像処理以外の用途に転用したもの

-DSP (Digital Signal Processor)
デジタル信号処理に特化した機能を持つもの

***表現について
-CGならではの「動き」の表現を検討してください。
-映像作品としての魅力を引き出すカメラワークを検討してください。
-形状変形や物理シミュレーションの活用は必須ではありません。
-FPU((Floating-Point Unit)
浮動小数点数の計算に特化した演算装置

~
~
~
~
~