Raspberlyのブログ

Raspberlyのブログ

Unityネタをメインとした技術系ブログです。にゃんこ大戦争や日常なども。そろそろブログタイトル決めたい

勉強会レポ : Unity Designer's Cafe #2

勉強会のレポート(メモ)です。
参加したのはこちら、「Unity Designer's Cafe #2」

unity-designers-cafe.connpass.com

ハッシュタグ#UniDesCafe 

 

f:id:Raspberly:20190529002827j:plain

 

前回 #1はこちら

raspberly.hateblo.jp

 

 

 

 

タイムスケジュール

  内容 担当
19:00 受付開始 -
19:30 イントロダクション 青木とと@lycoris102
19:40 プログラマに相談したらデザイナーの仕事が楽になった話 @LandyNagata さん
19:50 シェーダーによる炎と水の作り方紹介 @GaryuTown さん
20:00 プログラマーとデザイナーの効率化/設計の話 @dsgarage さん
20:10 休憩 -
20:20 背景を作る際のUnityの便利機能 @hatalakk2さん
20:30 お手軽!? PSD Importerで2D IK Animation @TIFONSTUDIO さん
20:40 UIデザイナーさんもShader Graphを使ってみよう @ivoryfunc さん
20:55 バッファ -
21:05 クロージング -
21:10 懇親会 -
22:00 片付け -

 

 

イントロダクション

これはどういうイベントなのか
Unity Designer's CafeはUnityをさわっているorこれからさわりたいデザイナーさん向けの勉強会です。
気軽に触れる空間作りを目指しています。
デザイナーといってもいろいろあるので、あまり関心がない話題もあるかもしれませんがきっかけやとっかかりにしていただければ。

 

スポンサー様

ワンダープラネット(山本さん)

楽しいねをミッションとしています。
WANTEDLYをフォローしてください。

www.wantedly.com


講演内容はUnity Learning Materialsに乗ります。

 

 

 

 

 

 


#1 プログラマに相談したらデザイナーの仕事が楽になった話

docs.google.com

お刺身たんぽぽ

お刺身たんぽぽをご存知ですか?
つまらない単調な作業のことを指しますが、
この「お刺身たんぽぽ」からデザイナーを救った「プログラマが作った機能」を5つ紹介します

5位. ImportSettingの自動設定

サムネイルとか、毎回何十個も設定するわけですがこれを自動設定する機能

4位 ディザ加工

Unityでそのままやるとグラデーションのところが美しくない
ここをうまい具合にやってもらう機能

3位 スプライトを指定すると、使ってるプレハブをリストアップする機能

ローカライズの際に活躍する神ツール

2位 オブジェクト透過キャプチャー機能

バナー素材などに使いました。
今まではスクショして、フォトショで修正したりしていたが非常に手間だった
バナーを作る工数がぐっと縮まりました

1位 アセットバンドルとマスターが絡むオブジェクトのビューアー

アセットバンドルのデータとマスターにあるデータを組み合わせたオブジェクトのビューアー
今までは非常に手間だった

 

 

こうしてデザイナーはお刺身タンポポから解放された

 

 

 

デザイナーさんは、「この作業お刺身タンポポでは?」と疑うことから始めましょう
エンジニアから見ると自動化できることもあります

 

 

 

 

 

 

#2 シェーダーによる炎と水の作り方紹介

docs.google.com

今回はShader Forgeで作成しています

炎シェーダー

フォトショップでよく使われる雲模様とパラメータで作られます

炎の概要

1炎は下から上にいく

UVスクロールで動きを作る

2下の方が丸い

マスクで簡単できるが、UVマップのUV値と指定座標でグラデーションを作る
そこからコンストラクとを調整する

3上に行くほどちぎれる

上の炎を隠すマスクを作る

 

1~3を調整して火を作ります
ここにカラーをつけるだけ

水シェーダー

シェーダーでモデルをクリッピングするシェーダー

波の動きを作る

・sin関数に時間を使う
・コンストラクトをつけてはっきりさせる

外部からの動きで波を揺らすのはシェーダーだけだと困難
ここはスクリプトでやりました

 

 

 

 

 

#3 プログラマーとデザイナーの効率化/設計の話

今回はUIに特化したお話になります

デザインの制限

UIデザイナーと作業することの課題はいろいろある
デザインの再現性、ブラッシュアップのコストダウン、ドメイン層との疎結合・・・

一番なのは、フォトショで作成したものをUnityにもってきて、そのまま差し替えなどを行うのが理想

Psd 2Unity uGUI Pro

