Raspberlyのブログ

Raspberlyのブログ

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

【勉強会レポ】: Unity道場 7月~ゲーム制作に使う数学を学習しよう~

 

勉強会のレポート(メモ)です。
参加したのはこちら、「Unity道場 7月~ゲーム制作に使う数学を学習しよう~」
会場はユニティ・テクノロジーズ・ジャパンさんです。

meetup.unity3d.jp

ハッシュタグ : #Unity道場

 

f:id:Raspberly:20190726005534p:plain

 

 

資料と動画はUnityLearningMaterialsにて掲載予定です 
掲載されました、スライドなどが閲覧できます。

learning.unity3d.jp

 

youtubeで配信された動画はこちら、チャットなども見ることができます


Unity道場 2019 7月 ゲーム制作に使う数学を学習しよう

 

part8まであります
けっこうヘビーですが寝ないように頑張りましょう
わからない方は雰囲気だけ持ち帰っていただいて復習してください

 

 

 

要点などのメモになります。

講師である安原さんの説明やスライドがわかりやすいので動画を見ることをおすすめします。

 

 

 

 

part1 数式とグラフ

数式はよくでてきますが、グラフには見方があります
x軸が入力y軸は出力と捉えるといいかと思います

入力が単純だが出力を変化させたいときに数式は役に立ちます

逆関数

関数を見た時にその逆関数はなにかを意識したほうがいいくらい重要

まとめ

・f(x)という表記になれよう
・グラフは入力と出力の関係
逆関数を意識しよう

 


 

 

 

part2 式の読み方

数式を見るとぱっと目をそらす人が多いが、このパートでは3秒まで持つようにはしたい。

 

足し算と引き算はおなじようなもの、これには境界があり塊同士は混ざらない。
単位が異なるものはイコールにもならない、意味が区切られる

漸化式

通常の式とは異なる
必ず初期値があり、プログラミングに親和性が高い

まとめ

・足し算引き算と統合は分離されます
・(物理の場合)必ず単位があります これを意識しましょう
・漸化式があります

 


 

 

 

 

part3 対数

一番身になる大切な話

指数関数

これの逆関数は何か、これがlogであり対数と呼びます

底の交換

対数で大事なのはこの公式ただ一つ
これだけは覚えた方がいい、プログラミングでも絶対使います

まとめ

・対数は定数倍で底が交換できる

 


 

 

 

 

 

part4 浮動小数

eがでてきたら、その後ろの数は10のべき乗である

実はfloatの幅は超絶広い 

やはり限界はある、主に仮数

つまり大きな数字に小さな数字が足されているのはまずい
ゲーム開始後ずっとTimeを足し続けるなど

doubleはもっとすごい

timeとかもdoubleであれば問題ない

まとめ

・floatの限界を知ろう
・2進数と10進数の桁の関係を理解しよう

qiita.com

 


 

 

 

 

 

part5 RPGで数列

レベルアップの経験値テーブルの話
等比数列を作りましょう

まとめ

・経験値は指数関数で実装できる
等比数列を使えるようになりましょう
・対数があれば経験値からレベルを逆算できます

qiita.com

 


 

 

 

 

 

part6 easing解析

Lerpによる線形保管が使われていますが
漸化式から一般項を求めてみましょう
これを求めるとグラフをかけるようになります

これによりフレームレートによらず同じ動きをさせることができます

まとめ

・Lerpの動きは等比数列で溶ける
・解き方は調べればでてくるので、解けることをわかっておきましょう
・フレームレートの異なる環境でも対応可能

qiita.com

 


 

 

 

 

 

part7 複素数

虚数

これはわからなくていい、虚数がなぜ便利なのかというと複素数があるから


これを理解するのに有効なのが、プログラミングで実装してみること
これをやると気づくことがあります、iが登場しないんです、iは作用だと考えましょう。

複素数クォータニオンがありますがこちらはわかりやすい動画があります


【Unity道場 博多スペシャル 2017】クォータニオン完全マスター

マンデルブロ集合

古典的で基本なのでおさえておこう

 


 

 

 

 

part8 複素数

まとめ

複雑なのでブログをみてください

qiita.com

 


 

 

 

 

Unityなんでも相談所

part4にて以下のような疑問を抱いたので椿さんに聞いてみた。

 

結論からいうとあり得るとのこと。

ただしエンドレスランゲームの場合、プレイヤーの座標は変化せず周りのステージを動かすのが主流らしい。
ステージを動かすのはプレイヤーを動かすよりも処理負荷が高そうだが、そこまで気にならないとのこと。

 

だいぶ昔ですが、日経ソフトウェアの付録でUnityのサンプルプロジェクトがありました。

こちらにランゲームが収録されており、
まさにプレイヤーを直接動かすタイプのゲームでしたが、こういうアプローチはよくないらしい。

 


 

 

 

 

実際に挑んでみた

スライドでもあった方法でゲームオブジェクトを遠くまで移動させてみます。

使うモデルはユニティちゃんです。なるべく耐えてくださいね。

f:id:Raspberly:20190726004231g:plain

おおよそ700kmを超えたあたりから人の形を保てなくなります。

 

