Synamon’s Engineer blog

Synamonはリアルとデジタルの融合を加速させるため、メタバース領域で法人向けにサービス提供を行うテックカンパニーです。現在開発を進めている「メタバース総合プラットフォーム」をはじめ、メタバース市場の発展に向けた事業展開を行っています。このブログでは、メタバース技術とその周辺の技術、開発全般に関してエンジニアがお話しします。

Unity

NetworkedProperty(に相当する機能)のすゝめ

エンジニアの岡村です。 Unityでネットワークマルチプレイを行うアプリケーションを開発する場合、ある程度以上の規模があるのならば、その実装にはネットワークライブラリを利用するのが一般的かと思います。 その際に使われるライブラリにもいろいろな製品…

Unityで画像データをいい感じにロードしたい

こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 今回はUnityでの画像データのロード方法に関する記事になります。 たかが画像データですが、意外とまだ王道の取り回しが確立されていない印象です。 最近また画像のロード周りを触る…

Unity上で外部デバイスとの同期処理を行うための考察(タイムコード読み取り編)

はじめに エンジニアの松原です。Unityと外部デバイスの間で同期処理を取ろうとするとき、単純に時間のタイミングだけ測って同期を取ろうとしても、デバイス内部で利用しているクロックジェネレータの仕様によって、時間が経つほどズレが大きくなってくるこ…

InputCompositeBindingのTouchscreenでの応用例の紹介

こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 前回、Unityの(New) Input Systemでデバイス入力をカスタマイズできるInputCompositeBindingを紹介しました。 synamon.hatenablog.com こちらの記事ではInputCompositeBindingをそも…

AWSを使ったクラウドUnityビルド環境の構築~GitHub Actions構築編~

エンジニアの岡村です。この記事は以前掲載した『AWSを使ったクラウドUnityビルド環境の構築~ビルドサーバー構築編~』の続編であり、シリーズの3記事目です。 synamon.hatenablog.com synamon.hatenablog.com また、インフラメンバーの黒岩さんに書いてい…

AWSを使ったクラウドUnityビルド環境の構築~ビルドサーバー構築編~

エンジニアの岡村です。この記事は以前掲載した『AWSを使ったクラウドUnityビルド環境の構築~ライセンスサーバー構築編~』の続編であり、シリーズの2記事目です。 synamon.hatenablog.com 前回の記事ではEC2を使ってライセンスサーバーを作成したので、そ…

Unityの(New)InputSystemでBindingを好きにカスタマイズできるCompositeBindingsの紹介

はじめに こんにちは、エンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 少し前まではマネジメントや採用を中心にやっていましたが、最近はUnityの開発をメインにやるようになりました。 今開発しているプロジェクトでは、Unityの新しいInputSyst…

AWSを使ったクラウドUnityビルド環境の構築~ライセンスサーバー構築編~

エンジニアの岡村です。 最近まで、弊社でのUnityを使ったクライアント開発では、社内の物理サーバーに立てたgitとJenkinsを使ってバージョン管理及びCIを行っていました。GitHubは主にサーバー開発に使われており、Unityのコードは検証用のような小さなもの…

Unity2021でVRテンプレートを使ってOculusQuest2の開発環境を構築してみる

こんにちは、Synamon のエンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 自分はエンジニアではあるのですが、肩書きにもあるようにここ1~2年くらいは開発以外の仕事(EM、採用)をすることがほとんどで、実は最近のバージョンのUnityを触れてい…

UnityのTimelineを利用してGUIのトランジション効果を作ってみる

UnityのTimelineを使って画面遷移のアニメーションをコントロールする方法について記事に書いてみました

Addressable Asset System入門

最新環境(Unity2021.2)でのAddressablesシステムの紹介記事です。Addressablesの基本的な利用方法がわかります。

Netcode for GameObjectsでMobをスポーンさせる

Synamon Advent Calendar 2021の18日目の記事として、Netcode for GameObjectを利用してPlayerを追跡するMobをマルチプレイヤーで実現する方法についてまとめました。

Netcode for GameObjectsでプレイヤー間で同期する物体の生成 / 破棄

Synamon Advent Calendar 2021の11日目の記事として、現在Synamon's Enginner blogでいくつかの記事で取り上げている、Netcode for GameObjectsで同期オブジェクトを扱うための方法について紹介します

Netcode for GameObjectsの機能紹介 NetworkTransformコンポーネントについて

Synamon Advent Calendar 2021の4日目の記事として、前回Synamon's Enginner blogで紹介したNetcode for GameObjectの機能のうち、NetworkTransformの機能について紹介しました

Unity公式のNetcode for GameObjectsのHelloWorldチュートリアルを改造しつつ触ってみた

Netcode for Gameobjects についてどのようなものかを調べ、注意点やハマりやすいところについて書きました。動作サンプルをGitHubに公開しています。