PSDファイルをUnityに持っていくアセット
すんごい便利
詳しくはQittaを見てください

qiita.com

 

ブラッシュアップ

PSD上でやりましょう
ただしメタ情報が変わってしまうので画像ファイルだけ更新しましょう
アニメーションやエフェクトなどは別

MV(R)P

設計方式
ViewControllerを設置することで更新が必要なUIなど設計が楽になります

ViewAdapter

最近のトレンド
これを入れることでドメイン層と疎結合化できます
なきゃなくていい

 



 

 

 

#4 背景を作る際のUnityの便利機能

スライドと動画を用意しましたのでこちらをどうぞ

1.ウィンドウのロック

鍵のマークでロックしておきましょう

2. Tabから目的のWindowを増やす

マテリアルとテクスチャーを同時に表示するなど

3. Find Refarence is Scene

シーンの中から使っているか使っていないかチェックできる

4. プロファイラー

メモリを見て、テクスチャの展開時などをチェックしています

 

ここから動画タイム

 

Houdiniについて

パラメータをいじるだけで背景をいじることができます

 

 

 

 

 

 

#5 お手軽!? PSD Importerで2D IK Animation

2D IK Animation

簡単にいうとIKの2D版
UnityBlogさんやテラシュールブログさんを見てください

tsubakit1.hateblo.jp

使う際の注意点

実際はPSBファイルを使います(PSDのでっかい版)
レイヤー単位でプレハブ生成してくれる便利な機能がありますが、
名前が被らないようにしましょう、同じものがあるとパーツが吹っ飛んだりします。
PSDは名前順に出力されるので、名前の先頭に数字をつけるのをおすすめします。

設定方法

アニメーションにしろ、タイムラインにしろIKしてくれます。
ボーンと他オブジェクト(エフェクトなど)は簡単に連動できます。
マテリアルの方も自由に変えることができます。


便利シェーダーの紹介

・Sprite Glow

github.com

 

他コガネブログさんの方で多く紹介しています

baba-s.hatenablog.com

おすすめ有料アセット

・Shader Weaver

www.asset-sale.net


・Shadero Sprite

www.asset-sale.net

両方とも2Dに特化したシェーダー作成ツールです。

まとめ

かなりお手軽に2D IKができます
ぜひ試してください

 

 

 

 

 

 


#6 UIデザイナーさんもShader Graphを使ってみよう

電光掲示板のような流れるシェーダーをパッと作る再現をしていきます。

工程

別の作り方でも以下の工程のようになると思われます。
・文字をつくる
・モザイクをかけて2階調化
・アニメーションをさせて
・マスクをかぶせる

これをシェーダーを使わないのであれば
フォトショップで文字やモザイクをかけ、
アニメーションはスクリプトで設定、マスク用のグラフィックをかぶせる。
といった手段を作ります。

シェーダーの場合
文字の用意以外はShader Graphでできます


ここからデモ
動画が公開されたらそちらを見てください

 

 

Shader Graphで手軽に作れるので、ぜひみなさんも触ってみてください。

 

 

 

 

懇親会

f:id:Raspberly:20190529002927j:plain

前回はサンドイッチでしたが、今回は可愛らしいピザ。
BGMもカフェっぽい曲でした。

 

 

タイムライン

 

 

 

感想

デザイナーさん向けの勉強会の特徴としてデザイナーの参加者が多いです(当たり前)
勉強会でメモを取ってる方はエンジニア向けデザイナー向け問わずいらっしゃいますが、
デザイナーの方はタブレットにペンでメモしている方がちらほらいらっしゃいました。
絵で視覚的に内容をメモできるのは結構よさそう。

 

#5 お手軽!? PSD Importerで2D IK Animationで紹介されていたSprite Glowですが、類似した「MK Glow Free」というアセットの紹介記事を過去に投稿しているので気になる方はどうぞ。

raspberly.hateblo.jp

 

ちなみにですが、インスペクターのロックの件。
Unity始めたての方が意図せずにロックしてしまい、戻し方がわからないという事態がありますので注意しましょう。

 

 

他の方の感想ブログ

ryu-rand.hatenablog.com

 

 

 間違っている箇所、消してほしいツイートがありましたらコメントにお願いします。

イベントレポ : サポーターズ新オフィスお披露目パーティー

今日はサポーターズさんの新オフィスお披露目パーティーに参加させていただきました。
今回はそのプチレポです。

supporterzcolab.com

f:id:Raspberly:20190525001536j:plain

f:id:Raspberly:20190525001538j:plain

 

