AzureKinectで遊んでます

最近Kinectを触り始めました。楽しい。 何に使うかまだそんなに考えていないけどそのうちなんか作ります。

なんかすげー適当な雑記をこっちには主に書くと思う

Azure Kinect をUnityで使う話は追々

Azure KinectをUnity動作させて遊ぶまでに助かった者たち

github.com microsoft 公式サンプル最終的にこれがサクッと動いた

www.youtube.com 公式サンプルのInstall-Packageのところのエラーについて解説してくれてた。助かる。これのおかげでサクッと動いた

tks-yoshinaga.hatenablog.com こっちでも動いた。どっちの方法で動かすのがいいかはわかんないけど比較的新しい記事

docs.microsoft.com ハードウェア仕様

visualstudio.microsoft.com Nuget用

Python for Unity Editorがプレビューパッケージとして利用可能になりました!

https://forum.unity.com/threads/introducing-python-for-unity-editor.812748/

Facebookで見かけたのでシェア これによってどう変わるかというのは自分はまだはっきりとはわからないですけどサードパーティのツールとかとの連携が強くなるとかなのかな?

以下Google翻訳

はじめに

Pythonは、映画業界のPipeline TD(テクニカルディレクター)、および一般的なコンテンツ作成指向のワークフローの標準スクリプト言語です。

さまざまな制作スタジオやパートナー(アニメーション映画、ゲーム、自動車、テーマパークの乗り物、制作管理ツールなど)と緊密に協力した後、 PythonからUnityの完全なC#API UnityEditor、UnityEngine、およびUnityプロジェクトに追加された独自のC#API、およびC#内からPythonコードを実行します。

典型的な使用例は次のとおりです。 * PythonおよびPySideで記述された既存のパイプラインツールの統合。 * Autodesk Shotgunなどのサードパーティソフトウェアの統合(近日公開予定のプレビュー統合パッケージ)。 * Pixar OpenTimelineIOなどのサードパーティライブラリとの統合(実験統合パッケージは近日公開予定) * Pythonコンソールを使用したUnityでのシーンデバッグ

このリリースは、主にスタジオのパイプラインTDのツールとして構築されています。現在、Pythonをゲームプレイのスクリプト言語にする意図はありません。

Platform

Pythonはエディター専用です。スタンドアロンビルドでは機能しません。 当社の統合は、WindowsMac、およびLinux Unity Editorをサポートしています。 多くのスタジオが最新のライブラリにすべてのツールを移植していないため、現在Python 2.7のみをサポートしています。Python 3のサポートは現在進行中です。

フィードバック

Python 3に移行する前に、ここ数か月のフィードバックに基づいて、いくつかの小さな変更をリリースする予定です。長期はまだ決定されていません。 このサブフォーラムでフィードバックをお送りくださいあなたがパッケージで見たいもののために。

バグを報告するには、開発チームが問題を再現するために、エディターのバグレポーターを使用し、プロジェクトのバージョンを削除します。

NNWORKS-48時間のゲーム開発備忘録を頒布しました。

GGJ2019に参加した自分がいろいろやったことを書いてます。

頒布してめっちゃ疲れましたが良かったです。 この本を作るにあたって使ったものたちについてこんどブログあげます。

100部もっていってももしかしたら捌けたかもしれません。 それくらい多くの人が立ち読みしていってくれました。

現金と後払いの比率は7:3くらいで現金のほうが多い感じだったんですが傾向としては13時くらいまでは5:5くらい。ソレ以降は現金の比率が増えていった感じでした。

ダウンロード版に不具合があった場合は教えていただけると嬉しいです。

寝ます。

Mac環境でMagicOnionのQuickStartを触ってみた

参考

今回はこの2つの記事を参考に手元でMagicOnionのクイックスタートの部分を動かしてみた。

qiita.com

qiita.com

この2つ見ておけばとりあえず動作する。

GGJ2019のメインループの実装の話

前回のお話

enpel.hatenablog.com

メインループ

今回は特別複雑な遷移が無かったので最終的に次のようになりました。

    async UniTask GameLoop()
    {

        mapController.ShowNextEvent();
        while (IsAlive)
        {
            playerStatusView.HideEffect();
            mapController.SetDayCount(date.day);
            await timeView.Show(date.time).First();

// マップから選ばれるまで待つ
            var placeSelectionData = await mapController.SelectEventAsObservable().First();

            playerStatusView.ShowEffect(placeSelectionData.Item1.effect);
            var isAccept = await mapController.ShowSelectionView();

            await mapController.CloseSelectionView();
            
            if (!isAccept)
            {
                continue;
            }

            var eventData = placeSelectionData.Item1;
            ApplyEffect(eventData.effect);
            
            playerStatusView.SetStatus(money.Ratio, health.Ratio, enthusiasm.Ratio, 0.3f);
            await mapController.EventView.Show(placeSelectionData.Item1, placeSelectionData.Item2);

            await mapController.EventView.Close();



// 1日が終わったら毎日の出来事を実行
            var isDayIncrement = date.Increment();
            if (isDayIncrement)
            {
                var daily = dailyEventData.GetAtRandom();
                ApplySafeEffect(daily.effect);
                playerStatusView.SetStatus(money.Ratio, health.Ratio, enthusiasm.Ratio, 0.3f);
                
                dailyView.Play(daily);
            }
            mapController.ShowNextEvent();
        }

        await mapController.ResultView.Show(date);

        await mapController.ResultView.Close();
        
        sceneLoader.Load("Title");
    }

もう名前とか色々とん???ってなる感じの所もあったりするんですがまあざっくりこんな感じです

await...await... って書くのすごく楽でした。 実際今回のゲームの仕様だったのと1人だったのでガシガシつくれるようにこうしてみました。

途中で書き方かわってたりするのはちょっと良くないというかこっちのほうがいいなーみたいなので書き方変えてみたりしてました。 1人だから・・・ゆるして・・・

実は重大なバグが一個あるんですが進行に影響というよりゲーム難易度に影響があるだけで今回はもうリリースしたりランキングもあるので修正しません。 この企画を次作る時があったら検討します・・・(デバッグする時間と人は無かった…)

http://enpel.hatenablog.com/entry/2019/01/28/014812?_ga=2.84097311.705539512.1548577783-1775612417.1479750787

一度IObservableをHotにしてないのに発火されなくてなんぞーー?!???ってなって1時間くらい潰してました。 その時に役立ったのはこちら

GitHub - OrangeCube/AsyncSample201809

非同期完全理解勉強会のやつですね。感謝感謝

connpass.com

/*コードブロックに言語名を表示*/ pre.code:before { content: attr(data-lang); display: inline-block; background: #ccc; /*カラーコード変更*/ color: #666; padding: 3px; position: absolute; margin-left: -20px; /*表示位置を調整*/ margin-top: -30px; } pre.code { padding-top: 30px !important; border:2px solid #ccc; /*追加:コード表示部分の枠設定*/ background:#f8f8f8; /*追加:コード表示部分の背景色*/ position:relative; /*追加*/ }