また1600kmを超えたあたりで以下のようなエラーがでました。
なんでもカメラが遠くまで行きすぎるとこういうエラーがでるっぽい。

f:id:Raspberly:20190726004439p:plain

 

 


 

 

 

 

 

懇親会

f:id:Raspberly:20190726005752p:plain

 

 

講師の安原さんもドレスアップ。記念写真も撮れました。

f:id:Raspberly:20190726010027p:plainf:id:Raspberly:20190726010043p:plain

 


 

 

 

 

タイムライン

 

 

 

講師の安原さんは2月のUnity道場でもシェーダーの講演をしてくださいました。

raspberly.hateblo.jp

 

 

 

 

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

【勉強会レポ】: Gotanda.unity #13

勉強会のレポート(メモ)です。
参加したのはこちら、「Gotanda.unity #13」
会場はサイバーエージェントさんです。

meetup.unity3d.jp

ハッシュタグ : #gotandaunity

 

 

f:id:Raspberly:20190725015718j:plain

 

 

 

 

スポンサー様

会場提供はサイバーエージェントさん
懇親会提供はキッズスター、ワンダープラネットさんです

 

会社紹介プレゼンバトル

キッズスター

もんりぃ先生です
ごっこランド、ぜひダウンロードしてみてください

biz.kidsstar.co.jp

おかげ様で好評です、基盤側の整備が追い付いていないのでもし興味のある方はお声がけください。

www.wantedly.com

 

ワンダープラネット

開です
クラッシュフィーバーの音ゲーがでました。

sonicbeat.crashfever.com


同じ日にNagoya.unityをやってます

nagoya-unity.connpass.com


また、ととさんと一緒にUnityDesignersCafeもやってます

 

サイバーエージェント

SGEは13の子会社を束ねたグループです。
Unity製のゲームをたくさんリリースしています。
全社をまたいで協力できる仕組みが整った会社です。

 


 

 

 

 

LT#1 : リンクスリングスを支える技術

リンクスリングスは陣取ゲームです

linqsrings.jp

このゲームの主にクライアント部分に関してお話します

UI設計思想

マルチシーン編集でヘッダーフッターメインを別シーンで作成しています。
パラメータを入れる事で単体でも動きます。

UniRxとZenject(DIツール)を使っています。NestedPrefabsというアセットも使っています。


コアの陣取り部分(塗りの部分)

 なかなか複雑でして
グリッドをお互いでずらしヘックスのように扱っています。

NPCの動き

NPCにはBehavior Designerを使っています

経路探索はNavMeshです

マルチプレイ

マルチプレイフォトンサーバーを使っています
最初はフォトンクラウドでしたが拡張性も考えて変えました

 


 

 

 

 

 

LT#2 : Unityのインストラクターを始めました

宣伝

八耐をやってます、今週末やります

daihachitai.connpass.com


UNIBOOKという本を書いています、UnityのTIPS集です。次のコミケで出ます。
ポッドキャストで「ものラジ」をもんりぃさんと一緒にやってます。

monorazi.hateblo.jp


インストラクター業務に関して

実は公式でインストラクターの資格があります

 

生徒について

未経験、入門者、他分野で経験済み様々
男女問わず、年代問わず
コースは3カ月/6カ月の2つあります。

内容はメインにunity、サブでwebをしています。
目標は生徒さんがもっているためそこをサポートします。

実際にやっていること

公式チュートリアルをバンバンやっています
特にベストプラクティスと最適化がすごいです


書籍も使っています。お勧めは猫の本。

 他には生徒側の希望に合わせて作っていきます

なぜインストラクターをやったのか

・おもしろそうだから
・指導や育成ができる
・教えることで身に付くことが多い 

まとめ

・生徒さん次第だが最大限サポートする
フリーランスならではですが自由なキャリアプランができる
・インストラクターはいいぞ

告知

Unity Developer Jobsというイベントやります

unity-developer-jobs.connpass.com

 


 

 

 

 

 

LT#3 : 少人数の SDK 開発を支えるテストの話

AROWというSDKの開発サポートをしています

なぜテストをやっていのか

うちのチームはスピード開発を重視しています
バグがでると開発工数が減るため、テストを頑張っています。

今回はSDKのテストをやりました。
unitypackageを展開するときに必要なものが入っているか保証したい時
いい感じに使えるライブラリはGithubから

github.com

UnityTestRunner

サクッとかけて実行できるのが魅力
これを用いてエディター拡張のテストをしています

SDKなのでエディター拡張も必要

Reflectionを使うとメタデータを使ってデータやメソッドにアクセスできます
いろいろ問題はあるがテストと割り切ってやっています

まとめ

テストが動いていると精神的に心地よい
ハックしているという体感もよい

告知

来月末にAROWのハッカソンをやります

arow-3dmap.connpass.com

 

 

おまけ

LT内で登場したAROWですが、過去にミートアップがありました。

raspberly.hateblo.jp

 


 

 

 

 

LT#4 : 今日からアセットパブリッシャー

パブリッシャーになるために何が必要なのか

必要なもの