サポーターズさんは有志によるエンジニア向け勉強会をほぼ毎日開催しており、
本ブログでもたびたびレポを残しています。

raspberly.hateblo.jp

raspberly.hateblo.jp

raspberly.hateblo.jp

これまでの渋谷スクエアA11階から渋谷ソラスタ15階にお引越しになりました。
そのため5月は勉強会がほとんどなかったようですが、6月から増えていくようです。

 

 

お酒は飲まないので詳しくはありませんがすごいお酒らしい。

f:id:Raspberly:20190525001550j:plain



 

パーティは以下のようなエリア構成になっていまして、私はゲーム系のエリアにいました。 

f:id:Raspberly:20190525001949j:plain

 ゲーム系という括りですがUnity系、Cocos-2d系、DXライブラリで開発されている学生さんなど多くの方と交流できました。

 

 

 

素敵なパーティでしたが本日届いたOculusQuestをすぐに触りたかったため21時頃には離脱しました。

ありがとうございました。

f:id:Raspberly:20190525001619j:plain

 

勉強会レポ : Gotanda.unity #12に登壇しました

Gotanda.unity #12に登壇してきました。
今回はそのまとめです。

meetup.unity3d.jp

ハッシュタグ : #gotandaunity

 

f:id:Raspberly:20190523000225j:plain

 

 

 

 

 

スポンサー様

会場提供

DeNA

イベントの運営をしています。よろしくおねがいします。

 

懇親会提供

キッズスター

もんりぃさん
キッズスター学習帳を作りました。よろしくおねがいします。

booth.pm

【冊子】キッズスター学習帳 - キッズスター技術書典部 - BOOTH

 

 

ワンダープラネット

です

興味ある方もない方も。Wantedlyをフォローお願いします。

www.wantedly.com

 

 

 

 

 

 

登壇資料

ほんとはメモを取りたかったのですが、#9でLT登壇した時と同様かなり緊張していたのでスライドだけ共有します。

Talk #1 会場/DeNA枠 @Trapezoid : Deep-Dive into Scriptable Build Pipeline

 

 

LT #1 @RyotaMurohoshi : モンスターリストの中から一番レベルが高いやつ、どうやって見つける?

 


LT #2 @Nhiroshi4(初) : 非プログラマー人事が『Unity』を勉強すると、絶望的な現実を見て、エンジニアを尊敬の眼差しで見るようになる件について (仮)

 

 

LT #3 @mumimumi2000(初) : モチ上ガールができるまで(個人ゲーム開発概論)


 

 

LT #4 @Raspberly : アセットストア 完全に理解した

 

 

LT #5 @chokoGtr(初) : Loom Unity SDKでUnity×ブロックチェーンゲームを作ってみた

 

 

LT #6 @taptappun : Unityでアニメーション(動画)製作

 

 

 

 

 

 

 

告知タイム

Back in 1995

明日発売です!

 

 

【しなもく会特別版】Quest開発もくもく会

synamon.connpass.com

 

 

モノノケ浪漫育成記

 

 

テンピーポーテンカラー

有料ですがジュース2本分我慢していただければ・・・

play.google.com

テンピーポーテンカラー

テンピーポーテンカラー

  • Ikuma Takeo
  • ゲーム
  • ¥240

 

 

GameDeveloper's Meeting

フォローよろしくおねがいします。

gamedevelopersmeeting.peatix.com

 

 

 

Gotanda.unity #13

次回は7月ですが、まだ会場などは決まっておりません。

 

 

 

 

 

 

 

 

感想

実は今回かなり不安でした。
というのもLTテーマが「アセットストア」ということで、ググれば多くの情報がでてくる状態でした。
なので、「わざわざごたゆにでLTするほどの内容でもないじゃん」といった反応をもらわないよう、
今流行りのネタや新旧アセットストアについて、そして知る人ぞ知る積み(罪)アセットについてなど
アセットストア本来の使い方とは少し外れた内容を多めにしました。

これは結果的にウケがよかったです。

 

反省点として、ペース配分を大きく間違えた点があります。
事前練習を何回かやったのですが、大体8分を少しすぎるぐらいでした。
なので本番では序盤からガンガン飛ばしたんですが・・・飛ばしすぎた。

Google Slideでは手元で時間を表示する機能がありますが、
スライドでいうと「積みアセット問題」辺りで尺余りを確信しました。
そこでこの辺りから喋る速度を調整し、引き延ばしを図りました。
なのでここより前か後かで喋るスピードがぜんぜん違う・・・



 

 

所持アセット数の確認

