たぬきちのふていきぶろぐ

日々のできごと、技術ブログ、セミナーおぼえがきをお届けしていきます

【substance painter】UVの差し替え

①UVを変更したいモデルをFBX形式で出力

substance painterのメインメニューにある「Edit」→「project Configration」を選択→①のFBXを指定

③UVが差し代わるためテクスチャの表示がおかしくなるが、substance painterのデータは非破壊のデータであるため、ベイクし直せばすぐ直せる。
「texture set setting」タブの「bake textures」を実行

【maya2018】turtleを使用してのoccベイク

①準備
メインメニュ「window」
→「設定/プリファレンス」
→「Plugin maneger」から「turtle.mll」のチェックをon
→「レンダリングメニュ」
→「ライティング/シェーディング」
→「Assign New Bake Layer(TURTLE)」

②メインメニューの「レンダリング
→「レンダリング設定」
→使用するレンダラに「TURTLE」をセット
→各種設定
・「Render Type」…「Baking」
「TURTLE」タブ
・「max sample rate」を「2」に指定
「TURTLE」メニュー「Baking」タブ
・「shader outpt」
・「texture bake setting(解像度)」
・「common setting」
などを調整

※オクルージョンのベイク時は、「alpha」と「shadow」はオフにし、「orth ref」と「render sepection」をオンにしておく

※padding設定(UVの延長)
「edge dilation」の数値で指定


③モデルのアトリビュートを確認
アトリビュートタブから「ilr Bake Layer」タブを開く

※もし先にレンダー設定でTURTLEを指定しているのにエラーがでるなら、一度「Assign New Bake Layer(TURTLE)」実行後、その下にある「Assign Exisiting Bake Layer(TURTLE)」から「ilr Bake Layer」を選択で、アトリビュートエディタにも反映される

④「ilr Bake Layer」タブの追加のアトリビュートを開く

※「tb」…テクスチャに関する項目
※「vb」…頂点に関する項目
※「res」…resolusion=解像度のこと

「tb」の項目最下にある「custum」をon
→「 custumshader」 を格子マークから選択
サーフェス」→「ilr Occ sampler」を選択

必須 調整項目
「Render Type」…「texture」
「tb image format」…「tga」
「tb directory」…「テクスチャ排出場所(パス)を指定」

他、調整項目
・「Background color」など

レンダリング
レンダー実行のコマンド、もしくはボタンでレンダリング
→指定したパスにオクルージョンテクスチャが排出される

※レンダー設定で、「Render Type」を「Baking」にしておくことで、UV領域にベイクすることが可能。
「Rendering」だと、メッシュと背景がレンダリングされる。


《注意点》
・割り当てているマテリアルのカラーあたいが設定されていると、色情報までベイクされてしまう(調整してない生のマテリアルであれば大丈夫)
・複数メッシュを選択して一括でベイクをする場合、メッシュの数に応じたテクスチャが排出される
・UVが重なっているとおかしなベイクになるので、重なりはレンダリングUV領域からは外しておく

【3dsmax】ラインのポリゴン化

【円】

①作成メニューから「ライン」を作成し、形状を調整
②「シェル」モディファイアをのせ、数値調整
③集約

【螺旋】
①モディファイヤメニューの中の「レンダリング」から、「ビューポートを有効」をオン
②その中の厚みなどの数値を調整
③モディファイヤを右クリックし、「編集可能ポリゴン」を指定

【GTMF2018】amazon games

所属団体:amazon japan
講演者:吉田、下田

アジェンダ
①ゲームにおけるAWS(アマゾン・ウェブ・サービス)活用動向
amazon game向けソリューション

AWSについては既にGDCで発表済み

【①ゲームにおけるAWS(アマゾン・ウェブ・サービス)活用動向】
・提供サービスは多数あり、モバイル向けサービスも含んでいる
・多機能で、ユーザー要望を取り込んでいるためアップデート回数が多い
・世界最大手の企業の90%以上がオンラインゲームでAWSを利用している

AWSのインフラについて
・18のリージョンを世界展開(中国、南米でも利用が増えており、新規開拓国もある)
・100GBEによる高速ネットワーク回線

