(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発した新作VRゲームがもうすぐ発売です!


ハイクオリティな人の3Dモデルをわずかな時間で作成出来るMetaHuman Creatorの早期アクセスが始まったので試してみた【MetaHuman Creator】【Unreal Engine】

はじめに

Unreal Engineで有名なEpic(Games)がハイクオリティな人の3Dモデルを

短時間時間で作成出来るMetaHuman Creatorというサービスの早期アクセスを開始しました!




今回はこれを試してみた感じの記事です。





MetaHuman Creatorとは

続きを読む

500以上の超有名売れ筋アセットが50%オフ&毎日24時間限定70%オフのセール開催!なので、セール対象のオススメアセット紹介記事13個をまとめてみた【Unity】【アセット】

はじめに

現在Unity Asset Storeでは「春のアセット大セール」と題して、

500以上の超有名売れ筋アセットが0%オフで買えるセールと、


毎日一つのアセットだけ70%オフになるセールが行われています!


さらにクーポンコード「SPRING2021」を使うと、カート内のセール対象アセット合計が

税抜$100以上$150未満なら追加で5%オフ、税抜$150以上なら追加で10%オフになります!

f:id:kan_kikuchi:20210414153736j:plain f:id:kan_kikuchi:20210414153727j:plain


今回はこのセールに便乗して、

今まで書いた「アセット紹介記事の中からセール対象になっているもの」をまとめてみました!


目次

  • はじめに
  • 目次
  • セールの概要
  • エディタ拡張系アセット
    • Editor Console Pro : Consoleの拡張
    • Odin : Inspectorの拡張、シーン内の検証
    • SRDebugger : 実機用のコンソールやプロファイラ&実機でも使えるデバッグメニュー
  • セーブデータ系アセット
    • Easy Save : 簡単にセーブ&ロード&暗号化を実装
    • Anti-Cheat Toolkit : チート対策&検出
  • 実装手助け系アセット
    • InControl : ありとあらゆるコントローラーに対応
    • Mesh Baker : メッシュの合成
    • Very Animation : Unity上でアニメーションの編集や新規作成
    • Corgi Engine : 2D横スクロールゲーム用エンジン
    • Pro Camera 2D : 2Dゲームのカメラ操作
  • エフェクト、演出系アセット
    • Beautify 2 : 簡単にゲームの見栄えを綺麗にする
    • Mesh Effects : 3Dモデルの表面にエフェクト
    • All In 1 Sprite Shader : 2Dの万能Shaderセット


セールの概要

続きを読む

Android端末で起動時に「Error Swappy Failed to initialize SwappyGL」等のエラーが出てクラッシュする場合の対処法【Unity】【Android】【トラブルシューティング】

この記事でのバージョン
Unity 2019.4.17f1


はじめに

今回はタイトル通り、Android端末で起動時に

「Error Swappy Failed to initialize SwappyGL」等のエラーが出てクラッシュする場合の対処法です!

Error SwappyCommon Error while getting method: getAppVsyncOffsetNanos
Error Swappy SwappyCommon could not initialize correctly.
Error Swappy Failed to initialize SwappyGL

f:id:kan_kikuchi:20210412064922j:plain


ちなみに上記のログは以前紹介したUnity上のLogcatで表示しているものです。





原因と対処法

続きを読む

商用可能な東京23区の3Dモデルが無料で使えるPLATEAU(プラトー)をVR(Unity)で試してみた【Unity】【VR】【アセット】

この記事でのバージョン
Unity 2019.4.14f1


はじめに


国土交通省が東京23区の3Dモデルをなんと無償・無制限で公開しました!しかも商用利用も可能



今回はこの3DモデルをUnityやVRで試してみようという感じの記事です。





目次

  • はじめに
  • 目次
  • PLATEAU(プラトー)とは
  • Unityでの使い方
  • 軽量化
  • VRで見てみる
  • 参考



PLATEAU(プラトー)とは

続きを読む

ラグドール(Ragdoll)でキャラクターをグニャグニャにする【Unity】

この記事でのバージョン
Unity 2019.4.17f1


はじめに

Fall GuysやGang Beasts、Human Fall Flatのように

人形のようなグニャグニャな動きをラグドールと言います。

f:id:kan_kikuchi:20210328080323g:plain


今回はそれをUnityでやってみようという感じの記事です!


なお、記事中では以下のアセットを使っています。

Rin | Characters | Unity Asset Store
Animals - Simon the Raccoon | Characters | Unity Asset Store



ラグドール

続きを読む

動くオブジェクトやキャラクターに綺麗なトレイル(軌跡)を作成する Trails FX【Unity】【VR】【アセット】

この記事でのバージョン
Unity 2019.4.17f1


はじめに

今回は動くオブジェクトやキャラクターに綺麗なトレイル(軌跡)を作成するTrails FX

というアセットの紹介です!

Trails FX | Particles/Effects | Unity Asset Store


イメージとしては以下のような感じで、

Unity標準のTrail Rendererよりかなり綺麗に表示出来ますし、

Mesh RendererはもちろんSkinned Mesh Rendererにも使え、

単色以外にも色々なエフェクトを付ける事も可能です。

f:id:kan_kikuchi:20210331135706g:plain


ちなみにVRでも使えます



余談ですが、以前に似たような事を2Dで出来る無料アセットを作ったりしました。

f:id:kan_kikuchi:20190125160509g:plain:w700


なお、記事中では以下のアセットを使っています。

Bad Bots | 3D Robots | Unity Asset Store



Trails FX

続きを読む

簡単にゲームの見栄えを綺麗にする Beautify 2【Unity】【アセット】【ポストプロセス】

この記事でのバージョン
Unity 2019.4.17f1


はじめに

今回は簡単にゲームの見栄えを綺麗にするBeautify 2というアセットの紹介です!

Beautify 2 | Fullscreen & Camera Effects | Unity Asset Store


イメージとしては以下のような感じ。

f:id:kan_kikuchi:20210327111717g:plain


ちなみにVRでも使えますし、

f:id:kan_kikuchi:20210327092759p:plain
f:id:kan_kikuchi:20210327092811p:plain


2Dでも使えるようです。

f:id:kan_kikuchi:20210325151146j:plain


なお、記事中では以下のアセットを使っています。

Village Environment Pack | 3D Historic | Unity Asset Store



Beautify 2

続きを読む

ReactivePropertyのSubscribe時に最初の通知を無視する方法【Unity】【UniRx】

この記事でのバージョン
Unity 2019.4.17f1
UniRx - Reactive Extensions for Unity 7.1.0


はじめに

UniRxのReactivePropertyを使うと簡単に変数の変更を検知する事が出来ます。

/*SampleA*/
//変更を監視する値
private ReactiveProperty<int> _valueReactiveProperty = new ReactiveProperty<int>(0);

//ReactivePropertyのうち、IObservableだけを公開し、処理を登録できるように
public IObservable<int> Observable => _valueReactiveProperty;
 
private void Start(){
  //てきとうに値を変更
  SetValue(1);
  SetValue(1); 
  SetValue(2); 
  SetValue(2); 
  SetValue(1); 
}

//値を設定する
private void SetValue(int value){
  _valueReactiveProperty.Value = value;
}
/*SampleB*/
[SerializeField]
private SampleA _sampleA = null;
    
private void Awake(){
  //値が変更されたらログを出すように
  _sampleA.Observable.Subscribe(count => Debug.Log(count));
}
f:id:kan_kikuchi:20190316142911j:plain


しかし、その変数の変更時の処理を登録(購読?)するSubscribe時にも処理が実行されてしまいます。

/*SampleA*/
//変更を監視する値
private ReactiveProperty<int> _valueReactiveProperty = new ReactiveProperty<int>(0);
/*SampleB*/
//値が変更されたらログを出すように(ここでもすぐにログが表示される)
_sampleA.Observable.Subscribe(count => Debug.Log(count));
f:id:kan_kikuchi:20210322063823j:plain


という事で今回は、ReactivePropertyのSubscribe時に最初の通知を無視する方法の紹介です!


そもそも「UniRxやReactivePropertyがよく分からん」という方は以下の記事を参照の事。





ReactivePropertyのSubscribe時に最初の通知を無視する方法

続きを読む

Oculus Link中にスタートボタンを押した事を検知(取得)する方法【Unity】【VR】【Oculus Quest】【Oculus Link】

この記事でのバージョン
Unity 2019.4.17f1
Steam VR Plugin 2.6.1 (sdk 1.13.10)
Oculus Integration 20.1


はじめに

PCに繋がなくても単独で使えるスタンドアローンなOculus Quest(及びQuest2)ですが、

Oculus Linkという機能を使えばPCに繋いでSteamのVRゲームを遊ぶ事も可能です。



遊ぶ側的にはセンサーもいらないので便利なのですが、開発側としては少し問題があります。


それはスタートボタン(左手コントローラー下部のボタン)を押すと、

f:id:kan_kikuchi:20210321152151j:plain


Steamのメニューが開くので、ゲーム側では使えなくなっている事です。

f:id:kan_kikuchi:20210321151409g:plain


さらにSteam VR Pluginを使ってもOculus Integrationを使っても、

スタートボタンを押した入力を取得する事が出来ません。

(Oculus Linkでなければ取得可能)




という事で今回は、Oculus Link中にスタートボタンを押した事を検知(取得)する方法のご紹介です!

(※たまたま見つけた明らかに正攻法ではない方法です)


ちなみに右手コントローラー下部のボタンを押すとOculus Linkのメニュー(?)が開くのですが、

f:id:kan_kikuchi:20210321151440g:plain


Oculus的に右のボタンは元からゲーム側では使えない想定のボタンだったりします。

f:id:kan_kikuchi:20210321152032j:plain




Time.timeScale

続きを読む

UniRx(ReactiveProperty)とOdin(ShowInInspector)を使ったテストプレイやデバッグで重宝する変数【Unity】【UniRx】【Odin】

この記事でのバージョン
Unity 2019.4.17f1
Odin - Inspector and Serializer 3.0.4
UniRx - Reactive Extensions for Unity 7.1.0


はじめに

今回はUnity用のRxライブラリUniRxと、



Inspectorを圧倒的に使いやすくするOdinを使って



テストプレイやデバッグで重宝する以下のような変数の紹介です!

  • 値の変更を検知出来る
  • プレイ中にInspector上で値を変更可能
  • プログラム的にはprivateで、外部から変更出来ない(取得は可能)
f:id:kan_kikuchi:20210314071544g:plain



ReactiveProperty&ShowInInspector

続きを読む