Unity2021.2で使えるC#9の機能

Unity2021.2から新しく使えるようになったC#9の機能を紹介します。

UnityのInputSystemからQuest2のデバイスの取り扱い方を考える

UnityではInputSystemという外部入力デバイスを扱うライブラリが登場し、従来から大きく仕組みが変わっています。本記事はInputSystemを通してのVRデバイスの取り扱いについて触れていきたいと思います。実際にQuest2(Oculus Link)を使って試してみました。

いろいろな種類がある .NET の違いとは

はじめに こんにちは Synamonでエンジニアをしている庭山です。 Unityでの開発では主に.NET(ドットネット)という環境下、C#というプログラミング言語を使用しています。 また、次世代の .NET 6 というバージョンが近く正式リリース予定(2021年11月)となっ…

Startup Issue Gym #2 開催しますよー!

こんにちは、Synamon のエンジニアリングマネージャーの渡辺(@mochi_neko_7)です。 4月頃に Synamon を含めた3社のスタートアップで開催した「Startup Issue Gym」 synamon.hatenablog.com ですがこれは単発のイベントではなく、あくまでイベントグループ…

Quest2上で動作するパススルーモードを試す

はじめに エンジニアの松原です。先日社内でVarjo XR-3が導入され、今後はハイエンドなXRコンテンツが作っていけそうです。最近はAR/MR関連も業界で活発化しているのを見かけており、さらに楽しみが増えました。 それに関連して、先日Oculus Integration SDK…

Unityで対象オブジェクトに(ほぼ)手を入れずに使えるアウトラインエフェクトを作った

空中ペンで書いた文字に表示されるアウトライン はじめに NEUTRANS BIZのベース機能に、Grabというものがあります。挙動は名前の通りで、レーザーポインターを当てた、もしくは直接触っているアイテムを掴んで、移動させることが出来ます。 ある時、アイテム…

UnityでのオープンワールドにはZ-Fightingという壁が立ちはだかっていた

はじめに エンジニアの小池(DBK)です。 VRでオープンワールドに入りたいと思った人はたくさんいると思います。最近はSwitchなどでオープンワールドのゲームが出ているので特に多いのではないでしょうか。 弊社にもそんな人たちがたくさんいて、でっかいシー…

ReorderableListのすすめ

はじめに こんにちは。 株式会社Synamonでエンジニアをしております、渡辺(@mochi_neko_7)と申します。 本記事のテーマは、UnityのEditor拡張のひとつである、「Reorderable List」になります。 通常の配列やリストのUnityEditor上でのGUIは、以下のように…

UnityアプリをRiftからGo/Questへ移植する人向けのTips集

こんにちは。株式会社Synamonでエンジニアをしております、岡村(@Sokuhatiku)と申します。 ついに本日5/21に、Oculus Questが発売されましたね!弊社にもまだ届いておりません!2019年6月2日追記:先週届きました!! Questはスタンドアロンデバイスであり…

LipSyncをDIYする(後編)

こんにちは。 株式会社Synamonでエンジニアをしております、渡辺(@mochi_neko_7)と申します。 本記事は synamon.hatenablog.com の後編になります。 まずは確認も含めて簡単に前編のおさらいをしましょう。 前編のおさらい リップシンクをするにあたって、音…

LipSyncをDIYする(前編)

こんにちは。 株式会社Synamonでエンジニアをしております、渡辺(@mochi_neko_7)と申します。 VRでは自分の好きなアバターになれるというのは大きな魅力の一つではないかと思いますが、せっかくのアバターも固い表情のままではちょっともったいないですよね…

Unity×Verdaccioで自作UnityPackageをバージョン管理する

Unity2018で搭載されたUnityPackageManagerに対し、Verdaccioを使って自作のパッケージをバージョンで登録し、簡単にバージョン管理を行えるようにする方法を紹介します。

100万ポリゴンのCADデータを3000ポリゴンにリトポする

こんにちは。株式会社Synamonで開発責任者(CDO)をしている西口([@nishiguchi3d])です。 みなさんはVRでCADのデータを見たいと思ったことはありませんか? Unityにインポートして表示させるだけなら大して難しくないですがやはり問題になるのがそのポリゴ…

メッシュ情報を焼いたテクスチャを使ってTexturePaintする

こんにちは。株式会社Synamonでエンジニアとして『NEUTRANS』の開発をしている岡村(@Sokuhatiku)です。今回は、過去のイベント参加時に作った、立体的なメッシュに対して自然なテクスチャペイントを行う手法を紹介します。 Unity内で立体的なメッシュ(キ…

Unity Package Managerに自作Packageを登録する方法

Unity2018で新しく追加されたパッケージマネージャー。2018年5月現在、自分で作ったアセットをパッケージとして管理する事は出来ませんが、裏技的な方法で半分くらいは目的を達成出来るようなので、やり方を纏めてみました。