・UnityEditor 古すぎないものがよい
・Unityアカウント
・アセットパブリッシャーアカウント
・AssetStoreTools

 

ここデモタイム、詳しくはスライドをご覧ください

 


 

 

 

 

LT#5 : UnityAudioを禁止されたのでCRI ADX2 LEのエディタ拡張に手を着けた

禁止されたきっかけ

サウンド担当者にメテオフォールされました

www.teu.ac.jp

エディタ拡張の実装についてはソースコードの方を見てください

github.com


宣伝

東京ゲームショウでBUILD&ESCAPE!!を展示します。よろしくお願いします。

 


 

 

 

 

LT#6 : UnityでUI開発を高速化した件

www.slideshare.net

キックフライトという3Dのアクションゲームをリリースしています。

kickflight.grenge.jp


このゲームのUI開発についてお話します

何をしたか

UI基盤機能を作りました
Unityのデフォルト機能でできないものを補います。

画面の設計保身

意識すべきこと
プロジェクトを固有化すると使いにくくなるので注意
サードパーティ製のアセット必須にしない(後で抜くこともある)

デザインのレギュレーションを決める

デザイナーに伝えて理解してもらいたいUnityの機能
・9slice
余計な画像を作らないようにする

・Color
白色に乗算をのせていくといろいろな色を作らなくてすむ

・SpriteAtlas
パフォーマンスの観点(ドローコールなど)を理解してもらいましょう

・Mask
パフォーマンスの観点でマスクを使わないようにしてもらいました

レギュレーションを元にプレハブ化

・レイアウトさせる箇所を減らす
・人によって精度がぶれないようにする
ここはnested prefabの登場でやりやすくなりました。

まとめ

・エンジニアだけで完結しないので骨がおれますが高速化のためにやったほうがいいです
・レイアウトするオブジェクトは使いまわすことでバグをへらすこともできるので共通化するのがよい
・UIのレギュレーション整備はUXに良い影響を与えます

 


 

 

 

 

LT#7 : 子ども向けUnity教育の実態の、その一例「この物語はフィクションです」

Unityを含めて小中高校生に教えるという仕事をしていました
指導者側の人たちですがいろいろレベルが足りていない

教育関係は比較的閉じており、初学者がヘルプを求めていたら気にかけてくれるとありがたい

Unityゲーム開発者ギルド

そういう時に便利な楽園がありました
その名もUnityゲーム開発者ギルド

 


 

 

 

 

 

LT#8 : 嫌々,Polygonをスクリプトから生成した話

Unityでポリゴン描写してみました

基礎の基礎、三角形を描画します

ここは資料(公開されたら)または、動画(公開されたら)をご覧ください。

これは何につかえるのか

立体に見せることができます

ステレオ視

左右でカメラをわけることで立体的に見せる手法もあります

 


 

 

 

 

 

LT#9 : VOXEL DE UNITY

今日は3Dゲームのきっかけになればいいなという話

3Dゲームに必要なもの

3Dモデルはまず必要ですよね。これをボクセルで作りましょう。

ボクセルとは

ドット絵の3D版のようなもの
私はMagicaVoxelというエディターで作っています。

ephtracy.github.io


Voxelに触れるきっかけになった本も紹介します

 

Unityに入れるときに使うアセット

mixiamo(ミキサモ)

Webサービスです
3dキャラクターにアニメーション付けをする作業ができます

VoxelImporter

30ドルのアセット
ボーン、ウェイトの追加を楽に行え、アニメーションもつけることができます。

かわいさを生かした見せ方

PostProcessingStackを使います

これでみなさんはVoxelとUnityでゲーム作れるようになったと思います

 


 

 

 

 

#Ex : Gotanda.unity 2周年

Gotanda.unityが2周年を迎えました。
登壇者70名トーク数108です。

これはスポンサーの皆様、登壇者の皆様、そして参加者の皆様のおかげです。
本当にありがとうございました。

これを記念してユニティ・テクノロジーズ・ジャパン様からUnityビールをいただきました。

 


 

 

 

 

懇親会

 

f:id:Raspberly:20190725020348j:plain

f:id:Raspberly:20190725020433j:plain

f:id:Raspberly:20190725020407j:plain

 

 

 

 

 

 

告知タイム

VRM勉強会 #3

vrm.connpass.com

 

Unityサウンド エキスパート養成講座

Unityサウンド エキスパート養成講座

Unityサウンド エキスパート養成講座

 

 

八耐

daihachitai.connpass.com

さらにZenjectの本も出します

 

 

技術書博

本を出します

note.mu

gishohaku.dev

 

 

 

 

 

 

タイムライン

 

 

 

 

 

 

 

 

 

 

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

 

勉強会レポ : Unity++ 〜ショートセッション勉強会 presented by Unity部〜

勉強会のレポート(メモ)です。
参加したのはこちら、「Unity++ 〜ショートセッション勉強会 presented by Unity部〜」
会場はユニティ・テクノロジーズ・ジャパンさんです。

meetup.unity3d.jp

ハッシュタグ : #unity_pp

f:id:Raspberly:20190720235752j:plain



 

 

 

 

