2017-01-01から1年間の記事一覧
シーン上でキャストシャドウを行うと基本的にはシャドウマップが作成される。 もし、ジオメトリの影を落とす際、細かなフォルムが必要なければ 事前にテクスチャ画像を作成したものを使用し、シャドウマップを生成させないことでライド使用時の負荷を減らす…
シーンで動かない物体にはライトマップでテクスチャに焼き付けると綺麗な見た目となるが、 キャラクターなど動くもがあった場合、光は反映されない。 Light Probe はシーンの色の変化とすべての方向から受け取る照明の強度を球体で設定し、 有効範囲にある P…
IES Light はテキストデータのファイルを使用し照明のシミュレーションを行い陰や光を与える。 Directional Light とほぼ同じで、Scale のパラメーターがなく、IES ファイルの選択がある。 基本的にはライトからのシャドウマップで表現しているため、アーテ…
太陽光のように一定の方向に光を放つ Directional Light のご紹介。 設置位置に関わらず一定で光の影響を与える。 遮るジオメトリがあった場合に影を与えるキャストシャドウを設定することができる。 以下の画像は、ライトの位置を変更しても、光沢と影が変…
舞台照明で使用されているスポットライトを模した Spot Light のご紹介。 設置位置から円錐状に光の影響を与え、任意で遮るジオメトリがあった場合に影を与えるキャストシャドウが使用できる。 その前にキャストシャドウとは? シャドウマップというライトか…
シーン全体に光を与える Ambient Light のご紹介。 設置位置に関係なく光の影響を与え、ジオメトリの暗部である陰の色を薄めたりできる。 シーン設定 iOS SceneKit のテンプレートでプロジェクト作成。 今回は床が必要ないので、ship.scn を表示するだけ。 S…
豆電球のような Omni Light の設定を見ていく。 Omni Light は設置位置によって光の影響を変化させるが、ジオメトリの影を落とすことはできない。 影は必要ないが光の影響を与えたい場合などで使用するのが良いかと思われる。 シーン設定 ひとまず、iOS Scen…
前回の書き忘れがあったのでライトの種類の前にこちらの紹介。 ライトには種類があったが、Light Probe 以外でいくつかの共通設定があるので、まずはこちらから。 Name コードで使用するための識別用の名前。 Light Probe でも使用可能。 Type ライトの種類…
今回はシーンのライトについて軽くご紹介。 シーン上には必ずライトとなるものが1つ必要となり、 SCNNode で light プロパティに SCNLight を設定するか、 以前、紹介したシーン設定の Light Environment (Image Based Lighting) を設定することで、 ジオメ…
実際のカメラでは速い動きを物体を撮る際、カメラ性能にもよりますが残像が出る場合があり、 それを SceneKit のカメラである SCNCamera でシミュレーション行う。 Scene Editor の パラメーター プロパティは一つのみ。 Motion Blur - Intensity 最大値を …
カメラとなる SCNCamara では画面描画後に簡易的な画像処理を行うことができる。 使用できる処理は以下のもの。 画面の周りを暗くするケラレ処理 ブラウン管のような色のにじみを出すカラーフリンジ 簡易的な色の調整を行うカラーグレーディング さらに複雑…
カメラとなる SCNCamara で被写界深度のシミュレーションを行う。 実際のカメラと同様に距離でオブジェクトにピントを合わせて、 他がボケるさせる効果の設定を行う。 ちなみに、今回紹介するすべてのプロパティが macOS, tvOS, watchOS でも廃止予定で、 iO…
引き続き HDR の説明。 カメラとなる SCNCamara の HDR とは、 トーンマッピング処理を行い、シーン全体の輝度値を、ディスプレイに表示できる狭い範囲の輝度値に変換するすること。 具体的には露出調整、Bloom 効果を表現する。 また、HDR は Scene Editor …
今回は HDR の説明と設定の準備。 HDR (High Dynamic Range) とは ざっくり説明すると、表示される画面は色の情報しか持たないが、 ピクセルごとに色とは別に光の情報を持つもの。 現実の色のより広いレンジを持ち、画像処理の際に多彩な表現を行うことがで…
今回はカメラの基本設定のプロパティについてのご紹介。 カメラを選択して Attributes Inspector(Command + Option + 4)を選択。 パラメーターは以下のもの。 ちなみに、iOS 11 では、Projection のパラメーターが変更されたり、 Unity でなどである機能の…
Blinn と Phong のライティングモデルでは Shininess と Fresnel を設定することができる。 Shininess 光沢の度合い。値を大きくすると光沢が小さくなる。 Shininess のデフォルト値 1 Shininess の値 4 Fresnel シャボン玉のように輪郭部分だけ光の反射が異…
Scene Editor の Material は SCNMaterial となっており、 diffuse、specular などの各ビジュアルプロパティに設定するためのコンテナ SCNMaterialProperty が用意されている。 SCNMaterialProperty 自体が持つプロパティは 度々コードの方で使用している An…
今回は Physically Based プロパティのご紹介。 Physically Based とは? 現実世界のライトの光などを近似させた物理ベースのシェーダーで 2010 年ぐらいから PC ゲームなどで使われ始め、モバイル GPU の進化によりスマートフォンのゲームでも使用される。 …
前回紹介を省略したマテリアルのプロバティについてご紹介。 Physically Based の Metalness、Roughness やテクスチャマッピングに関しては他の記事で紹介する。 以下の説明では Physically Based 以外のものを列挙しているが、 ライティングモデルの Consta…
ジオメトリ選択後に Material Inspector を選択すると(Command + Option + 5)、以下のような表示になる。 長くなるので Lighting Model に影響のある設定(上の画像でいうPropaerties)に関しては別の記事で紹介する。 Materials 現在使用しているマテリア…
SceneKit で言うマテリアルとはジオメトリの質感を決めるための設定だと考えてもらえば良いかと。 これまででも、firstMaterial などで設定していたがもう少し詳しくを紹介していく。 以前に、3DCG にはカメラ、ジオメトリ、ライトが必要だと書いたが、もう…
ビルトインジオメトリの設定値以外で、他の項目に触れていないため、もう少し見てみる。 概要 設定されているもの ジオメトリの情報 モーフアニメーション用の設定 サブディビジョンサーフェイスの設定 ジオメトリのシェアリングの解除 ライト情報のベイク …
コードからジオメトリをつくろうと思う。 ほぼ、自前でジオメトリを描画することはないと思われるので今回はさわりだけ。 テンプレートにあった宇宙船やビルトインのジオメトリ。 これらはオブジェクトファイルの読み込み、Scene Editor からのドラッグ&ドロ…
SCNText はフォントからジオメトリを作成するが、こちらは UIBezierPath で作成するジオメトリ。 設定値は SCNText 同様にイニシャライズや個別でパスと押出し設定を行う。 面取り(chamfer) も SCNText と同様の設定を行うことができる。 Scene Editor で UI…
フォントから作成する 3D テキストのジオメトリ。 NSString もしくは NSAttributedString で使用したいテキストを設定する。 ベースラインではなく、ディセンダ(下の空き)を含めるため、 原点においても文字は左下は原点にこないので注意。 また、文字の奥…
チューブ型のジオメトリ。 Scene Editor でのパラメーター オブジェクトライブラリの Tube を Scene Editor にドラッグ&ドロップして、Attributes Inspector を開く(Command + Option + 4) 1番上の Tube の項目で設定値が変更できる Dimensions Inner rad…
ドーナツ型のジオメトリ。 Scene Editor でのパラメーター オブジェクトライブラリの Torus を Scene Editor にドラッグ&ドロップして、Attributes Inspector を開く(Command + Option + 4) 1番上の Torus の項目で設定値が変更できる Dimensions Ring Ra…
球のジオメトリ。 Scene Editor でのパラメーター オブジェクトライブラリの Sphere か GeoSphere を Scene Editor にドラッグ&ドロップして、Attributes Inspector を開く(Command + Option + 4) 1番上の Sphere の項目で設定値が変更できる Sphere と G…
三角錐のジオメトリ。 Scene Editor でのパラメーター オブジェクトライブラリの Pyramid を Scene Editor にドラッグ&ドロップして、Attributes Inspector を開く(Command + Option + 4) 1番上の Pyramid の項目で設定値が変更できる Size 幅、高さ、奥…
奥行き 0 の縦状態がデフォルトの平面のジオメトリで、角を丸くすることができる。 このビルトインジオメトリは、デフォルトでマテリアルがポリゴンが両面描画される。 裏面が必要ない場合は Material Inspector(Command + Option + 5)> Setting > Double …