Nitro Systemアーキテクチャ
ネットワークとストレージ両方を搭載している

AWS利用の選択肢
①個別を自分で組み合わせて利用
②パッケージ化されたものを利用

ゲームにおけるAWSの利用ケース
①オンラインゲームのバックエンド
(最後のプロセス)
②ゲーム開発
③データ分析

〈①バックエンド構成〉
ゲームサーバーを立てる場合、既に作られているサーバーを活用することが多い
(1)perforce on AWS
AWSでperforceの利用を最大化
(2)Quick sighでKPIダッシュボード
30分単位で課金して利用可能
30分で0.30$


【②Amazonゲーム向けソリューション】
海外のゲーム動向
Vgchartz.comで売り上げ上位のゲームは、全てオンラインマルチプレイのゲーム

ユーザーにとってゲームを使いやすくするには、ユーザー動向をチェック・分析し、ゲームデータを管理することが重要

ゲームコミュニティ
eスポーツなどの影響もあり、近年活性化している(SNS、Twitch、ゲーム実況など)
⇨コミュニティによって、さらにゲームは活性化する(重要!)

AWSの三本柱
①ゲーム動向の分析
②コミュニティ
amazon game life

〈①ゲームに必要なバックエンドサービス〉
ゲーム内通貨、アイテム管理、独自APl、ユーザー認証、ユーザー情報、ステータス管理など

これらはクライアントで組むと無限にチートされる恐れがある

ゲームスパークスでバックエンド運用を簡単に利用
・上記の要素をパッケージ化
・サーバーレスで成立
・サービスセットで短期間でリリース
・ゲームデータ分析をリアルタイムで確認できる
これらすべてをウェブブラウザで見ることができ、開発することができる

さらに、
・24時間365日サポート体制
・サーバー障害情報をウェブ上で公開
・顧客データはAmazon側でバックアップを取っている
・ウェブ管理に加え閲覧規制もかけられることから、外注の担当者も登録可能
・実装前のテストもウェブ上で可能
(サーバー側、クライアント側プログラマの連携が簡単)

②コミュニティ
Twich…ゲーム動画配信で世界一の配信サービス。配信者と受取手のやりとりが密。

Twich extentions
プレイしているゲームの状況(ステート)(アイテム、デッキ、動き、キャラステータスなど)を外部から見ることができる
⇨ユーザーの学習、つながりになる

日本では、Twichのモバイル機能が不十分であるだ、2018年には充実させる予定

Amazon Game Life
バトルロイヤル(今後のトレンド)
マルチプレイ増加→サーバー導入、運用コストの問題
Amazon Game Lifeが活用できる

Amazon Game Lifeでは、
ゲーム状況(人数)に応じ、AWS(サーバー)のインスタンス増減

ユーザー要望
・チート対話
e-sportsでのユーザーの公平性
・課金によるユーザー格差の解消
PSPネットワークだと、ホストが抜けると終了
→クライアントの平等性のため、ホストをユーザーではなくサーバーにする
全世界対応のため24時間活動
⇨これらの問題は、Amazon games lhfeが解決できる


1日の内、サーバーの混む時間では参加できない人もいる
→参加状況に合わせてサーバーの増減(スケーリング)可能

サーバーレンタル
オンデマンド…定額制
スポットインスタンス…空いている時間以外、高い金額を支払ったユーザーが優先されるため、追い出される可能性あり。オンデマンドに比べ、90%コスト削減。
→fleetlQ…latencyの比較、金額の比較を自動でしてくれ、サーバーを振り分けてくれる

PSPはコストがかからないが、
Game Lifeで支払えばユーザーの満足度をあげられる

【GTMF2018】【Unity】Scriptable Render Pipline

講演者:黒河優介
所属団体:Unity Technology Japan

unity新機能紹介

アジェンダ
①デフォルトで備えているunityのレンダリングパイプラインについて
②新機能のパイプラインについて
③事例紹介
※本講演ではフォワードレンダリングについてのみお話しています