今回は現場で役立つ内容を重視したものになっています
それぞれのメンバーの得意分野における知見を共有します

主催はUnity部、会場提供はUTJです。

 


#1 Democratized Unity Package Manager

 

今回の内容にもっと肉付けしたものをunibook11でのせます

UnityPackageManagerの概要

unityの公式機能、ライブラリ、アセットの依存を管理する仕組み
2019.1で大幅に機能が増えました。

非常に内容が豊富なのでスライドを参照してみてください。

 

まとめ

PackageManagerは便利なので使っていきましょう
詳しくはunibook11でどうぞ

 


 

 

 


#2 よーし、パパ Cinemachineを2Dプロジェクトに適応して遊んじゃうぞー

 

今回は2Dプラットフォームゲームにおけるカメラワークのお話をします

プレイヤーにカメラを追従させたい場合どうしますか?

・親子関係にする
・Positionで追従させる
・ParentConstrainを使う

もっといい感じにしたい時はCinemachineを使いましょう

Cinemachineは新しいカメラシステムのことです。

以下のようなことができます。

・遅延移動や先読み追従させたい
・特定の範囲から外を見せたくない
・ステージ感の移動に対応してほしい
・複数のターゲットに対応してほしい
・カメラシェイクに対応してほしい

詳しくは資料をどうぞ。

 


困ったらドキュメントを見ましょう。
テラシュールブログもとても参考になります。

tsubakit1.hateblo.jp

 

告知


 

 

 

 

#3 アクションゲームにおけるポーズ系演出の難しさと解決

アクションゲームで時間制御をすることはなかなかめんどう

・時間を停止させ、特定のキャラだけ動くことができる
・時間を遅くし、特定のキャラだけ通常速度で動くことができる

これらを簡単にするのがChronos
これを使うことでスクリプトを複雑にすることなく実装できます

結論

時間制御をすることは重要だがUnityで実装すると複雑化する
Chronosなら簡単に実装することができます
unibook11で今回の話を記載しています

 


 

 

 

 

 

#4 Preview機能をプレビューする 公式Localizationパッケージの今

 

なぜこのタイミングでローカライズなのか

UDPというサービスが始まりました。これによりローカライズの対応が増える可能性があります。

ローカライズの機能はまだ開発中でプレビュー段階です。
ぜひ触ってください。フィードバックをいただければともいます。

Localizetaion Package

Unity2019.1以降でのみ使えます
Manifestに記述するだけで使えます


ここでデモタイム
動画が公開されたらそちらをどうぞ


覚えて帰ってほしいこと

UDP

サードパーティストアにアプリを配信できます

LocalizeText

文字や画像をローカライズできる

 

今回の内容はUnityコーヒーミートアップと重なる部分があります。併せてどうぞ。

raspberly.hateblo.jp

 


 

 

 

 

 

#5 Unity開発者が知っておきたい.NETのこと

昔のUnityとC#はつらい時代もありましたがUnityは進化してきました
今回はC#に関係のある知見を紹介します

工夫せず最新のC#をUnityで使う

ProjectSettingsで設定するだけで新しいC#になります
今はデフォルトで設定されています

API Compatibility Level どっちを使えばいいのか

これを変えるとプロジェクトで参照する.NETのDLLが変わります
使えるライブラリも違います、使えるAPIの数、成果物のサイズなど

おすすめはStandard 2.0
これにないクラスを使いたくなったら切り替えましょう

.NET Standardって何だよ

.NET Framework Core Monoなどクラスライブラリが提供する仕様、規格のこと

理解するためのポイント

.NET実装がいくつかあります
実装ごとにクラスライブラリが違います

.NET実装とは

.NET Framework、.NET Core、Monoなどのこと

 ライブラリ開発者にとって、.NET実装ごとに個別に対応するのは難しい
ランタイムは決まっているが、クラスライブラリはバラバラ
Standardにもバージョンがあり新しいほど使えるAPIが増える

unityでは2018.1以降はstandard2.0をサポートしています

まとめ

Unityと.NETも進化しています
正しく理解して正しく使いましょう

 

 

MagicOnionの話題が少し出ていました。
先月にMagicOnion勉強会というイベントがりましたので併せてどうぞ。

raspberly.hateblo.jp

 


 

 

 

 

 

#6 Unity サウンドTips 2019

 

Unityサウンドエキスパートの本を書いています。
これを書いたときの面白かったトピックを紹介します。

ふりかえり編

Unite2018で講演していますがその時のフェード処理についての補足

サウンドエフェクト編

ゲームエンジニアにとって不慣れな単語が多く出てくるため障壁が高い
AudioMixerはちょっとハードルが高いがとても多くのことができます
ダッキング・エクスポーズ・スナップショットなどとても優秀
しかし公式のマニュアルがとても難解

VR

VRは音の分類が通常のゲームと違う
VRでは従来に加え指向性を持った音、360度から聞こえてくる音がでてきます。

指向性を持った音

位置情報を表現できる音
初期反射や後期反射など

360度持った音

特殊なマイクで360度の音を収録し、サウンドデータしたもの


