Archimeshを使う

やることが多すぎると何を中心に学んでいくか迷ってしまう、そんな1か月でした

お久しぶりです

 

Blender2.78から標準搭載されている便利なアドオン、Archimeshを使う際のメモです

・preferenceのアドオンからArchimeshを検索してチェックを入れる

・メッシュを追加するのところにArchimeshの項目が増えている

・好きなものを選んで追加する

 

と大まかな手順はこれでいいんですがうまく表示されない!なんか棒だけの表示になってる!という人がいればウィンドウ上部(cameraとかmodelingとか)の+からlayoutを追加してlayoutタブで見れば表示されているはず

デフォルトの状態だと基本modelingになっていると思うので見落としやすいかもしれません

UE4ぷちコンゲームジャムお疲れさまでした

UE4ぷちコンゲームジャムお疲れさまでした。ということで自分が担当した部分についてのメモです。

 

担当した箇所

・タイトル、ゲームオーバー画面の一部

・クリア画面

 

ボタンと昨日の紐づけ(ボタンを押したらタイトルに戻る、ゲームを終了する等)の方法は割愛。基本的にタイトル、ゲームオーバー、クリアはそれぞれレベルを作って遷移させている(レベルにはビューポートを表示させるブループリントを作っておく)。

 

ウィジェットブループリントのアニメーションについて

・左のウィンドウから新規にアニメーションを作成した後、変化させたいテキストなりボタンなりをクリックした状態でタイムラインのトラックから追加する

・アニメーションが完成したらグラフ画面(ブループリント画面)を開いて[play animation]に作ったアニメーションを繋ぐ

f:id:hurohuki1123:20190902140121j:plain

play animation

・イベント constructにつなぐのを間違えないように

 

またイベントがあったら参加してみたいですね(足手まといにならなければですが)

 

 

 

 

 

 

マテリアルレシピ2

kurosawaさんのマテリアルレシピについてのメモ、続きです

 

step6 雨に濡れた地面の反射

・絶対ワールド位置(Absolute World Position)をつかったUVTiling、すごい(語彙力)

・別オブジェクトにもおなじマテリアルを適用した場合タイリングが繋がってみえる

・Lerpを使うときはalphaの値を調整していない限りsaturateを繋げておいた方が安心

 

step7 水底の模様

・ゆがめるのに使うTX_PerlinNoiseは09のファイルに入っている

・調節したいパラメータが出てきた時にどこに加えるか、何を加えるかを考えられるようになろう

 

step8 ノーマルマップの調整(凸凹やしわを深く)

・接続コードをダブルクリックで〇を出せる

 

step9 苔

・texture sampleとtexture objectの違いについて

WorldAlignedTextureは接続がT2dになっているのでtexture objectしか接続できない

https://answers.unrealengine.com/questions/531251/view.html

・今回使用しているtexture objectは09ファイルのTX_PerlinNoise、これを右クリックでtexture objectに変換する

・苔の方だけでなく岩の方にもノーマルマップを接続(岩の方の元のノーマルは削除)

 

step10 燃え広がり

・「fmodは余りを求める式なのでtimeと組み合わせると~」という話なんですが、timeの最小単位が0.1秒ではなく1秒だった場合余りが出ないことになるんですよね(1秒、2秒、3秒と増えていく場合1÷1=1、2÷1=2、3÷1=3となるため)また最小単位が0.1秒である場合の処理もしっかりと理解しておく必要がありますね(0.1÷1=0余り0.1…1.1÷1=1余り0.1…2.1÷1=2余り0.1…等)

 

マテリアルデザイン入門よりもより実践的な内容でおもしろかったです

入門終わってからやるとちょうどいいかも?

マテリアルレシピ1

腸炎で死んでました_(:3 」∠)_

今回はkurosawaさん(kurosaurus.booth.pm)のマテリアルレシピについての自分用メモです

 

step1 各項目調節機能の追加

・HueShiftにパラメータを接続する場合、上のピンを接続する部分で右クリック、[パラメータへ昇格]だと便利(HueShiftに限らずパラメータを接続するときはこれが便利)

・Roughnessの強度値をLerpで調節する。上がMin、下がMax(Roughnessの範囲を調節する場合はLerpのA,Bにテクスチャ、alphaにパラメータを接続することになる)

 