【1.デフォルトのパイプライン】
描画、ライト、シャドウの扱いについて
・opaque:手前から奥の順に描画していく手法。
・transparent:奥から手前の順に描画していく手法。半透明や抜きの描画に使用。

この二者では、opaqueの方が、二重にレンダリングされる箇所が少ないため負荷が少ない。

旧パイプラインでもう少し細かく描画を制御したい時は、カメラを複数用意してDepthを制御したり、render sorting layerを使用して制御してきました。
ただ、この手法はUnityのルールを熟知していないと、描画順を指定するのはかなり難しいです。
また、shadowの扱いについて、Unityではこれまでソースを非公開にしてきました。そのため、描画処理自体がブラックボックス化しており、新しく外部から手を入れることが難しかったかと思われます。
そのため、今回ご紹介する新パイプラインが生まれました。

【2.新機能パイプラインについて】
【2-1.「SPR」機能紹介】
scriptable render pipline(SPR)
⇨描画の処理をスクリプトで書くことができるようになりました

以下のものもスクリプトで処理が可能です
・カリング
・オブジェクトのレンダリング
・shadowの処理
・ポストプロセシング
※ポストプロセシングとは、画面に表示する前に、フルスクリーンのフィルターとエフェクトをカメラの画像バッファに適用する処理

■SPR導入方法
1.render pipline asretを継承したクラスを定義
2.graphic settingで設定
3.shaderの書き換え

■SPR導入についての注意
導入により、下記の点に注意が必要となる
・cameraコールバックは呼び出されなくなるため、image effect系の実装をし直す必要がある
・surfes shaderはSPR未対応
もしSPRを使うなら、ライトの計算は自分ですること。加え、shader graphという機能から書き換えること

【2-2.Light Weghit Render Pipline(LWPR)の紹介】

下記のものを設計中
A.モバイル向け軽量レンダリングパイプライン
B.ハイエンド特化型レンダリングパイプライン

なぜ用途に応じたレンダリングパイプラインを設計してるかというと、用途により機能を削ることで、レンダリング性能の最適化を図るためです。

■LWPR導入方法
A.package managerでの取得(オススメ)
B.Git hubからソースを取得(カスタマイズしたい人向け)

いずれも、shaderをLWPR対応のものに置き換える必要があり、一括置換するための方法も後ほどご紹介します

▷LWPR注意点
・post processing stack v2
・shader graph
・Core PR
を消さないでください

▷ shaderの一括置換
shader include path属性
ルートパスを複数指定できるようになるため、相対パス絶対パスの指定が不要になる。
LWPR導入時にパスの指定がかなり複雑になるため、この属性を使うことをオススメします。

▷stripping scriptable variants
2年前にリリースされた機能で、
ユーザー側で使用しないシェーダーの仕組みを除外してビルドする機能。
だが、LWPR2.0には対応してない。

【2-3.新機能SPR Batcher】
デフォルトでは描画をするのに変数を一回一回呼び出していたが、永続的に呼び出す形に変更し、描画にかかるCPU負荷を減らす形にした。
だが、まだ実用レベルではないので将来的に実装予定。

【3.事例】
「0から独自のレンダーパイプラインを作った話」

「手前から奥」の描画と「奥から手前」に描画のレンダリング速度を比較検証。
通常であれば「奥から手前」の方が余分な描画がへるのでスピードが上がるのだが、「手前から奥」でも、Z値を書いておくことで、「奥から手前」の描画ルールを無視でき、破綻しない上にレンダリング速度が速くなった。

【GTMF2018】shotogun活用事例

講演者:わたなべよしゆき

所属団体:オートデスク  株式会社

参考URL:https://goo.gl/cULJaK

 

【shotgun機能】

①コミュニケーションの改善

SNS的タイムライン方式により、即時返信、プロジェクトのやり取りの履歴が見られる

②プロジェクトの進捗管理

スプレッドシート的機能の上位互換

 

ソフトとして評価されており、

1000以上の企業に採用されている

 

 

【shotogunのメリット】

SNSのように履歴がタイムライン形式で残る(図も投稿できるので視覚的にわかりやすい)

・inbox内で個別に個人との連絡が可能