VRサウンドSDKはいろいろありますが、
多くの場合Oculus Integrationに含まれているOculus AudioSDKがよい、

・フィート、メートルが統一されていない

・TrackerRemoteの名前が最近変わった

・Spatializer処理はそれなりに重い

 

ADX2編

オーディオプロファイラーのご紹介(ここでデモタイム)

知らなかったそんなの編

Audio DSP Graphというものが突如出現
プレビューパッケージですらない状態でドキュメントが少ない
実用されるのは2、3年先だと思われます

まとめ

サウンド機能は奥深い
みなさんもサウンドにこだわっていきましょう


告知

本を書いています。会社にも買って置いてもらいましょう。

Unityサウンド エキスパート養成講座

Unityサウンド エキスパート養成講座

 


unite2019で登壇します

 


 

 

 

 

 

 

 

 

#7 UniTaskについて

 

うちの子グッズ売ってます。よろしくお願いします。

UniTaskの概要

Unity向けのAync/Awaitの拡張ライブラリ
標準機能ではないので自分で導入が必要
もとはUniRxの一部でした

async/awaitでなんでもできるようにするライブラリです
・コルーチンの置き換えができる
・既存のTaskよりパフォーマンスがよい
・UniRxよりわかりやすい

導入方法

GitHubからインポートしましょう

使える条件

C#7が使えること
安定して使うなら2018.3以降がよい

 

提供する機能

UniTask型 UniTask<T>型

Unity用に最適化されたTask-likeオブジェクト。使い勝手は通常のTaskと同じ。
作り方は3パターンあります。

注意点
1.Observable変換するのであれば必ず完了する状態にすること
2.Taskを変換する時、UniTaskだと必ずメインスレッドになります

 

Staticメソッド群

特殊な挙動をするUnitaskを生成するメソッド群
UniTask.Run  UniTask.Delayなどなど
Unity向けに調整されているだけあって使いやすい

Unity機能のAwaiter

AwaiterとはオブジェクトのAwaitに必要なオブジェクト
UniTaskはあらゆるオブジェクトのAwaiterを提供しています

UniTaskTracker

await中のUniTaskを可視化するEditor拡張


非同期処理とキャンセル

非同期処理はキャンセルを常に考慮しないといけない
UniTaskを使うとき当然自分でキャンセルを実装する必要があります

 

UniTaskは何に使えばいいのか

何にでも使えます。深く考えずに使えそうなところでどんどん使おう
async/awaitを使うなら標準Taskはつかわない
UniRxは用途に応じて使いましょう

まとめ

UniTaskは便利なので使いましょう
今回の補足はunibookで、現在本も書いてます

 


 

 

 

 

懇親会

 

f:id:Raspberly:20190721000146j:plain

 

f:id:Raspberly:20190721000202j:plain

 

 

 

 

タイムライン

 

 

 

他の方の感想ブログ

shinkufencer.hateblo.jp

 

monry.hatenablog.com

www.nowsprinting.com

 

 

 

 

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

【Oculus Quest開発メモ】シーン遷移時に画面にフェード効果をつける OVR Screen Fade編【Unity】

 

今回はOculus Questの開発ネタをやっていきます。
内容的にはOculus Rift Sなどにもそのまま応用できるかと思います。

ゲーム開始時やシーン切替時の画面にフェード効果(フェードイン・フェードアウト)
をつけていきます。

このような演出を「画面遷移」「画面転換」「画面切り替え」「トランジッション」などというそうです。

 

f:id:Raspberly:20190721114647g:plain

f:id:Raspberly:20190720213058p:plain

間違えやすいですが、画面を暗くすることをフェードアウト
画面を明るくすることをフェードイン
といいます。

 

 

開発環境

Windows 10

Unity 2018.4.3f

Oculus Integration ver1.38

Oculus Quest

ALVR

 

 

 

先行研究

qiita.com

forums.oculusvr.com

 

 

 

セットアップ

始めてVR開発をする方はこちらを参考にしてみてください

raspberly.hateblo.jp

 

 

 

 

 

主要コンポーネント

OVR Screen Fade

フェードを行うコンポーネントもOculus Integrationに用意されています。

 

 

サンプルシーンの確認

Assets/SampleFramework/Usageに様々なサンプルシーンがあります。
学習や挙動の確認にとても有益です。見てみましょう。

実はOculus Screen Fadeは様々なシーンで既に使われています。
このコンポーネントはほとんどの場合、OVRCameraRigの中にあるCenterEyeAnchorにアタッチされています
(AvaterGrabなど一部のシーン内のOVRCameraRigにはない)

f:id:Raspberly:20190719233423p:plain



 

 

 

 

 

OVR Screen Fade

インスペクターパラメーター

f:id:Raspberly:20190720000710p:plain

fadeTime

フェードをする時間、どちらかというとFade Durationといったほうがわかりやすいかも。
この値が2の場合、2秒後にフェードアウトを開始する・・・という意味ではなく。
2秒かけてフェードアウトをするという意味です。

fadeColor

フェードメッシュの色
初期値だと黒だが、この色を変えることができる。