懇親会で「みなさんの所持アセットはどのくらいですか?」と聞いても、
「わからん・・・」「数えたことない」という方がかなりいらっしゃいました。

 

まずはアセットストアを開いて、ページ右上のマイアセットを選択します。

f:id:Raspberly:20190523001814p:plain

マイアセットとは購入済みのアセットが一覧表示されるリストです。
ここに総アセット数が表示されます。ちなみに新アセットストアのみの機能です。
旧アセットストアでは表示されません。
f:id:Raspberly:20190523001938p:plain

 

Unity Hub 2.0 ガイドブック

 

本日5/14にUnityHubが2.0にメジャーアップデートされました。
今回はアップデートの内容と変更点について取り上げます。

f:id:Raspberly:20190514225627p:plain

 

 

 

 

2.0のダウンロードページ

Hub 2.0.0 for Windows
Hub 2.0.0 for MacOS
Hub 2.0.0 for Linux 

すでに旧バージョンのUnityHubをお持ちの方は、そちらを起動すると誘導リンクが表示されます。

 


UnityHubについてはこちら

qiita.com

 

 

 

 

 

Unityフォーラムからの引用

https://forum.unity.com/threads/unity-hub-v2-0-0-release.677485/

Hub v2.0の新機能

  • より良いユーザーエクスペリエンスを提供することを可能にする新製品のUI / UXアーキテクチャ

    • [プロジェクトの並べ替えと検索]や[エクスプローラ/ファインダで表示]などの[プロジェクト]タブの新機能
    • インストール:どのコンポーネントがインストールされているかの視覚化を改善し、エクスプローラー/ファインダーに表示
    • レスポンシブUI - メインデスクトップウィンドウのサイズを変更する
  • ネイティブUnityエディタのライセンス管理:Hubの設定からライセンス管理への直接アクセス

  • 日本語、中国語、韓国語の各国語化のサポート


Hub 1.6.2以降の修正点

  • Hub bug reporterに含まれるエディタログ
  • 特定のWindows 10マシンでライセンス認証エラーがマシンIDを取得する
  • OSのユーザー名に特殊文字を含むユーザーは、ライセンスをアクティブにすることができます。
  • これ以上頻繁なネットワークチェックはありません。ネットワーク接続によるいかなる行動もブロックせず、エラー/警告のみを表示します。


以下の機能はHub 1.6.2から削除または廃止されました。

  • プロジェクトの作成UIでは、Analyticsサービスの切り替えはUIから削除されており、デフォルトで無効になっています。

  • プロジェクトの作成で、アセットパッケージの追加ポップアップが削除されました。この機能は、Hub v1.xと同等に再インクルードするかどうかにかかわらず、再評価されています。

  • 優先Unity Editorは推奨されておらず、Editorのバージョンが見つからない場合は、利用可能な最新のバージョンを使用します。

 

 

 

新機能

プロジェクトの並べ替え

プロジェクト名、Unityのバージョン、ビルドターゲット、最終更新のカテゴリごとにソートする機能です。
従来のUnityHubでは最終更新のみで固定されていましたが、2.0から任意のカテゴリで並べ替えることができます。

f:id:Raspberly:20190514214926g:plain

最終更新とありますが、厳密にはプロジェクトを開いただけで更新された扱いとなります。
昇順降順はカテゴリ名横の矢印で確認できますが、これを入れ替えることはできなさそう。

 

 

 

 

どのコンポーネントがインストールされているかの視覚化を改善し、エクスプローラー/ファインダーに表示

リスト表示からグリッド表示になりました。

f:id:Raspberly:20190514221414p:plain

 

注目すべきはここ。
インストールされているコンポーネントがアイコンで表示されわかりやすくなりました。
(Android Build SupportやWebGL Build Supportなど)

f:id:Raspberly:20190514221750p:plain

 

 

 

 

レスポンシブUI - メインデスクトップウィンドウのサイズを変更する

ウィンドウのサイズ変更機能。実は今までできなかった。

f:id:Raspberly:20190514220749g:plain

 

 

 

 

ネイティブUnityエディタのライセンス管理:Hubの設定からライセンス管理への直接アクセス

今まで別途ブラウザを起動して確認していたライセンス情報がUnityHubから直接管理できるようになりました。

f:id:Raspberly:20190514223317p:plain

 

 

 

日本語、中国語、韓国語の各国語化のサポート

今までは一部のみ日本語で表示されていましたが、2.0から日本語に完全対応しました。

 

 

 

プロジェクト作成時のテンプレートの表示

プロジェクト作成時にテンプレートを選びますが、見やすくなりました。
各テンプレートの説明と含まれるパッケージも表示されます。

