開発
シーン全体に光を与える 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 …
円柱のジオメトリ。 Scene Editor でのパラメーター オブジェクトライブラリの Cylinder を Scene Editor にドラッグ&ドロップして、Attributes Inspector を開く(Command + Option + 4) 1番上の Cylinder の項目で設定値が変更できる Dimensions Radius …
円錐のジオメトリ。 Scene Editor でのパラメーター オブジェクトライブラリの Cone を Scene Editor にドラッグ&ドロップして、Attribute Inspector を開く(Command + Option + 4) 1番上の Cone の項目で設定値が変更できる Dimensions Top radius 上底…
円柱の上下に半球をつけたカプセル型のジオメトリ。 Scene Editor でのパラメーター オブジェクトライブラリの Capsule を Scene Editor にドラッグ&ドロップして、Attribute Inspector を開く(Command + Option + 4) 1番上の Capsule の項目で設定値が変…
立方体のジオメトリ。角を丸くすることができる。 Scene Editor でのパラメーター オブジェクトライブラリの Box を Scene Editor にドラッグ&ドロップして、Attributes Inspector を開く(Command + Option + 4) 1番上の Box の項目で設定値が変更できる …
Y軸 0、XZ 軸が無限の大きさを持つ平面。 初期値では原点に配置される。 Scene Editor でのパラメーター オブジェクトライブラリの Floor を Scene Editor にドラッグ&ドロップして、Attributes Inspector を開く(Command + Option + 4) 1番上の Floor の…