step2 光の点滅

・赤のvector3paramをベースカラーに接続すると光ってないときの色が赤になる

 

step3 草

・maskを使う場合は注意

・やはり草にはgrasswind

・めっちゃ強風吹いてるみたいになってるから調整してみよう(AdditionalWPOを調整すると草の向きも調整できる)

 

step4 テクスチャのブレンド

・VertexColorのRGBの割り当ては実際の頂点カラーには影響しない?(繋ぐのがRでもBでもGでも同じ?プレビュー画面での割り当てが異なるだけ?)

・メッシュを別ソフトで作って頂点カラーも設定していた場合スタティックメッシュの設定からReplaceにしておく(例がないのでわかりにくいかもしれないが外部からメッシュを持ってくることが多いのでこれはかなり重要)

・マテリアルファンクション=マテリアル関数

・マテリアル関数の呼び出し方はドラッグ&ドロップ

 

step5  輪郭

・ゲーム内でアイテムを見つけたとき輪郭が光るようにするとかで使われている表現

・対象に対しカメラが向いたとき、そのカメラの向きと法線が直角になる場所を光らせる

・ifじゃない方の順序

カメラと対象の法線との内積を求める→その値から0.25を引く(輪郭の幅を決める、もし引き算をしなかった場合本当に淵の部分しか表示されないため)→値に50をかける(グラデーションにならないように)→値を1から引く(反転)→0以下を0に1以上を1に

・接続はエミッシブカラーのところに

18日目

これはマテリアル研究だ…誰が何と言おうとマテリアル研究なんだ…

続きです

 

M_Caramic_Tile_Checker(チェック模様のセラミックタイル)

・Blend in solid roughness at a distance

距離に応じてラフネスをブレンドするノード群。Alphaには先日書いたLarge(以下略)が繋がっている。例にもれず変化はなかなか肉眼では確認しにくい。とはいえランドスケープに適用できるマテリアルと違ってこういうシェードに適用するマテリアルには逐一こういうノード群を入れておくものなのかもしれない。

f:id:hurohuki1123:20190820013636j:plain

Blend in solid roughness at a distance

 

M_CobbleStone_Rough(敷石粗め)

とりあえず全体図(一部)を見てもらいましょう

f:id:hurohuki1123:20190820015255j:plain

M_CobbleStone_Rough

ほえーすっごい、全体図なのに全体図じゃない

並列のように書かれているけど当然並列ではなく上から段階的にブレンドされている。よりリアルな質感を出すためにこんなに何回もブレンドが行われていたとは…リアリティへの追究はすごいですね…。

f:id:hurohuki1123:20190820020035j:plain

マテリアル自体の見本

この段階的になってるノード群を見てみる

f:id:hurohuki1123:20190820020253j:plain

ノード群

この矢印が付いている部分が各ノード群で値が異なっているノード、このことからこのノード群は敷石の凸凹を細かく表現していくためのものだと考えられる(正確にはbumpoffsetのheightにつながっている値も異なっている)。

・feature level switch

これだけの複雑なブレンド処理を行うには当然それなりのスペックのデバイスが必要になる。そのためスペックが低いデバイスにも対応できる処理を用意しておく必要も出てくるかもしれない。そんな時にコアの性能によって処理を変化させるノード、feature level switchが使われる。

f:id:hurohuki1123:20190820023316j:plain

defaultでは先ほどの処理に繋がっているが下の二つは左のテクスチャにのみ繋がっている

 

今回は以上です

 

17日目 マテリアル研究…?

マテリアルデザイン入門を終えたわけですが本当に力が付いたかいまいち自信がないのでUE4に最初から入ってる「StarterContent」の中にあるマテリアルをばらしていじりながらいろいろやってみたいと思います。簡単なものは省いています。(間違ってるところあるかもしれない)

 

その前に

メインマテリアルノードのアンビエントオクルージョンについて

シーン内の環境光(ambient)がどの程度さえぎられている(occlusion)かを計算するレンダリング方法のこと。シーン内の1点から半球方向に対する光の遮蔽(しゃへい)状況を計算し、リアルな影を生成する。比較的少ない計算量で、柔らかな陰影を表現できる。特に明るい色のモデルの陰影を表現するのに有効である。(CGWorld Entry.jpより)

 