f:id:Raspberly:20190514222616g:plain

 

 

 

 

削除、廃止された機能

Analyticsサービスの切り替え

UIから消えただけでなくデフォルトで無効状態になりました。

f:id:Raspberly:20190514224624p:plain



 

アセットパッケージの追加ポップアップ

プロジェクト作成時に、ついでにUnityPackageをインポートする機能ですが無くなりました。

f:id:Raspberly:20190514224645p:plain



 

インストール画面での正式版、ベータ版の表示分け

~1.6.2まではOfficial Releases(正式版)とBeta Releases(ベータ版)で分けられていました。

f:id:Raspberly:20190514224907p:plain

 

しかし、2.0から全てまとめて表示されるようになりました。
一見わかりづらいですが、バージョンにbがついているものがベータ版です。

f:id:Raspberly:20190514221411p:plain

 

 

 

 

 

 

 

 

 タイムライン

 

 

 

 

 

間違っているところがありましたらコメントにお願いします。

勉強会レポ : ちょっと凝ったサウンド演出の実装解説ーADX2の場合ー

勉強会のレポート(メモ)です。
参加したのはこちら、「ちょっと凝ったサウンド演出の実装解説ーADX2の場合ー」

毎度お馴染みTECHxGAME COLLEGEさんです。

techxgamecollege.connpass.com

ハッシュタグ: #techxgamecollege

 

f:id:Raspberly:20190509010639j:plain

 

操作手順やスクリーンショットはスライド内に掲載されています。
スライドは会場にて配られましたが、後日公開されるとのことです。

この勉強会レポでは要点だけをまとめています。
情報量が多いので、詳しい内容はスライドで確認ください。
公開され次第こちらでも紹介いたします。

 

 

 

 

初めに

ADX2でできることの紹介をしていきます。
そういう機能があったんだなと思っていただけたらなと思います。

スライドの資料やキーワードを後から見直してください。




CRIWARE for Games

ADX2の事例などの記事が確認できるサイトです。

game.criware.jp

 

 

 

1. ステージセレクトや楽曲選択で、音楽の一部をループ再生

わかりやすく言うと音ゲーの曲選択でサビの部分だけ流すなど。

ハイライトループ再生(独自命名)で対応します。
曲のおいしいとこだけ聞かせる。

キューリンク

キューに別のキューを張り付ける機能です
サウンドの担当者がデータ側で全て調整できる
ただしこれはキューを2つ作る必要がある

 

そこでもうひとつやり方があります。
キュー設定で再生モードをプレイリストにする。
これは音楽プレーヤーのプレイリストと同じで、リストの中のものだけを再生するモードです。
今回は1個だけ登録しているのでループ再生されます。

 

 

 

 

2. 武器と地面の組み合わせで薬莢の落下音を変える

こちらもキューリンクで対応できます。データ側で組み合わせを判断させる。
プログラムで全部判定しないようにするやり方。
ただしプログラマーに余裕があるならそっちでやるのもあり。

データの構造

キューの階層構造になっています。
セレクタを使わずにプログラマーに呼びだしてもらうこともできます。

 

 

 

 

 

3.ポーズ画面中だけゲーム音楽を変化させる

プログラマはポーズオンオフだけ呼び出せば変わるようにしたい。

普通はキューに対してAISACを使うことが多いが、今回はカテゴリにAISACをつける
途中でステージが変わった時などにどの音にフィルタをかけるのかを指定するのが大変。
なのでミュージックカテゴリ全体を指定します。

注意点

ポーズオフをせずに画面遷移するとフィルタがかかったままになるので必ずポーズオフを呼ぶようにしましょう。

 

 

 

 


4. 倍速モードのバトル映像に音を合わせる

スマホゲームがでてから倍速プレイが一般化しました。
再生レートAISACで映像の演出に合わせて音の速度も倍速にすることができます。
これは音を変えずにタイミングだけを遅くしたり早くする機能もあります。

 


ADXは3つほど時刻を取得する関数があります

GetTime、GetNumPlayedSamples、GetTimeSyncedWithAudio。
2つ目の場合、ピッチシフトをかけるだけで音が同期します。
3つ目は音ゲー向け。

 

 

 

 

 

5. 音楽+効果音の中、勝利神グルを目立たせる

大量のBGMやSEがなっている中、特定の音だけを目立たせる。
これはすごくシンプルにできます。
ダッキング用にカテゴリをもう一つ作成します。

REACT

あるカテゴリがなったら別にカテゴリに影響を与えること。
これを使うことで実現できます。
一個のキューに複数のカテゴリをくっつけることもできます。