f:id:Raspberly:20190720003913g:plain

fadeOnStart

フェードをするかどうか。
ここのチェックが外れているとフェードされず最初から表示される。

renderQueue

フェード用のメッシュで使われるレンダーキュー。
このメッシュの上に別の物をレンダリングする場合はここの数字を減らします。(未検証)

 

 

 

 

 

 

実際にやってみる

フェードイン

シーン開始時のフェードインをしてみます。
基本的にこのOVRScreenFadeがCenterEyeAnchorにアタッチされていれば勝手にフェードインされます。

ちなみにソースコード内で実際にフェードをしているのはFadeコルーチンになります。

 

FadeコルーチンはパラメータのfadeOnStartがtrueであればStartにて勝手に呼ばれます。

 

 

フェードアウト

シーン遷移時にフェードアウトをしてみます。
フェードアウト用のPublic関数がすでに用意されています。

 

この関数を外部から呼び出せば任意のタイミングでフェードアウトが可能です。

f:id:Raspberly:20190720101727g:plain

 

 

 

 

 

 

もっとフェードインフェードアウトを使いやすくする

先ほどのFadeコルーチンのサマリーにアルファ(透明度)を1から0にとありますが、
引数の値によっては0から1にすることもできます。

OVRScreenFadeにコードを追加してみます

FadeOn()メソッドを追加しました。
これは最初と最後のアルファ値とディレイ値を取りオーバーロードされたFadeコルーチンを呼び出します。
Fadeコルーチンはディレイ値を元に遅延実行します。書いてる途中で思ったけどこれDelay必要ない

 

 

 

テスト用に以下のスクリプトを作成しました。

1秒後にフェードインがかかり、5秒後にフェードアウトがかかります。
このような形でFadeOnメソッドを呼び出せば簡単にシーン遷移時のフェード効果をつけることができます。

f:id:Raspberly:20190721114647g:plain

 

 

 

 

 

最初からフェード(画面が覆われた)状態にしておく

fadeOnStartを使わず手動でフェードインをする場合はSetFadeLevelで初期化する必要があります。
実はOnEnabledとAwakeで初期化処理が走っているのでここに少し手を加えます。

 

SetFadeLevel(1)を呼び出しておくことで、シーン開始に画面が覆われた状態から始めることができます。

f:id:Raspberly:20190721130100g:plain

 

 

 

 

まとめ

フェードをつけたい場合はOVRScreenFadeをCenterEyeAnchorにつける

フェードインは自動でやってくれるが、フェードアウトは別途スクリプトを書いて呼ばないといけない

OVRScreenFadeにちょっと手を加えてフェードインも手動で行うことができる

 

 

 

 

参考文献

UnityにおけるuGUIを使った画面切り替えの解説

tsubakit1.hateblo.jp

 

 

公式リファレンス
https://developer.oculus.com/reference/unity/1.38/class_o_v_r_screen_fade

 

 

 

 

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

勉強会レポ : 20代に必要な自己分析力概論~転職活動編~

勉強会のレポート(メモ)です。
参加したのはこちら、「20代に必要な自己分析力概論~転職活動編~」
会場はサポーターズさんです。

supporterzcolab.com


f:id:Raspberly:20190718090309p:plain



 

 

前回の続き物ではありませんが、関連した内容になっています。

raspberly.hateblo.jp

 

 



 

 

 

 

 

 

 

今回のゴール

自己分析とは何かを知る
自己分析をする上でのきっかけをつかむ
自己分析の結果をどう生かしていくか考える

 

 

 


1.自己分析概論、自己分析の必要性

自己分析に良いイメージを持っていない人が多い。
めんどくさい、意味がなさそう・・

実際めんどくさい作業です。なかなか続かない。


そもそも自己分析はなんなのか

自己分析とは自分を探る作業 あくまで自己分析は目的ではなく手段


目的と目標

目標1 自己認知する(できること・強み・どういう状況であればモチベがでるのか)
自分の説明書を作る感じで。
目標2 自分が一番成果が出せる仕事、環境を探す

目的 自己実現をする 
ベストな環境 ベストな仕事を見つけるのが大事

 

自己実現 成果を出すために大事なこと

・動き続けること
体力と精神がカギ

・武器を作る
30歳までに作りましょう、30を超えると転職マーケットの見方が変わってきます

・武器を使う
武器を使わない人が多い

そのために

継続して動き続けるための自分のモチベを理解する
無意識(ふだんやっていること)に成果がだせるヒューマンスキルを理解する
成果を最大化できるテクニカルスキル(技術的なところ)を理解する


自己分析ができているとどうなるか

・モチベをコントロールしやすい(これがないと環境に流されやすくなる)
・成果が出しやすい(自分が何をするのか、どの部分をやると成果がだせるのか考えられるようになる)
・受け身でなく、主体的にキャリアを築ける(自分で新しい環境に飛び込んでいける)
・変化に強くなる(外部環境に対応させていくことが大事になる、そのためにも自分を認知すること)

 

 

 

 

2.自己分析の手法

大事なことは自分自身と真摯に向き合うこと

注意点