加え、タスクなどと紐付けることで、inboxとタスク両方に同じ投稿を同時に投げられる

・データベース構造のため、オリジナルと複製が存在し、オリジナルを書き換えると複製に即時反映される

複製側は、オリジナルと同じ情報を、違うURLで表示している

・閲覧できるユーザーに制限をかけられる(プロデューサーだけが見られる、デザイナーだけが見られるなど)

・UIカスタムが簡単なため、目的に応じたカスタムが可能

・アセットライブラリのインターフェースとして活用(画像や動画をアップできるため)

・サムネイルの画像は自動でも手動でアップもできる

・ソート機能が充実

文字列検索、条件登録後にフィルタやソートが利用可能

・自社でツールを開発よりも、トータルでみてコストが安い

・担当ごとにページを作れるし、スタッフ全員が共有もできる

・閲覧制限ができるので、外注先ともshotogunでやり取り可能

・タスクの納期を記したガンチャートも作成できる

・グラフ機能を利用して状況の分析ができる

表計算機能も追加されたため、工数計算、費用の計算も可能

・日本語版ローカライズが完了

APIによるカスタマイズが可能

 

【導入事例】

①Xflag、mixi

スプレッドシートによる管理を行っていた際の問題

・一人しか内容を更新できない(属人性)

・職種の数だけシートが増える

・整合性を保つのが困難

⇨shotogun導入により解決!

 

セガ

抱えていた問題

・リストこ更新にかかりきりになっていた

・ヒューマンエラーが多発した

⇨shotogunで解決!

shotogunでガンチャートを作成し、視覚的に把握しやすいようにレイアウトをカスタマイズした

 

ドリコム

shotogun活用で…

・リストを、スレッド形式で全体を見渡せるようにカスタム

・データをサムネイルで管理

・画像をサムネイルでアップできるため、チェックバックもshotogun上でやりとり

・ソートを活用してスピードアップ

 

③Klab

抱えていた問題

・内製ツールだとメンテナンスコストがかかる。担当者がやめたときに直せない。

⇨ツール開発をサードパーティーに任せる。shotogun導入!

 

④ワンダープラネット

抱えていた問題

・誰がどのリストを見ればいいかわからない

・タスクの終了時期が不明確

⇨shotogunで解決!

 

【職種ごとの使い方】

①プロデューサー

統計、レポート機能

②ディレクター

進捗管理、クオリティチェック

③作業者

自分のタスク確認

 

立場に応じて、閲覧制限機能も活用できる

閲覧制限が可能なため、外注先ともやり取りもshotogunで可能

 

APIによるカスタマイズ】

pythonによるカスタムができる

Github、perforce、suvbesion、slacとの連携が可能など

 

【注意】

すべてをshotogunで管理できるわけではなく、得意分野で棲み分けは必要

ソースコードはJIRAの方がオススメ

 

【導入】

導入を成功させるには、

チュートリアルで学ぶ

・賢い人が構築する

・検証時間を確保する

・代理店によるサポートを利用する

・社内スタッフに対してトレーニングを行う

 

【費用】

月 30ドル〜50ドル

年 30000円〜60000円くらい

試用版あり

チュートリアルはAREA JAPANを参照

 

【感想】

各社でUIのカスタマイズの方法が違っており、用途に応じたカスタムの仕方があるように感じました。

次回、もしセミナーがあるようなら、どういう意図でカスタマイズをしているかを解説していただけるとありがたく思います。

 

【GTMF2018】VRチャット

担当者:安田氏
所属団体:モノビット

アジェンダ
① モノビットエンジンシリーズver.2.0概要
②ゲストトーク

【1.モノビットエンジンシリーズver.2.0概要】