デフォルトだと4種類までカテゴリをくっつけることができます。
それ以上つけたい場合、設定を変えると16個までくっつけることができます、

REACT用シーケンスマーカー

BGMの余韻の時点でダッキングを解除することができます

 

 

 

 

 

 

6. 自分に当たりそうな銃撃の音だけ強調する

ADXには距離減衰という機能があります。
それ以外にも角度AISACというものがあります。

音源角度角度

音源とリスナーの角度のよって音を変えることができる。(音源から見た場合)

リスナー基準角度

リスナーから見て音源がどの方向にあるのか

「リアルな計算してもしょうがない、この場面ではこういう音に注目してほしい」
というときに使います。

 

 

 

 

 

7. 雫の音のランダマイズを極める

ランダムAISAC

スライダーの位置をランダムにする。
ピッチの段階を絞るといった使い方も。

プログラマから見ると、再生一個呼ぶだけでランダムにすることができます。

 

 

 

 

 

 

過去のTECHxGAME COLLEGE

過去に一條さんによるADXとUnityのオーディオに関する勉強会もありましたので、
合わせてどうぞ。

raspberly.hateblo.jp

 

 

 

 

raspberly.hateblo.jp

 

raspberly.hateblo.jp

勉強会レポ : Unity道場 4月〜アーティストの為のPBR再入門〜

勉強会のレポート(メモ)です。
参加したのはこちら、「Unity道場 4月〜アーティストの為のPBR再入門〜」
会場はユニティ・テクノロジーズ・ジャパンさんです。

meetup.unity3d.jp

ハッシュタグ : #Unity道場

 

 

f:id:Raspberly:20190427003906j:plain

 

 

動画はこちら

www.youtube.com

 

www.youtube.com

 

 

 

 

 

 

 

 

 

 

今回講師は二人ともUTJ入りたての者です。

1. アーティストの為のPBR再入門

www.slideshare.net

おすすめしたいのはアーティストの方

背景やキャラなどのアセットをお作りの方。
いままでモバイルをやってきていてハイエンドもやりたい方。
そんな方にLRWPがおすすめ。

 

LWRPをおすすめする理由

・軽量である
・ハイエンドで使われているものをモバイルなどでも動くようブレイクダウンされているためモダンなテクニックを使える
・理解しやすい仕組みになっています
・2019.1でプレビューが外れた

そのためハイエンド開発の再入門に最適です

 

Photo Realistic CG

CGはサーフェイス、ライティング、カメラ・ポストプロセシングで作られます。
今回は、この中でもサーフェイスの部分についてお話します。

物理ベースのシェーダーなどについてどういう風に作っていくかについて話します。
物理ベースの利点は「定量的で非俗人的な設定ができる」、「挙動の整合性」があること。
しかし現在のゲーム開発では、定量的、非俗人的な設定は活かされていない。
シンプルに見た目がよくなるので、そこからお話します


スペキュラーのおさらい

鏡面反射のこと。光源からの色をそのまま返します。
光源、表面、視線の向きによって変化する。

大きな特徴として、見る側に形状の変化を認知させることができる。

物理ベースのマテリアルの場合、スペキュラーを殺さないことが大事。
せっかくきれいなテクスチャを使ってもスペキュラーがないとランバートに近くなってしまう。

物理ベースと物理ベースでないものを使うと、金属である部分とない部分といった違いを強調できます。

 

物理ベースの要素

フレネル反射
・金属特有の反射
・表面の円滑さで表現が変化する
これは現実世界でも起こりえる表現。


フレネル反射

アートの世界でも起こる反射です。
斜めになるほどスペキュラーの精度が増え、奥に行くほど反射が増える。

まとめ

動的に大きな輝度変化がおこる。
物理ベースマテリアルの基本的な挙動なので使うだけでOK。

 

 

金属特有の反射

金属光沢はほぼスペキュラー。
ほぼ全てスペキュラーで返されるのでフレネル反射はあまり起こらない。
特定の金属はスペキュラーに色がつく。

非金属とは異なるスペキュラーの見え方が起こります。

金属の値

Metallicについて、これは非金属との化合物であることや金属塗料を使っているような表現にできる。

中間値に明確な指標はない。

 


表面の円滑さ

スムースネス(Smoothness)について

スペキュラーは厳密はマスク。
スムースネスは表面の粗さを起こす、その粗さで光を拡散させるという動きを再現します。

スムースネスをどう設定するのか

これは本来的にはジオメトリ由来、ノーマルマップとは同じジャンルに入ります。

