yucchiyのブックマーク (1,685)

  • Unity 2021 LTS で紹介されたCode Coverage Packageを試してみる

    こんにちは、Unityエンジニアの向井です。 Unity 2021 LTSのリリースオーバービューを眺めていると、「Code Coverage package with Test Runner」という機能が追加されていました。 個人的に興味があったので、今回はこのパッケージについて取り上げてみようと思います。 この記事では、下記の流れでCode Coverage Packageの基的な使い方を紹介します。 コードカバレッジについての簡単な説明パッケージのインストール方法と各種設定、利用方法の紹介実際にコードカバレッジを計測する。テストを記述してコードカバレッジをあげてみる。 今回の検証では、下記環境を用いました。 Unity 2021.3.3f1Windows 11、ARM Ryzen 7 5800X ちなみにタイトルでUnity 2021 LTSで紹介されたと書いていますが、2019.

    yucchiy
    yucchiy 2022/06/18
  • URP に新しく追加された Deferred レンダリングなどについてざっくりと調べてみた - 凹みTips

    はじめに 先日 Unity 2021 LTS が発表されましたね。 blog.unity.com Unity 2021 には数多くの機能追加がありますが、このうちの一つが URP への Deferred Rendering の正式サポートです(実験的に以前から追加はされていたようです)。 docs.unity3d.com ドキュメントはこちらです。 docs.unity3d.com ブログではレンダリングパイプラインを読んでいこう企画を何度かやってまして、URP も Unlit / Lit (Forward) については以下の記事を書きました。 tips.hecomi.com 今回は続きで、Deferred を始めとして、前回執筆時から更新があり追加された DepthNormals パスやデカールなどについて書いていこうと思います。ただし、今回は、マクロの分岐なども含めてものすごい深堀り

    URP に新しく追加された Deferred レンダリングなどについてざっくりと調べてみた - 凹みTips
    yucchiy
    yucchiy 2022/05/02
  • Managed Code Strippingの挙動の検証と2020 LTSで利用できる新しいアノテーション属性の紹介

    HOME ブログ ネイティブ , C# Managed Code Strippingの挙動の検証と2020 LTSで利用できる新しいアノテーション属性の紹介 Unityエンジニアの向井です。 この記事では、Unityのアプリビルド時の最適化のひとつであるManaged Code Strippingについてその基的な機能の紹介と、実際にビルド後のクラス情報を出力しながらその挙動について確認します。また、このManaged Code Strippingによって発生する問題の1例と、それを解決する方法についても触れます。 記事後半では、Unity 2020 LTSで導入された新しいManaged Code Strippingのアノテーション属性と、これを用いてどのようにマークを行えるのかについて紹介します。 ※ この記事で紹介する手法やツールの悪用はお控えください。 Managed Code

    Managed Code Strippingの挙動の検証と2020 LTSで利用できる新しいアノテーション属性の紹介
    yucchiy
    yucchiy 2022/04/11
  • uLipSync でリップシンクの事前計算およびタイムライン対応をしてみた - 凹みTips

    はじめに 昨年に Unity 上でリアルタイムにリップシンクを行う uLipSync というものをリリースしました。 tips.hecomi.com AudioClip の入力を Job System と Burst コンパイラを利用してリアルタイムに解析して MFCC と呼ばれる特徴量を抽出し、予めキャリブレーションして作成しておいたプロファイルと照らし合わせて一番近い音素を推定、それをブレンドシェイプへと反映させる、という仕組みのものでした。ただ、マイク入力など、その場で毎回異なる音声波形が与えられる場合は良いのですが、歌やカットシーンのような予め決まった音源があるケースにおいてはリアルタイムに計算する必要はなく、結果を事前に確認できるという利点の上でも処理負荷削減の面でも、予め計算しておけると便利です。 そこで、今回新しく事前計算を行う仕組みを導入し、またタイムラインの対応も行いまし

    uLipSync でリップシンクの事前計算およびタイムライン対応をしてみた - 凹みTips
    yucchiy
    yucchiy 2022/03/29
  • 2022年 エブリーの開発組織の抱負 - every Tech Blog

    少し遅くなりましたが、あけましておめでとうございます。エブリーのCTO今井です。 早速ですが、2021年の振り返りと今年の抱負についてお話しできればと思います。 2021年の振り返り 2021年は開発部に属する全開発部の部長が入れ替わり、 僕自身もDELISH KITCHEN開発部長となり、そして10月にはCTOに就任することとなりました。 会社としてもPMV(パーパス・ミッション・バリュー)を定めるなど、次のステップに向けて足場を整え、 深くしゃがんだ1年だったように思います。 個人としては、未知の領域がさらに増えパンクしそうになりながらも、 チームの仲間のサポートもあり、過去一番成長した1年だったと思います。 今後の抱負 DataUtilization 全社をあげてDataUtilization(データ活用)を推進しています。 これはデータを活用できる人材を増やすことと、活用可能なデ

    2022年 エブリーの開発組織の抱負 - every Tech Blog
    yucchiy
    yucchiy 2022/01/25
  • Unity 2021から利用できるUnity標準のオブジェクトプールについて | Yucchiy's Note

    April 05, 2021Unity 2021から利用できるUnity標準のオブジェクトプールについて へぇ、Unity 2021.1から、ObjectPoolって標準で実装されるのね。 https://t.co/MTG08LitSY — ゆっち〜 (Yuichiro MUKAI) (@yucchiy_) April 3, 2021 先日Unity Weeklyの仕込みで記事を漁っていたら、たまたまUnity標準のObjectPool実装が2021.1以降利用できることを知ったのでつぶやいてみたら、思った以上に反響がありました。せっかくなので簡単に触ってみたので記事を書きました。 検証には2021.2.0a6を用いました。 アルファ版なためこの記事で取り扱っている内容についても今後変更される可能性がある点に注意していただければと思います。 そもそもオブジェクトプールがなぜ必要なのか 銃の

    Unity 2021から利用できるUnity標準のオブジェクトプールについて | Yucchiy's Note
    yucchiy
    yucchiy 2021/04/07
    ブログを書きました。
  • Unity 新UIシステムUI Toolkit 触ってみた

    サイバーエージェントゲーム・エンターテイメント事業部(SGE)に所属する子会社QualiArtsでUnityエンジニアをしている篠木です。記事はQualiArtsの定期ブログ「QualiArts Tech Note」第9弾の記事となります。QualiArtsでは会社で使われている様々な技術の知見をブログで紹介しています。興味のある方は、QualiArtsとタグの付いている他の記事もチェックしてみてください。 QualiArts Tech Note UI Toolkit とは 「UI Toolkit(旧称:UI Elements)」とは、Unityの新UIシステムです。Editor UI、Runtime UIの両方で使えるように設計されています。EditorはUnity 2019から正式機能に、Runtimeは現在(Unity 2021.1)はPreview 機能となっています。記事で

    Unity 新UIシステムUI Toolkit 触ってみた
    yucchiy
    yucchiy 2021/03/29
  • NieR Re[in]carnationにおけるキャラクター制御について

    こんにちは。クライアントエンジニアを担当している向井です。 NieR Re[in]carnation(以後、リィンカネと呼びます。)では、キャラクター制御の設計から実装、バトルスキルアセットの設計・実装・エディター実装、それら実装の各シーンへの導入実装、アプリケーションビルドのCI環境構築など、幅広く関わらせていただきました。 記事では、主にリィンカネにおけるキャラクター制御についてその概要と、Unityにおける実装方法について説明します。 1. NieR Re[in]carnationにおけるキャラクター制御とは まずはリィンカネにおけるキャラクター制御について、その概要を説明します。 キャラクター制御では、主に下記の挙動をカバーしています。 キャラクターの基礎挙動(待機・歩きや走り・指定場所への移動・キャラクター追従など)キャラクターの演出挙動(指定されたモーションの再生・タイムライ

    NieR Re[in]carnationにおけるキャラクター制御について
    yucchiy
    yucchiy 2021/03/18
  • ISUCON10にインフラ提供として参加しました 準備編 : ISUCON公式Blog

    こんにちは。株式会社サイバーエージェント プライベートクラウドグループの中西 (@whywaita ) です。2020年9月と10月に行われたISUCON10へ、サイバーエージェント プライベートクラウドグループとしてインフラ提供を行いました。 今回はプライベートクラウドのチームが2020年のISUCONにインフラを提供した裏側についてご紹介します。記事では準備編として、インフラ視点のISUCONについて、及び我々が行った事前準備について触れます。 インフラ提供のはじまり私がISUCON8で優勝したのち、ISUCONコミュニティ還元のためインフラ提供として関わりたいという気持ちが大きくありました。 その後、ISUCONの運営であるLINEの941さんに最初にお声がけさせて頂いたのが2019年2月、その後弊社内の交渉を経てISUCON10での提供が決定しました。 当はISUCON9での提

    ISUCON10にインフラ提供として参加しました 準備編 : ISUCON公式Blog
    yucchiy
    yucchiy 2021/03/09
  • CyberAgent が開発した「ぴえん(;_;)」を解消する救世主 「Bearman」の仕組みと使い方

    Cloud Operator Days Tokyo は、クラウドの運用者に焦点を当てた技術者向けの新しいテックイベントです。プライベートクラウドの運用には、いろいろなつらさがあります。そのつらさを軽減するために、どのような運用をし、どのようなツールを使っているのか。CyberAgentのプラベートクラウド「Cycloud」を運用している中西氏が、そのノウハウを語ります。2回目はCyberAgent が開発した物理サーバを管理するツール「Bearman」の仕組みと使い方について。前回の記事はこちら。 Bearmanを使った在庫の登録 Bearmanは自動的にノードを登録する機能をもつんですけれども、ここからは、その機能のフローの流れについて説明したいと思います。 文章にするとこんな感じですけれども、一つずつ図を使って説明したいと思っています。 これが実際のBearmanの先ほど言ったNode

    CyberAgent が開発した「ぴえん(;_;)」を解消する救世主 「Bearman」の仕組みと使い方
    yucchiy
    yucchiy 2021/03/09
  • System.CommandLine 入門 | Yucchiy's Note

    コマンドラインアプリケーションを作りたかったのでSystem.CommandLineを利用してみた。その備忘録としてこの記事を記載します。 System.CommandLine とは System.ConmmandLineは.NETでコンソールアプリケーション(CLI)を作るための.NET公式のライブラリです。 触った印象ではライブラリというよりかはフレームワークの立ち位置の印象です。 主にCLIのコマンドライン引数のパースしその結果をCLIアプリケーションの引数などにマッピングしたり、 CLIアプリのエントリーポイントの呼び出し、そしてヘルプなどCLIでよく実装される出力(System.CommandLineではレンダリングと呼んでいる)を自動で行ったりしてくれます。 サンプルアプリを実装してみる command-line-api/Your-first-app-with-System-C

    System.CommandLine 入門 | Yucchiy's Note
    yucchiy
    yucchiy 2021/03/09
  • 社内イベント・インターンのゲームAIコンテストの裏側について解説 | Yucchiy's Note

    この記事はApplibot Advent Calendar 2020およびCyberAgent Developers Advent Calendar 2020の10日目の記事です。 昨日はkbt_さんの個人とチームの習慣化についてとTomomatsu YutaさんのTableauのダッシュボードの限界を引き上げる拡張機能の紹介でした。 この記事では、社内のエンジニア向けイベントのヒダッカソンで開催したゲームAIコンテストの設計や実装について、裏側について紹介します。 ヒダッカソンについて ヒダッカソンは、サイバーエージェントゲーム事業部(SGE)の社内エンジニア向けイベントです。ここ数回は隔年ごとに開催されています。参考ですが前々回のヒダッカソンのレポートはこちらになります。 クライアントとサーバー部門があり、それぞれイベントごとにお題を変えて開催します。クライアント部門は例年ゲームの仕

    社内イベント・インターンのゲームAIコンテストの裏側について解説 | Yucchiy's Note
    yucchiy
    yucchiy 2020/12/10
    ブログかきました。
  • C#でソースをランタイムでコンパイルし、実行する | Yucchiy's Note

    C#で、ソースコードを実行中にコンパイルして、そのプログラム中でコンパイルしたクラスやメソッドを実行する方法を紹介します。 Roslynとは Roslynは.NETコンパイラプラットフォームの通称であり、C#やVisual Basic(、F#も?)のコンパイル・コード解析のためのAPIを提供します。 具体的には今回紹介するような動的なコンパイルであったり、コード解析(Roslyn Analyzerなどと呼ばれている)、OmniSharpというIDEのための言語機能提供のバックエンドもRoslyn実装が存在したり、単にコンパイラというより、コンパイルに関する周辺機能を諸々APIで提供しています。 最近ではC# 9から導入されたSource Generatorも、Roslynの1機能として提供されています。 イメージとしてC#コンパイラでできることが、だいたいC#でプログラムから呼び出せる、と

    C#でソースをランタイムでコンパイルし、実行する | Yucchiy's Note
    yucchiy
    yucchiy 2020/11/24
    ブログ書いた。Roslynで動的にソースコードコンパイルし、実行する方法について。
  • Reddit - Dive into anything

  • Unity2019.1から導入されたEditorToolの紹介 | Yucchiy's Note

    UTJが主催する「ゆるふわLT大会」という勉強会の第1回目が、2020年の7月17日に開催されていました。 この勉強会で、Editor Toolsと呼ばれるAPIについての紹介がありました。 こちらのAPIは2019.1から正式に利用可能になっていたようですが、リリースノートにその記載はなく、また、情報自体も少ないです。 簡単に触ってみたので、備忘録としてブログに綴りたいと思います。 Editor Toolsとは まず、そもそもEditor Toolsとはなんなのかについておさえていきましょう。先述の勉強会の1スライドから引用すると、「SceneView上でGameObjectやComponentを操作しやすくする機能を実装するためのAPI」とのことです。 Editor Toolsについて これだけではイメージが付きづらいので、実際にEditor Toolsが利用されている箇所を示すスライ

    Unity2019.1から導入されたEditorToolの紹介 | Yucchiy's Note
    yucchiy
    yucchiy 2020/09/28
  • Goでステガノグラフィやってみる

    こんにちは、痩せるが口癖の3年目の終わりが近いエンジニアの井村です。 ゲーム事業グループ内でGo勉強会を隔週でやっていまして第4回目の時に担当になったのでその内容を書こうと思います。 勉強会 まず、前提として私のGo言語の経験は勉強会時点で「スターティングGo言語」のChapter5までの基構文を読んだ程度です。 今回の勉強会ではステガノグラフィをテーマとしました。 画像データに別のデータ(画像・文字列)を埋め込み、その方法を参加者に教えてそれを復元してもらいました。 ステガノグラフィとは ステガノグラフィはデータ隠蔽の一種で画像、音声、テキストなどのデータを別のデータに隠す技術のことです。 今回の勉強会ではLSBステガノグラフィと呼ばれる方法を使いました。 LSB法 各RGB値の最下位ビット(LSB)にデータを埋め込む方法。 RGB値の最下位1bitを使う場合、1ピクセルに3bit使う

    Goでステガノグラフィやってみる
    yucchiy
    yucchiy 2020/03/23
  • Introducing to ConsoleAppFramework (vol 1) | Yucchiy's Note

    February 24, 2020Introducing to ConsoleAppFramework (vol 1) ConsoleAppFrameworkを触ってみたので、メモがてらブログにしました。基的にREADMEをベースに書いています。 ConsoleAppFrameworkとは https://github.com/Cysharp/ConsoleAppFramework Micro-framework for console applications to building CLI tools/Daemon/Batch for .NET Core, C#. Cysharp, Incが開発するコンソールアプリ構築のためのマイクロフレームワークで、.NET Core, C# で実装されています。 ConsoleAppFramework is built on .NET Gener

    Introducing to ConsoleAppFramework (vol 1) | Yucchiy's Note
    yucchiy
    yucchiy 2020/02/24
    ブログ書いた
  • どういう処理をしてるかを知りたくて簡単にILに触れてみた件 | Yucchiy's Note

    とあるコードレビューでこんなレビューをいただきました。 public int Hoge { get => _hoge; } 的なラムダ呼び出しは、毎フレーム呼び出される前提なら GC.Allocが気になるのでpublic int Hoge { get => { return _hoge; } } で最適化したい だいたいこんな感じ。自分の認識では前者はGC.Alloc発生する余地がないだろうといいつつ、これがたしかにラムダ呼び出しだとGC.Alloc発生する可能性がある? と思いつつ。 自信がなかったのでこの構文がどういう処理をするのだろうと気になったので、ILでも吐いて見て調べてみるかーと思い、調査してみました。 簡単のため、下記のコードをベースに進めます。 using UnityEngine; public class Test : MonoBehaviour { void Start

    どういう処理をしてるかを知りたくて簡単にILに触れてみた件 | Yucchiy's Note
    yucchiy
    yucchiy 2020/02/18
    ブログ書いた
  • ModelImporterのdefaultClipAnimationsとclipAnimationsについて | Yucchiy's Note

    February 09, 2020ModelImporterのdefaultClipAnimationsとclipAnimationsについて モーションデータをアニメーションfbxで受け取る際、そのデータが大量に存在する場合するにはヒューマンエラーを防ぐ目的で、自動的にUnityのアニメーションのインポート設定を行いたいことがあります。 例えば、読み込んだアニメーションクリップのループ設定をファイル名から自動で指定するなどです。 その場合Unityでは、AssetPostprocessor.OnPreprocessAnimation()などのメソッドをフックして、アニメーションをインポートタイミング時に処理を差し込みます。 インポート設定はModelImporterクラスを介して行います。 このプロパティ中にclipAnimationsとdefaultClipAnimationsが存在す

    ModelImporterのdefaultClipAnimationsとclipAnimationsについて | Yucchiy's Note
    yucchiy
    yucchiy 2020/02/10
    ブログ書いた
  • Writing Blender Plugin in C++ - primitive: blog

    ここしばらく DCC ツール上のモデルをリアルタイムに Unity に同期する、MeshSync というツールを開発しています。その Blender 対応にとても苦労したので情報を残しておこうと思います。 なお、Blender の世界ではプラグインは "add-on" と呼ぶことが多いようですが、記事では "プラグイン" で統一します。 Blender は Maya や 3ds Max のような、総合型の 3DCG の DCC ツールです。競合するツールはいくつかありますが、主要な DCC ツールの中で Blender は唯一オープンソースなフリーソフトウェアなのが最もユニークな点だと思います。 Blender の大部分は C で書かれています。C++ ではなく、C です!Blender はコア部分以外は基 python で機能を拡張していく構造になっています。UI や各種編集機能、f

    Writing Blender Plugin in C++ - primitive: blog
    yucchiy
    yucchiy 2019/01/07