M_Brick_Clay_New(白い?レンガの壁)

・Macro Texture Variation

左のMultiplyの空いているBにscalarparameterを入れることでマテリアルインスタンスでTextureのTilingをいじれるようになる(Bにつなぐparameterは一つでいいと思う)

f:id:hurohuki1123:20190817194022j:plain

Macro Texture Variation

f:id:hurohuki1123:20190817202123j:plain

scalarparameter繋いだ

・レンガ自体のタイリングをいじりたい

BumpOffsetは奥行きを感じさせる視差マッピングを行うときに使うノード。

f:id:hurohuki1123:20190817202410j:plain

パラメータ追加前

f:id:hurohuki1123:20190817202533j:plain

パラメータ追加後


M_Brick_Clay_Old(古い感じのレンガの壁~艶はある~)

・Reduce Macro Contrast

先ほどのMacro Texture Variationを調整するためのノードグループ。パラメータ化するならLerpに定数ノードを接続する。

f:id:hurohuki1123:20190817210544j:plain

Reduce Macro Contrast

f:id:hurohuki1123:20190817210758j:plain

3値すべてをバラバラに調整するならVectorParameterを接続する

f:id:hurohuki1123:20190817210955j:plain

3値を同時に調整するならScalarPrameterを接続する

・Large Scale Tiling & Modulate Pixel Depth with Noise &Create a Gradient far away from the camera

(長い)最初から順に書いていくとLarge Scale Tilingで次のグループで使うテクスチャのスケールを設定(largeって書いてある通りテクスチャを大きめにするよう設定)、Modulate Pixel Depth with Noiseで値を出す。Create a Gradient far away from the camera でさっき求めた値とカメラの深度を加えて計算してclampで0~1の値に変換。

f:id:hurohuki1123:20190817222053j:plain

Large Scale Tiling & Modulate Pixel Depth with Noise &Create a Gradient far away from the camera

これに関して質問してる方がいたので載せておきますhttps://answers.unrealengine.com/questions/679464/create-a-gradient-far-away-from-the-camera-in-mate.html?sort=oldest

簡単に言うと「これ意味あるん?なくても普通に見えるんやけど」「うーん距離取った時にノイズを減らすためちゃう?」って感じです。実際なくてもあんまり変わらない…。

・Alpha of Base Color Defines Roughness

このノードグループ自体の構造はそこまで難しくないがこのLerpのalphaはbasecolor texture と上記に書いたmacro texture variationと繋がっておりマテリアルの全体のラフネスを一気に変化させる重要なノードグループとなっている。  

f:id:hurohuki1123:20190817223226j:plain

Alpha of Base Color Defines Roughness

f:id:hurohuki1123:20190817223300j:plain

関係性

 

今回は以上です。スクショばっかりであんまり何も書けてない気もする…

16日目

Blender 3Dモデリングマスター(わかりにくいところとかBlender2.8になって変わった仕様の部分とかを書いてます)

 

section2-8 蝶

・最初の立方体オブジェクトは消さなくていいです(本では何故か1度消してまた作っている)

・頂点の追加は2.8ではctrl+右クリック

・オブジェクトモードでオブジェクトを追加すると別オブジェクトして追加できる

・オブジェクト分割はpキー

(モディファイアーのミラーがオブジェクトがない状態でできなかったため取りあえず最初の立方体を邪魔にならないよう小さくして置き、羽を作った後立方体だけオブジェクトを分割、削除した)

 

section2-9 ペットボトル

・下絵の読み込みはビュー→画像ではなくその横にある追加→画像→背景

・トランスフォームは右パネルの上から7つ目にある。原点がずれてる場合はしっかり合わせておく

・面の押し出しはそのまま凹ませると段差がかなりシャープになってしまう。そこでsキーを押しながら引っ込めてオペレーターパネルで深さを調節するといいかもしれない(調節はどっちでもいい)

・クリースの調節はどこかわからない

 

section2-10 文字

・テキストの編集(押し出し、深度の設定など)はオブジェクトモードで(オブジェクトモードでないとテキストがアクティブにできない)

・追加したカーブのすべてのポイントを選択した状態でビューポートの上部にあるセグメント→反転をすると文字をカーブの内側に表示することができる