これも値に明確な指標がない。

 

Ambient Occlusion

しかしリアルな表現を重視するならディティールを重視し、あまり使わないほうがいい。
立体感はでるが現実感を損なう恐れがある。

入り組んだところに局所的に使うのがよい。


まとめ

設定ルールに関しては指標がほとんどない。
それでもなんとかできるのが物理ベースのいいところ。

 

 

 

 

AssetStoreのAssetをPBR(LWRP)に対応させる実例の紹介

詳しくは動画を見てください。
簡単なまとめだけメモ。

 

まずはIDマップの作製

カラーテクスチャを使い、テクスチャに質感を直接塗っていく。
4、5パターンくらいざっくりと。

Substance Painterへの読み込み

Unityで日頃使っているノーマルマップを使うと上下逆転することがある

マテリアルの割り当て

IDマップをもっているので、どこにどのマテリアルをもつかはすぐにわかる

マテリアルの反映

アルベド、スムースネスは0,1を使わない
・メタリックは0,1が基本 ただし1はそれほどよくない0.9とかのほうがいい
・金属は表面が腐食しやすい、なので少し下げたくらいがリアリティがでる
・スムースネス、メタリックはパラメータはリニアではなく曲線的に変化させます

キャラクターデザイン的なコツとして

・表面積が大きいところには中間的なもの
・小さいところにはスムースネス、メタリックが高いものを使うと全体的にまとまりがでやすい

Unityにインポート

アルベドは乗算されるので値を1にします。
ここまでで1時間弱くらいでできます
この後の作業としてディティールアップ・ウェザリングなどがあります。

 

お土産

Substance Painter2018LWRPの出力プリセットを作りました。
Substance PainterでUnity LWRP用の出力プリセットを作ってみた - Qiita

 

まとめ

・PBRマテリアルは使うだけで一定の効果があります
・設定もシンプル
・PBRマテリアルの設定は共通を抑えているのでHDRPでも活かせることができる。
・既存のアセットから始めるといいかも

 

 

 

 

 

 

 

 

 

 


#2. Unity Connected Gamesってなに?

www.slideshare.net

今回の話、ネットワークやそれにかかわる仕組みについて話します。


Unityではネットワークゲームを4つのカテゴリにわけています。
おおまかにいって、規模が大きくなるほど複雑になりリスクも上がっていきます。

ネットワークゲームに関して民主化をしていきたいが、どう提供していくか、そこで考えたのがConnected Gamesというサービスです。

 


2017年UNETを停止しました。
これはクライアントに依存した設計になっていました。

そこで専用のサーバを使ったこともできるようにしました。
オンラインゲームにおいてこれが今の主流になっています、なのでUnityもこれに変更するようにしました。

それにともなってロードマップも変化しました。

 

DOTSをベースにパフォーマンスの底上げを行いました。
FPS Sampleでデモを提供しています。

FPS Sample - マルチプレイヤーシューティングゲームプロジェクト | Unity

ほかにもフリート、サーバのデバッグプロファイリングの支援などを開発予定です。


multiplay

ゲームに特化したサーバーホスティングサービスです。
2017年にUnityの仲間入り。

 

マッチメイキング

対戦にしろ協力にしろ、だれと遊ぶかが大事。
腕の差、地域によるラグの差、プレイスタイルの好みなど、ユーザの求めるようなマッチするようにする。
ここが落ちるとサーバーやクライアントが動いていてもだめになるため、ここは絶対に落ちないようにしたい。


ただしまだ開発途中。
興味のあるかたはGitHubからどうぞ。
アロケーターとマッチのところに関しては今年中にリリースすることができると思います。

GitHub - Unity-Technologies/multiplayer: Unity multiplayer packages and samples


VIVOX

こちらもUnityに新しく仲間入りしたゲームに特化したチャットクラウドサービス。
クラウドベースなので初期投資なし。同時接続数5000ユーザまで無料。
マルチプラットフォーム


まとめ

Unityはリアルタイムオンラインゲーム開発のハードルをもっと下げることを目標としています。
もっと楽しく身近にできるように開発できるように取り組んでいます。
初期投資やリスクも少なく始めることができるので触っていただければと思います。

これらのサービスはUnityのサブスクリプションから外れています。従量課金です。

 

 

 

 

 



 

懇親会

f:id:Raspberly:20190427003821j:plain

f:id:Raspberly:20190427003841j:plain

今回は本業がアーティストの方、デザイナーの方が体感多かったです。

 

 

 

 

 タイムライン

 

 

 

 

 

 

 

 

