タグ

ブックマーク / www.urablog.xyz (10)

  • 【C#】LINQの関数 一覧 - 徳島ゲーム開発ごっこ 技術ブログ

    C#の機能の一つ、LINQ。 LINQの関数を一覧にしてみました。 要素を取得したいとき First, FirstOrDefault Last, LastOrDefault Single, SingleOrDefault ElementAt, ElementAtOrDefault Skip, SkipWhile Take, TakeWhile DefaultIfEmpty Where 要素を調べたいとき All Any Contains OfType SequenceEqual Count, LongCount 要素内で計算したいとき Max Min Average Sum Aggregate シーケンス(配列やリスト)を変換したいとき ToArray ToList ToDictionary AsEnumerable Cast Reverse Distinct Select, Select

    【C#】LINQの関数 一覧 - 徳島ゲーム開発ごっこ 技術ブログ
    s_ryuuki
    s_ryuuki 2021/03/24
  • 【Unity】画面分割とマルチディスプレイ - 徳島ゲーム開発ごっこ 技術ブログ

    ゲームを皆で遊べば楽しいですよね。 複数人で遊べるゲームを作る場合、一画面に収まるタイプのゲームならいいのですが、プレイヤー一人につき一画面必要な場合だってあるわけです。 そうなると、画面をプレイヤー人数分で分割するか、プレイヤー人数分のディスプレイを用意して表示する必要がありますね。 なんとなくやってみましょう。 まあ、ぼっちの僕には何も関係のない話ですがね。 この記事にはUnity2017.2.0f3を使用しています。 画面を分割する 複数のディスプレイに表示する 試してみた 画面を分割する まず画面を分割してみましょう。 CameraコンポーネントのViewportRectの値を変更することで、カメラの画面表示位置とサイズを変更できます。 ちなみに、Viewportは左下が(0,0)、右上が(1,1)になりますよ。 下記の画像のように値を設定すれば、ディスプレイの左四分の一にカメラの

    【Unity】画面分割とマルチディスプレイ - 徳島ゲーム開発ごっこ 技術ブログ
  • 【Unity】ゲーム中に常時必要なGameObjectがどのシーンから始めても存在するようにしてみよう - 徳島ゲーム開発ごっこ 技術ブログ

    ゲームジャム中の会話にて 「では僕の方で、音の挙動を制御するサウンドマネージャー的なものを作っておくよ。」 「サウンドマネージャーですか。それなら後でもよくありませんか。」 「おや、どうしてだい?」 「だって、そういうゲーム中でずっと必要なものって、全シーンに置かなくちゃいけないじゃないですか。まだ全てのシーンが揃っていませんし後でもよくないですか。」 「いや、全てのシーンに置く必要はないかな。ゲーム開始時に生成し、DontDestroyOnLoad()を使えば、 シーンが切り替わっても存在し続けるよ。」 「でもそうすると、必ずタイトルシーンから実行しなくちゃいけないじゃないですか。ゲームシーンのテストが面倒になります。」 ふむ、なるほど。 「ゲーム開始時に生成する」という点を、「ゲーム開始時のシーンに必要なものを配置しておく」と捉えられてしまったか。 そうじゃないんだ。 今回僕が使うのは

    【Unity】ゲーム中に常時必要なGameObjectがどのシーンから始めても存在するようにしてみよう - 徳島ゲーム開発ごっこ 技術ブログ
  • 【Unity】一つのGameObjectで複数の描画をあなたに - 徳島ゲーム開発ごっこ 技術ブログ

    僕は人生においてまだ自分のドッペルゲンガーに会ったことがない。 まあドッペルゲンガーに会ったら死ぬらしいから会いたくはないけど。 そして、僕はまだ分身することが出来ない。 僕の中には十三尾が封印されているはずなので、チャクラは足りるはずなんだけどそれでも分身が出来ない。 そんな山も谷もない人生で出来ていないことを、Unity上でやってみよう。 僕の人生に何かを期待するより、ゲームでも作っていたほうがいいや。 この記事にはUnity2017.3.0f3を使用しています。 はじめに シンプルなDiffuseシェーダーを作る 描画する頂点位置をずらしてみよう いっぱいドッペルゲンガーを作ってみよう スクリプトでマテリアルのパラメーターを設定する カメラに映らないとき そもそもバグがあったよ おわりに はじめに さて、オブジェクトを複数描画したいならGameObjectが複数あればこと足りるもので

    【Unity】一つのGameObjectで複数の描画をあなたに - 徳島ゲーム開発ごっこ 技術ブログ
  • 【Unity】死んでも生きてるMonoBehaviour、Unityのコワイうわさ - 徳島ゲーム開発ごっこ 技術ブログ

    もう夏番になってきましたね。 というわけで、今回はちょっと怖い話をしていこうと思います。 これは友達友達から聞いた話なんですが……。 この記事にはUnity2017.1.0f3を使用しています。 冒頭 不滅 成仏 感想 冒頭 あるところにMonoBehaviourを使ったシングルトンクラスがいました。 using UnityEngine; public class Singleton : MonoBehaviour { [SerializeField] private int m_number = 0; public int Number { get { return m_number; } } public static Singleton Instance { get; private set; } private void Awake() { if( Instance != nu

    【Unity】死んでも生きてるMonoBehaviour、Unityのコワイうわさ - 徳島ゲーム開発ごっこ 技術ブログ
  • 【Unity】俺はまだSceneManagerを全力で使っていない! - 徳島ゲーム開発ごっこ 技術ブログ

    シーンを管理するシステムを作りたいのですが、それにはまずUnityのSceneManagerについて詳しく知っておきたいものです。 ドキュメントを見る限り、LoadScene()ぐらいしか主に使ってないですね。 せっかくなのでこの機会に、SceneManagerで遊びつくしましょう。 この記事にはUnity5.6.0f3を使用しています。 Get関数と取得するSceneデータについて。 GetSceneByName() GetSceneByPath() GetSceneAt() GetSceneByBuildIndex() GetActiveScene() アクティブなシーンってなんぞ アクティブなシーンが無い状態ってあり得るの? SetActiveScene LoadScene() 既にHierarchy上にあるシーンは読み込めるのか 最初にHierarchy上にあるシーンとBuildS

    【Unity】俺はまだSceneManagerを全力で使っていない! - 徳島ゲーム開発ごっこ 技術ブログ
  • 【Unity】エディタ拡張をして、他クラスのパラメータを取得できないかな - 徳島ゲーム開発ごっこ 技術ブログ

    パラメータをUnityエディタ上で設定していくうえで、設定しやすいことに越したことはありませんよね。 まったく同じパラメータを何度も何度も入力するのはとても疲れます。 特に文字列の場合では、打ち間違えたりする可能性も高く、重大なバグを引き起こしてしまうかもしれません。 それを解消すべく、今回エディタ拡張に乗り出してみたのですが……。 なんかいまいちな結果になってしまった、そんなお話です。 ] [2021.10.21 追記] 時を経てこの記事に関する新しい記事を書きました。 そちらもご参考ください。 www.urablog.xyz www.urablog.xyz この記事にはUnity5.6.1f1を使用しています。 とあるクラスのパラメータを利用して、このパラメータを設定したいんだ! テーブルクラスを拡張しちゃうぞ! データクラスを拡張しちゃうぞ! 専用のアトリビュートクラスを作成しちゃう

    【Unity】エディタ拡張をして、他クラスのパラメータを取得できないかな - 徳島ゲーム開発ごっこ 技術ブログ
  • 【Unity】UnityEventの用法と用量 - 徳島ゲーム開発ごっこ 技術ブログ

    C#だとコールバック関数を簡単に設定できて便利ですよね。 C++を学生時代に使っていた際に関数ポインタなどでつまづいた覚えがあります。 C#ではデリゲートを使うことで簡単に設定できます。 さて、UnityではuGUIが出来たころからUnityActionとUnityEventというものが追加されました。 今まで.NETのSystem.Actionを使用していたところを特に考えもなしに置き換えていった記憶があります。 先日UnityEventの使い方についての質問をされた際に、UnityEventを詳しくわかって使っていないことに気づかされました。 うーん、よくありませんね。 というわけで今回はUnityEventについていろいろ調査してみました。 この記事にはUnity5.4.0f3を使用しています。 UnityActionとSystem.Actionの違いはなんなのさ uGUIのButt

    【Unity】UnityEventの用法と用量 - 徳島ゲーム開発ごっこ 技術ブログ
  • 【Unity】ExampleProjectから見る地面の判定 - 徳島ゲーム開発ごっこ 技術ブログ

    こんにちは、うら干物です。 Unityゲームを作り始めようとする際に、頭の中でこういうものを作りたいなという想像図はあるのですが、Unityではどのように作るのかわからないことがあります。 その際、情報をネット上から探すこともありますが、UnityのExampleProjectを参考にすることもあります。 今回はアクションゲームでよく使う地面の判定部分をExampleProjectから見ていきたいと思います。 この記事にはUnity5.4.0f3を使用しています。 CharacterFirstPersonシーン Physics.SphereCast()について Vector3.ProjectOnPlane() CharacterFirstPersonシーン 今回はCharacterFirstPersonシーンを参考にします。 ExampleProjectの各シーンを見ていく際に、どのGa

    【Unity】ExampleProjectから見る地面の判定 - 徳島ゲーム開発ごっこ 技術ブログ
  • 【Unity】簡易フェード制御コンポーネントについて考えてみる - 徳島ゲーム開発ごっこ 技術ブログ

    こんにちは、うら干物です。 シーンを切り替える際に、フェードイン・アウトがあると見栄えがよくなりますよね。 ただ、ゲームジャムのような時間が制限されているときには、なかなか手を付けにくいものでもあります。 そんなときのために、フェード機能をもつコンポーネントをライブラリ化してすぐに使える状況にしておきましょう。 今回はそんな簡易フェード制御用のコンポーネントを作成していきましょう。 この記事にはUnity5.4.0f3を使用しています。 今回のテーマ uGUIの機能を使ってフェードに必要なもの揃える Canvas CanvasScaler Image フェードアウト フェードイン フェード処理のデフォルト処理について フェード処理の完了を判断する方法 多重呼出し対応について フェード制御コンポーネントのアクセス方法 完成、FadeController 今回のテーマ プロジェクトに簡単に組み

    【Unity】簡易フェード制御コンポーネントについて考えてみる - 徳島ゲーム開発ごっこ 技術ブログ
  • 1