・自分のいい面、悪い面と向き合う必要があるため 精神的につらい
・主観で見るとバイアスがかかってしまう
・明確な答えが見つからない 見えづらい

自己分析をする上でのこころもち

・心身ともに健康な状態で行う マイナスな状態では行わないこと
・主観に頼らない 客観的な情報を参考にしてみる
・期限を決めて、自己分析の結果を出してみる 


モチベーションを見つける手法

・モチベーショングラフ
・今までの人生の転機、影響を受けたこと、決断したタイミングは自己分析をする上での重要な要素。ここを深堀する、
・日々の感情にアンテナをはる、すぐにメモを取れるようにして振り返れるようにする


テクニカルスキルを見つける手法

職務経歴書に書いてみる。今まで何をやってきたか整理できる。
・現職の求人票を見てみる。体系的に求めるスキルなどが書かれているため、振り返りになる。


ヒューマンスキルを見つける手法

・無意識にやっていることに目を向ける、主観だとわかりにくいため他の人の意見を聞きましょう。
・人から褒められることを思い出す
・市販に判断ツールを利用する(ストレングスファインダーなど)

 

 

 

 


3.自己分析グループワーク

 モチベーショングラフの作成を行いました。

 

 

 

 

 

4.自己分析を活かすうえでの考え方

仕事の選び方

will can must
・will やりたいこと
・can できること
・must もとめられていること
3つが重なるところがポイントとなる


じゃあ転職活動でどうアピールするか

モチベーションに紐づけましょう 。
自分がどういった環境でモチベがあがるか伝えること。
自己PRはテクニカルヒューマンスキルを元に構成しましょう。
(自己PRで見られるのはこれの再現性、違う環境や次の環境でも活かすことができるのかという話)

 

 

 

まとめ

自己分析に答えはない、答えを求めないこと。
自己分析に終わりはない、人は変わり続けるため。
自己分析は人生において武器になる。

 

勉強会レポ : 転職のプロが教える中途面接攻略法~基礎編~

勉強会のレポート(メモ)です。
参加したのはこちら、「転職のプロが教える中途面接攻略法~基礎編~」
会場はサポーターズさんです。

supporterzcolab.com


 

f:id:Raspberly:20190711134803p:plain

 

 

 

面接で聞かれるランキングTOP5

 

自己紹介

自己アピールではないことに注意

必ず挨拶から始めましょう。
あがり症の方は最初の声を大きくしましょう。

長く話さないこと

現職で何をやっているか程度でよい

最後にくどいようだが挨拶

コミュニケーションは終わりがどこになるかわからないことが多い。
最後に「以上です、よろしくおねがいします」で締めるとよい。


緊張しやすい方は、最初に緊張していることを宣言してしまいましょう。
楽になります。

 

 

 

 

転職理由

愚痴にならないように気を付けましょう

ポジティブでいきましょう

「〇〇できないから・・・」「〇〇が叶わないから・・・」にはならないようにしましょう。

ではどうポジティブにするか

未来志向でいきましょう

「できないから」ではなく「したいから」
ただ言い換えしてるだけですが、印象がガラっと変わります。
その際、どうして現職でできないかを伝えるとよい。

環境要因(人間関係、給与など)を第一の理由にもってくるのはダメ。
ポジティブに聞こえません。



 

 

 

 

弊社を志望する理由は?

志望理由と転職理由はリンクさせましょう

叶えたいことが御社でかなえられるような志望理由を考えましょう。
そのために企業研究をしましょう。
会社さんは会社に貢献してくれる人材を探しています。

研究の仕方

新卒向けの採用ページがあればそちらを見てください。
どういう人材を求めているかヒントが隠れています。
またWANTEDLYは研究にとても役立ちます。


せっかく調べたのならそれもアピールしましょう。
面接官の人も、調べていることがわかるとうれしい。

 

 

 

 

 


あなたのキャリアプランを教えてください

未来のことを聞かれたらキャリアパスを聞かれていると思いましょう。
1年後、5年後、10年後どうなっているか語りましょう。
ここがブレているとダメです。自分の将来を描けていないひとは受け身な人と受け取られます。
自分を分析しましょう。

 

自己分析の仕方

来週の同じ時間にサポーターズで勉強会があるのでチェックしてみましょう

supporterzcolab.com


キャリアパスが受けている企業で実現可能か(すごく重要)

現実離れしていないかしっかり考えましょう。
また、そのキャリアパスが会社にどのような利益をもたらすかは考えよう。
企業によってキャリアパスを変えるのも手 ただし自分がブレないこと。

 

 

 


何か質問はございますか?

逆質問も立派な選考要素。
この逆質問は会社理解ではなく、どういう指向性なのかを見極めるためにしています。

一番ダメなのは「ありません」

ほぼ落ちます

事前に最低5この質問は用意しておこう

多いかもしれませんが、企業さんの説明で質問がなくなってしまうことがあります。

ここでも未来志向。ポジティブに

環境面は一番に質問しないこと(していけないことではない)
仕事面・技術面・理念について、自分が入社したらどうなのかという質問がよい。

質問は逆にチャンスです