モノビットエンジンとは
家庭用ゲーム機、VRマルチプレイを実現した通信ミドルウェア。3種類の製品がある。
①MRS
MMORPG、多人数オンラインプレイ向きサーバー
②MUN
unity特化型通信ミドルウェア
VRボイスチャット(Unityプラグイン

【1-1.MRS】
MMORPG、大規模オンラインゲーム向きのサーバー
・低遅延、高効率のリアルタイム通信制御が可能
TCPUDP、Web Socketの通信プロトコル
・20000クライアントと同時接続
・サーバー負荷減
・Win、LinuxMac OS、HTML、iOSandroid、unity、UE、visual studio対応
・暗号化でリチート対策
・拡張ライブラリで機能の拡張可能
・直感型サーバー監視ツール「Mckerel」対応
・今後、switchに2018年9月対応予定

【1-2.MUN】
・unityのみでマルチプレイ対応可能
・Win、Mac OSiOSandroidで使用可能
※家庭用ゲームはNDA締結により利用可

・サーバーサイドの構築なしでクライアント側のみで実装可能
・必要に応じ、サーバーにコードを書くも可
※このサーバー上のコードはモノビットが公開している。ただ、公開していることでチートに利用されている

・MUN、MRSでwebGL出力対応し、ブラウザゲームにも対応
・2018年冬からswitch対応

【1-3.VRボイスチャット
・MUNをベースに動作するボイスチャットエンジン(Unityのプラグイン
コンポーネントを追加するだけで実装可能
・ノイズキャンセラ機能搭載
マルチキャスト配信機能搭載(特定の人にだけ声を届けられる)※APIを使用する必要あり
・遅延音声のカット機能(音声の遅延を感じにくくする)
ボイスチェンジャーも実装可能
・2018年冬、switch対応予定

【1-4.まとめ】
1.LinuxC++、C♯を使用してゲームサーバ運用可能
2.C++で超高速サーバーが開発可能
3.日本国内開発だからサポートが充実している

                        • -

【2.ゲストトーク
講演者:山口直樹
所属団体:(株)インフィニットループ

インフィニットループは、Virtual Castを支える技術をドワンゴと共同開発。

■ Virtual Cast
Oculasとセンサーをつけ、キャラクターに自分の動きを反映できる。VRMLを使用。

VRML(3D Humanoid Avater Format for VR
ドワンゴが公開した技術
アバターに特化したプラットフォーム依存型ファイル形式

VRMLのすごい点①】
座標系の正規化(座標系の統一)を自動化
各種3Dソフトで出力したFBXデータは、実はモデルによって座標系がバラバラになっている。(各ジョイントの中心位置や角度)
このFBXデータにVRMLをかますことで、この座標系を統一することができる

VRMLのすごい点②】
ファイルの動的ロードができる

【他】
アバターの人格に関する許諾
モデルデータに「人格」という概念が存在し、この人格権を確認しながら、モデルの産みの親である製作者の意図する使われ方をしているかをチェックされる

VRMLソフトが対応しているツール
vroid、clusterなど

【開発】
・モノビットのUnity Network ing2.0を採用。Linuxサーバーを使えるため、インフィニットループが得意とする分野を生かせることから採用された。

AWSAmazon Web Services)でサーバー構築
MUNサーバー全体が閾値を越えればインスタンスを増加させ、クライアントがエラーログをキャッチしたら絶えず修正できる体制となった。
アドバイスとしては、Linux拡張ネットワーキングは使った方がお得です。追加料金なしで使えるにも関わらず効果が高いです。


モノビットエンジンを使ってみて気づいた…
【モノビットエンジンの悪いところ】
・ナレッジが少ない
ユーザー数が少ないため、問題を検索しても引っかからないことが多い
PS4未対応
(ユーザーリクエストが多いのに対応できない。ただ、モノビットの紹介では2018冬対応予定とのこと)

【モノビットエンジンの良いところ】
・日本語対応でサポートが早い
・サーバー系のトラブルがなかった

【各種問題点への対策】
・通信量削減
大量コメントを全て同期すると破綻してしまうので、初回のみ同期し、その後同期を解除することにした

・モデルデータの扱いについて
モデルデータ流出には最も気を使っており、内部でファイルキャッシュを行わないことにしている。
通勤経路はhttpsによる経路暗号化を行い、サーバー、クライアント側でデータの暗号化を行なっている

・荒らし対策
投稿されたコメントのログを追えるようにし、不適切な発言をしたユーザーを特定できるようにした