過去のUnity道場まとめ

raspberly.hateblo.jp

 

raspberly.hateblo.jp

 

raspberly.hateblo.jp

 

 

 

間違っている箇所がありましたらコメントにお願いします。

勉強会レポ : AROW Developer Meetup Vol.2

勉強会のレポート(メモ)です。
参加したのはこちら、「AROW Developer Meetup Vol.2」
会場はドリコムさんです。

arow-3dmap.connpass.com

f:id:Raspberly:20190425001945j:plain



 

 

この勉強会のメインであるAROWについては前回のGotanda.unityでも紹介されました。

raspberly.hateblo.jp

 

 

 

 

 

まずはリリースを祝って乾杯

 

1. 最初の挨拶

DRIP部はARとBlockchainの2つの領域に力を入れています

AROWの紹介

ARアプリ開発プラットフォームです。
4/23にオープンテストバージョンをリリースしました。

現在日本のみにリリースしています。
位置情報とリアル3dマップをつかった新しいAR体験を生み出します。
3Dを構築するのにコストとかかかりますが、AROWによって手軽に低コストに開発できるようになります。

3Dマッピングができます

テクスチャを張ったり、他のAssetに置き換えたりもできます。

POIをゲーム要素として活用できます

コンビニやバス停がどこにあるかといったデータ群、
これをゲームで活用できるようになります。

 

 

 

 

 

 

2. AROWお披露目 導入編

www.slideshare.net

 

サイトに登録してからAROWの開発環境を整えるまでの話

AROWは開発者に次のものを提供します。
・Unity SDK
・マップデータ
・POIデータ

 

Unity SDKについて

SDKをインポートすると、「ArowMain」「ArowSample」「StreamingAssets」が含まれています。

ArowMain

コアの機能、3dモデルの生成機能が含まれています。

ArowSample

サンプルとソースコードが含まれています。
経路探索と歩き回るサンプルが含まれています。

StreamingAssets

サンプルで使うマップデータが含まれています。

 

 

マップデータについて

開発者サイトから地方ごとにダウンロードできます。
現在提供しているマップデータは.arowmapファイルとして入っています。

一部の地域ではなく、日本全国で利用できるアプリを開発するなら広いマップデータが必要になります。(スマホ向け位置情報ゲームなど)

 

そのためアプリにファイル埋め込むのは難しいケースもあることが想定されます。
そこでマップデータをサーバにおいて適宜読み込むようにすることもできます。

AROWではこれを低コストで実現できる機能があります、それがLocalServer機能
マップデータのダウンロードを疑似的に再現することでUnityのみで開発することができます。


 

POIデータについて

コンビニであればその位置と名前、その属性がPOIデータとして使えます。
POIデータはマップデータとして別にダウンロードします。(必ずしも使うわけではないため)


ArowSDKの中にはマップデータを扱うスクリプトも含まれています
詳細は今週末更新予定のSDKに含まれます。

引き続き開発をしていくのでよろしくお願いします。

 

 

 

 

 


3. AROWお披露目 実用編

www.slideshare.net


今回は機能紹介、サンプルやデモの内容について話します。

ゲームで扱う場合はスケールを極端にした方がおもしろいかもしれません。

 

TouchManager.csが各処理の基点です。これらを追っていくと機能が調べやすいかと思います。

実行にはサーバが必要、
建物、道、地形を背生成する機能があります。

 

 

経路探索のデモ

ArowDemoMain.csがAROWの主要機能を利用しているクラスです。
他には、RouteSearch.cs、MoveControl.csを見ていくと処理がわかりやすいとおもいます。

configファイル

スクリプタブルオブジェクトで、マテリアル、描画方式、衝突判定の有無が設定できます。


静的生成

建物などを静的に生成することができます。この時スクリプタブルオブジェクトが生成されます。
さらにプレハブに置換したマップも作ることができます。

 


POIの活用事例

AROWの前身となったSDKを使って開発されたアニマルランランドをソースコードを含めて公開しています。
活用方法などを知ることができます。

GitHub - drecom/AnimalRunLand: 3DリアルマップとPOIデータを活用するプラットフォーム 「AROW」 の前身となった SDK が組み込まれたアプリ 「アニマルランランド」の公開ソースコードです。

 

 

Facebookのコミュニティを確認してみてください
公式フォーラムとドキュメントも確認してみてください。

AROWサポートコミュニティ

 

 

 

 

 

 

懇親会

f:id:Raspberly:20190425001952j:plain

その場で(あるいは前日に)AROWの登録を行うとAROWロゴの入った限定トートバックがもらえました。