知りたい場でもありますがアピールする場でもある。
「こういうキャリアを描いていますがどうですか」といったものでもよい。

 

 

 

 

対策はどうするか

よくある質問TOP5の回答を考えよう

テキストに書き起こし、客観的に評価する。

その次は声に出して読んでしまいましょう。
書き言葉と話し言葉は違います。しっかり話せるようにしましょう。

鏡の前で声に出して話すのも大事。表情豊かに。

口癖を知りましょう

少なくするよう心がけましょう。
口癖は多ければ多いほど不快に感じられます。

誰かに面接官役をやってもらうのが一番効果的

誰にやってもらうか サポーターズでやってもらえます。
反復して練習するのが大事です。

 

 

 

 

質疑応答

気持ちの落ち着け方

焦っている時は早口が多い
ゆっくり話すことを心がけましょう

 

給与交渉のやり方

かなり難しいです。
人事の方は現職のお給料を見てきます。
希望は言わないとだめだが、御社の判断にお任せしますと伝えるのが一番いい。

 

フリーランスの場合、求められていることとやりたいことに乖離があった場合どう伝えるのか

エージェントに相談するのが一番です

 

カジュアル面談にはどう臨むか

企業側の目的は接触を増やしたいというところ。
「人物人柄スキルがまだわからないのでまず話してみたい」
企業さんはそういった理由で面談だったりスカウトだったりしています。

 

エージェントは使うべき?

一番大事なのは、いいなりにならないこと。
いいように操作しようとしてくる、そういった方が多いので鵜呑みにしないようにしましょう。
ただしエージェントの持っている情報はとても有益。結局使い方が大事。
複数社使ってみてください、一社に依存しない方がいい。

 

 

 

 

類似イベント

こちらも合わせてどうぞ

supporterzcolab.com

 

 

 

 

 

 

勉強会レポ : AROWハンズオン〜はじめようマップゲーム開発〜

勉強会のレポート(メモ)です。
参加したのはこちら、「AROWハンズオン〜はじめようマップゲーム開発〜」
会場はドリコムさんです。

arow-3dmap.connpass.com

ハッシュタグ#arowhandson hashtag on Twitter

f:id:Raspberly:20190711004156p:plain

 

 

 

AROWについてはこちらをどうぞ。
前回のAROWミートアップのまとめです。

raspberly.hateblo.jp

 

 

 

 

 

 

 

 

ハンズオン

資料はこちら

docs.google.com

 

ハンズオンといっても全員で足並みを揃えて何かをするというわけではなく。
資料を見ながら各々がチュートリアルを進め、わからない所をメンターの方に聞いていくというスタイルです。

 

 

 

 

予めAROWの登録はしておきましょう。
登録をしないとunitypackageをダウンロードできません。

arow.world

1から始めるのであればこちらを見ながらやるといいでしょう。

arow.zendesk.com

 

 

 

 

デモを動かしてみましたがこんな感じ、
経路探索をするデモと自由に探索できるデモの2つが用意されています。
特定のPOIオブジェクトに接近した時のテキストの差し替えあたりまでやりました。

f:id:Raspberly:20190711003444g:plain

 

ちなみにシーンビューで見てみるとこんな感じ。地面の下までモデルがずっとでています。
これは高低差を誇張して表示する場合に対応させるためだそうです。

f:id:Raspberly:20190711005805p:plain

 

 

 

 

 

個人的に詰まりそうなところメモ

UIがはみ出す

PCなどの環境にもよるかもしれませんが、ボタンなどが画面外にはみ出すことがありました。
詳しく見たわけではありませんが、UIにScroll Viewを使っているのでそれ関連かも。

f:id:Raspberly:20190711000717p:plain

 

 

 

UIの消失

MoveControlCreatedMapシーンの最初では、[地図作成]と書かれたボタンを押すことで
マップを生成し歩き回れるようになりますが、画面比率によってはこのボタンがでないことも。

 

16:9

f:id:Raspberly:20190711001220p:plain

 

 4:3

f:id:Raspberly:20190711001154p:plain

もし同じような現象に遭遇したら、画面比率やサイズをいろいろ変えてみるといいかもしれません。

f:id:Raspberly:20190711002544g:plain

 

 

 

 

デモが動かない

見落としがちかもしれませんが、資料にも書いてある通りデモを動かすにはSetupが必要です。

f:id:Raspberly:20190711003429p:plain

これをやっていないとエラーがでますが、エラーメッセージに「Setupしてください」と丁寧に書いてあります。
資料通りにやればとりあえず動くはずなので、動かない時は手順を確認しましょう。
コンソールを見ることも大事です。

 

 

 

 

Unityの推薦バージョン

AROWの動作環境としましてはUnity 2017.4以降がサポートされています。

arow.zendesk.com

 

しかし、2018.3以降はプレハブのワークフローが変わったこともあり、
Unity2017.4 LTSが一番安定しているかもしれないとのこと。

raspberly.hateblo.jp

 

 

 

 

 

ハッカソンの開催決定

来月8月後半の週末にハッカソンが予定されているそうです。

 

 

 

 

 

 

タイムライン

 

 

 

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