タグ

Unityとcに関するslay-tのブックマーク (11)

  • コードを美しく保つ:独自の C# コードスタイルを作成する方法 | Unity Blog

    Unity C# のコードフォーマットの方法は複数ありますが、プロジェクトで一貫したコードスタイルを取り決めておくことで、チームはクリーンで読みやすく、スケーラブルなコードベースを作り上げることができます。このブログでは、独自のコードスタイルガイドを作り、それを維持するうえで使えるガイドラインと例をいくつか紹介します。 なおこの記事で紹介する内容は、Microsoft が公開している推奨事項に則ったものであることをお断りしておきます。この記事を読んだことを機会に、皆さんのチームにとって最適な方法を見つけてください。 1 つの Unity プロジェクトに何人の開発者が携わっていても、1 人の開発者によって開発されたように感じられるのが理想的です。スタイルガイドは、より一貫性のあるコードベースを作成するアプローチを一化するための助けとなります。 できるだけ業界標準に準拠し、独自のスタイルガイ

    コードを美しく保つ:独自の C# コードスタイルを作成する方法 | Unity Blog
  • (C#) async/await を理解する - ネコのために鐘は鳴る

    この記事は Qiita C# Advent Calendar 2021 の5日目の記事です。 はじめに C# で async/await が登場してからずいぶんと時間がたち、モダンな C# においてはほぼ必須となりました。Unity でも UniTask などのライブラリもあり、簡単に非同期処理が書けます。この記事では C# での非同期処理の歴史にも触れつつ async/await の動作原理について書きます。 Unity C# の話を書いた方が需要が高そうなので Unity および UniTask を前提にした説明とコードが多く出てきますが、async/await は C# の言語機能であるため、動作原理自体は .NET でも同じです。非 Unity の文脈では適宜読み替えてください。 また、詳細を完璧に説明するよりもわかりやすさを重視したため、一部正確さを欠いた説明をしています。ご了承

    (C#) async/await を理解する - ネコのために鐘は鳴る
  • 【iOS】Unity Framework とクラッシュ解析の取り組み - Mirrativ Tech Blog

    こんにちは、Mirrativ iOS エンジニアのちぎらです。クラッシュが発生して、その原因が分からないととてもかなしい気持ちになります。このブログでも以前から触れているように、Mirrativ のクライアントアプリではエモモなどの表示に Unity を使用しています。今回は、Unity の Framework とその内部で発生したクラッシュ解析の取り組みについて紹介をしたいと思います。 隠されたクラッシュ情報 Mirrativ iOS アプリではクラッシュ情報の解析と集計に Firebase Crashlytics を使用しています。Bitcode を有効にしている場合、App Store Connect からダウンロードした dSYM ファイルを Firebase Crashlytics にアップロードすることによってクラッシュ情報の詳細が見えるようになります。しかし、dSYM ファイ

    【iOS】Unity Framework とクラッシュ解析の取り組み - Mirrativ Tech Blog
  • neue cc - C#のasync/await再考, タイムアウト処理のベストプラクティス, UniTask v2.2.0

    お題を3つ並べましたが、記事は逆順で書いていきます!というわけで、UniTask v2.2.0を出しました。改めてUniTask v2とはUnityのためのゼロアロケーションasync/awaitと非同期LINQを実現するライブラリで、とv2リリース時の解説記事を貼っつけましたが、ちょいちょい細かい改善を続けてまして、今回v2.2.0になります。 PlayerLoopへのループ挿入のカスタマイズ対応 現状のUnityはPlayerLoop上で動いていて、Unity 2020.1のリストをここに置いておきましたが、デフォルトでは120個ぐらいのループがエンジンから駆動されています。UpdateループだけでもScriptRunBehaviourUpdate, ScriptRunDelayedDynamicFrameRate, ScriptRunDelayedTasks, DirectorUpd

  • テンプレートエンジンT4とRiderを活用したC#コードの自動生成

    サイバーエージェントゲーム・エンターテイメント事業部(SGE)に所属する子会社QualiArtsでUnityエンジニアをしている住田です。記事はQualiArtsの定期ブログ「QualiArts Tech Note」第8弾の記事となります。QualiArtsでは会社で使われている様々な技術の知見をブログで紹介しています。興味のある方は、QualiArtsとタグの付いている他の記事もチェックしてみてください。 QualiArts Tech Note はじめに 開発を進めていると、似たようなコードを自動生成したいというケースが存在します。例えばAPI要件に沿った実装の量産だったり、似たような機能のコードの雛形など、コピペや単調なコードの連続で実装する部分を自動生成することで実装コストを減らしたりヒューマンエラーを防ぐことができます。記事ではそういったコードの自動生成を行う上で有用なT4と

    テンプレートエンジンT4とRiderを活用したC#コードの自動生成
  • 【Unity】フリックとスワイプ入力の同時取得方法【C#】

    それぞれ画面上のメニューにある「GameObject」から作ることができます。空のオブジェクトについては「Create Empty」で作ります。 ここまでできたら次はサンプルコードをプロジェクト内に作ります。 サンプルコード 今回のサンプルはメインの動きを判定する「ScreenInput」と、サンプルシーンで入力を確認するための「TestText」です。 UnityのAssetフォルダ直下でも大丈夫なので、それぞれの名前でC#のスクリプトを作ってください。※名前を変更するとサンプルが動かない場合がありますのでご注意ください。 また、スクリプトの新規作成方法がわからない場合は以下のサンプルを参考に作ってみてください! なおフォルダ内で右クリックををすると新規作成メニューは開きます。 using System.Collections; using System.Collections.Gene

    【Unity】フリックとスワイプ入力の同時取得方法【C#】
    slay-t
    slay-t 2020/07/02
  • Unityプログラマにオススメの新しいC#の機能 - Qiita

    Unityでも新しいC#! 長い歴史を持つプログラミング言語、C#。C#は着実に進化し、便利な言語機能を追加してきました。ところがゲームエンジンUnityでは少し前まで、古いC#しか使うことができませんでした。 2017年夏 Unity 2017.1がリリースし、「.NET 3.5 Equivalent」に加えて、「.NET 4.6 Equivalent」がExperimentalとして選べるようになりました。 2018年初夏 Unity 2018.1がリリースし、「.NET 4.x Equivalent」がExperimentalでなく、安定版になりました。 2018年冬 Unity 2018.3がリリースし、「.NET 4.x Equivalent」がデフォルトになり、「.NET 3.5 Equivalent」が非推奨になりました。 Unityも、現在は特に工夫をせずに比較的新しいC#

    Unityプログラマにオススメの新しいC#の機能 - Qiita
  • C#の勉強をしだすとアプリが永遠に完成しないような気がする話 - はなちるのマイノート

    3月あたりからもっとUnityを上手く使いたい!と思い、ぼちぼちC#の勉強を始めました。最近はクラス設計を見直そうと思い、デザインパターンやオブジェクト指向の勉強をしています。 そしてだんだん勉強するうちにあることに気づいてしまったのです。 「クラス設計の勉強をしだすと、ゲームが永遠に完成しないのでは?」 そう思った経緯について今回は書いていきたいと思います。 オブジェクト指向が滅茶苦茶分からない デザインパターン多すぎ・・・ Unityのクラス設計に関する記事自体が少ない そしてアプリは完成しなくなった さいごに願うこと オブジェクト指向が滅茶苦茶分からない オブジェクト指向の勉強をしだして、SOLID原則であったり、デザインパターンであったり色んなことを覚えました。ただどういったものかというイメージを覚えただけなので、実際に使ってみようと思うと悲劇は起こります。 全然手が動かない・・・

    C#の勉強をしだすとアプリが永遠に完成しないような気がする話 - はなちるのマイノート
  • C# パフォーマンス改善に使える新しめの機能たち 7.0〜 - Qiita

    時代に合わせてバージョンアップを続け、モダンな言語もまだまだ彼の背中を追っている部分があると噂されたりしている言語、C#。 現状の利用シーンとして割と大きいめの Unity (ゲームエンジン) では、使えるC#のバージョンがぐいぐいっと上がりはじめて以降、そこそこ新しい書き方も認知されてきているようです。 しかし、個人的に注目している C#の新機能は、ショートハンドや関数型言語由来の機能よりもむしろ、C#自体のパフォーマンスを改善するような文法や標準ライブラリたちです。 ーーパフォーマンスを改善する言語機能って一体なんのことでしょう。 「C# なんて、ランタイムが勝手にJITで最適化した機械語にして走らせてくれるわけで、Unityの場合はc++トランスパイルされるわけで、べつにプログラマがミクロなチューニングとか意識しなくても、夜、寝る前とかに祈ったり寄付とかをしていれば、ランタイムをつ

    C# パフォーマンス改善に使える新しめの機能たち 7.0〜 - Qiita
  • C#に潜むstructの罠 - KAYAC engineers' blog

    こんにちは。技術部平山です。 この記事ではC#のstructを使った際にはまった罠について書きます。 Unityでの体験を軸にお話しますが、Unityに限ったことではないかと思います。 お急ぎの方のために結論を申しあげますと、structを使うなとなります。 どうしてもstructを使いたい気分になった時に、罠にはまって時間を無駄にする覚悟をした上で使いましょう。 未来に活きる良い失敗ができると思いますし、最終的には製品の性能も上がるとは思いますが、 structを使わないといけない理由は、たぶんありません。なくても製品は作れます。 しかし、一回もstructと書かなかったとしても、C#で書く限りstructからは逃れられないのです。 (2019/04/10) 末尾に話を単純化しすぎた点について補足をいたしました。 structとは C#の型にはclassとstructがあります。 ...

    C#に潜むstructの罠 - KAYAC engineers' blog
  • Memory Management of C# with Unity Native Collections

    This document discusses C# and memory management in Unity. It begins by introducing the author and some of their open-source projects related to C# and Unity, including libraries for serialization and reactive programming. It then discusses using async/await with Unity through the UniTask library. The document also covers differences in memory management between .NET Core and Unity due to using di

    Memory Management of C# with Unity Native Collections
  • 1