デジタルツインの疑問に答える ~スマートで、安全で、持続可能な現実世界の実現に向けたデジタルツインの役割とは~
![ユニティ・テクノロジーズ・ジャパン株式会社](https://cdn-ak-scissors.b.st-hatena.com/image/square/8ddd80612564edaa124c757bd26d8b8da032807f/height=288;version=1;width=512/https%3A%2F%2Fforpro.unity3d.jp%2Fwp-content%2Fuploads%2F2021%2F05%2Fimage10.png)
Unityエンジニアの大庭@ohbashunsukeです。 去年のUnityアドベントカレンダー2020でUnityの次世代UIシステムという位置づけのUI Toolkitについて執筆しました。 UI Toolkitを検証するモチベーション 僕は普段の業務でUI開発に携わっています。 基本はuGUIベースのPrefabワークフローでUIを作っていて知見は溜まってきました。 大抵の課題はuGUIで解決出来ると思っています。 一方Unityが公式で発表しているUIシステム「UI Toolkit」はHTML/CSSといったフロント技術からインスピレーションを受けた技術でuGUIとは全く違うアプローチです。 GameObjectをほぼほぼ使用しないUI開発というのはUI畑にいる者としては興味がそそられます。 マネージャー視点ではチームビルドによって開発手法を今までとは大きく変えることも必要で、そん
この記事はUnity Advent Calendar 2020の12月16日の記事です。 Webフロント技術からインスパイアされて開発されたUnityの次世代UIシステム「UI Toolkit」がUnity2020.1からランタイムUIサポートをしています。1 今までのGameObjectベースではなくHTML/CSSのような記述で開発します。 UI Toolkit is based on, and inspired by, standard web technologies. If you have experience developing web pages or applications, much of your knowledge might be transferable, and many of the core concepts might be familiar. Un
はじめに Unity2020.2からプレビュー版ですがランタイムでもUI Elementsを使えるようになりました。 まだドキュメントなどは少ないのですがサンプルが用意されているのでそこから何ができるのか紹介していきます。 開発環境 Unity2020.2+ UI Toolkit 1.0.0-preview.14[1] (TextMesh Pro 3.0.3+とUnity2020.2+が必須) UI Builder 1.0.0-preview.13[2] インストール UI Toolkit Package ManagerのAdd package from git URLにcom.unity.uiを入力してインストールします。 UI Builder Project Settings > Package Manager > Advanced Settings > Enable Preview
サイバーエージェントのゲーム・エンターテイメント事業部(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 機能となっています。本記事で
ポーランドのデベロッパー(開発元)のSuperkamiとパブリッシャーのToplitz Productionsは3月29日、日本の「戦国時代」がモチーフのゲーム『Sengoku Dynasty』のシネマティックトレーラーを公開した。本作の対応プラットフォームはSteamで、2022年内の発売を予定している。日本語にも対応する。 『Sengoku Dynasty』は、 戦と飢えによって荒れ果てた戦国時代を庶民として生き抜くオープンワールドのサバイバルアクションゲームだ。プレイヤーは娘を持つ農民として「農民の国」に赴き、飢餓により荒廃した戦国時代を生き抜くこととなる。 プレイヤーは集落で影響力を得る度に、行えるアクションが拡張できる。指導者としてNPCとのコミュニケーションによる商売、恋愛、家族との暮らしからコミュニティは強固に成長する。 荒廃した戦国時代では自分自身のためだけでなく、コミュニ
スパイク・チュンソフトは3月25日、ZA/UMが手がけたオープンワールドRPG『ディスコ エリジウム ザ ファイナル カット』を、今年の夏に発売すると発表した。対応プラットフォームはNintendo Switch/PS4/PS5。パッケージ版とダウンロード版にて販売予定で、価格は未定。 *Nintendo Direct 2021.9.24にて公開されたトレイラー 『ディスコ エリジウム ザ ファイナル カット』は、記憶喪失の刑事を主人公とするオープンワールドRPGだ。自身が刑事であることを知った彼は、街で発生した殺人事件に巻き込まれ、相棒のキムとともに事件の真相を追うこととなる。 主人公の脳内には、知性・精神・肉体・運動能力に分類された計24種類の人格が存在。誰かと話したり何かを発見したりするたびに、頭の中でそれらが語りかけてくることが特徴だ。テーブルトークRPGにてゲームマスターと対話す
東京オリンピック2017 都営霞ヶ丘アパート 強制退去させられた都営霞ヶ丘アパート住民の最後の生活の記録から、 五輪ファーストの陰で繰り返される排除の歴史を描く。 五輪開会式の2021年7月23日(金)より緊急先行上映! 8月13日(金)より全国順次公開 About 映画について Comment コメント Trailer トレイラー SNS 新着情報 映画について オリンピックが奪う「終の住処」 都営霞ヶ丘アパートは1964年のオリンピック開発の一環で建てられた。 国立競技場に隣接し、住民の平均年齢65歳以上の高齢者団地であった。 単身で暮らす者が多く、住民同士で支えあいながら生活していたが、2012年7月東京都から「移転のお願い」が届く。 2020東京オリンピックの開催、そして国立競技場の建て替えにより、移転を強いられた公営住宅の2014年から2017の記録。 監督・撮影・編集 青山真也
本Chapterでは以下の画像のように頭上にプレイヤー名とHPを表示するUIの作成を行います。 頭上UIの導入方法 この頭上UIを表示するためにはまず頭上UIを表示するタイミングを考えます。 このUIはプレイヤーがログインし、そのPlayerのキャラクターが生成されるのとほぼ同時に生成され、プレイヤーがログアウトするのとほぼ同時に削除される必要があります。 つまり頭上UIのPrefabを作成し、プレイヤーPrefabに頭上UIを生成用のスクリプトを用意し、プレイヤーの生成時に頭上UIを生成することで表示できるようになります。 まとめると頭上UIを生成するための手順は以下の通りです。 頭上UIのPrefabを作成 プレイヤーPrefab内にPlayerManagerのScriptコンポーネントを作成 HP等のローカル変数格納用ScriptとしてLocalVariablesを作成 Sceneに
HP表示用UIの作成HP表示用のUIを作成していきます。 まずは敵キャラの子要素にCanvasを作成し、名前をHPUIとします。 その子要素にUI→Sliderを選択し、名前をHPBarとします。 HPBarの子要素のHandle Slide Areaはマウスドラッグで値を変更する時に使用しますが、HP用のバー操作は行わないので削除します。 階層は↑のようになります。 次にHPUIを選択し、キャンバスを敵の頭上に表示するようにします。 CanvasのRender ModeをWorld Spaceに変更し、普通のゲームオブジェクトと同じように移動できるようにします。 Rect TransformでScaleの値を調整し、WidthとHeightのサイズの調整をして敵の頭上に丁度良い大きさにします。 HPBarを選択します。 Directionでスライダーのメーターの方向を指定出来ます。 Ma
これは何? 公式サイト(?) にある乱数について軽く調べた記事。 色々ある C++ 版の文書を見ると、色々ありすぎてよくわからなくなる。 色々について真面目に読んだ。 stream 乱数の系列のことだと思う。 メルセンヌ・ツイスタのような乱数は、1系列のとても長い数列があって、その数列の開始点を種で指定する感じ。 PCG の場合、系列がたくさんあって、開始点も自由に指定できる。この系列のことを stream と呼んでいるんだと思う。 K-dimensionally equidistribute 乱数としてのばらつきの良さを表す指標のひとつ。K が大きいほど良いんだと思う。 たとえば出力する値が 32bit の場合。 32bit の値を K 個ずつまとめると 32×K ビットなので、出てくるパターンは $2^{32K}$ 通りある。K-dimensionally equidistribute
TL;DR Xorshift (10年前) George Marsagliaが考案しました。当時はC#で実装しました。Equidistributionの性質が不明なので、現代では言うまでもなく使用すべきではありません。 uint32_t xor128(void) { static uint32_t x = 123456789; static uint32_t y = 362436069; static uint32_t z = 521288629; static uint32_t w = 88675123; uint32_t t; t = x ^ (x << 11); x = y; y = z; z = w; return w = (w ^ (w >> 19)) ^ (t ^ (t >> 8)); } From https://ja.wikipedia.org/wiki/Xorshift
東京藝術大学大学院映像研究科ゲームコースの学生作品『Small Life』がIGF2022の学生部門でノミネートされました。ゲームはitch.ioで無料公開されています。藝大生が作成したゲームが学生部門でノミネートされるのは、『Downwell』(IGF2015)に続いて二作目。藝大ゲームコースの学生としては初めてとなります。 ゲームは作者の出身地である中国・深センの下町を舞台としたポイント&クリック方式のアドベンチャーゲームです。画面上で気になる箇所をクリックしていくと、さまざまなアニメーションが再生され、ちょっとした街のエピソードが再現されます。特に決められたストーリーは存在せず、プレイヤーごとにさまざまなナラティブが浮かんでくるゲームになっています。 アジアのシリコンバレーとして、過去20年で急速に発展した深セン。一方、本作で表現されているのは、そうした発展の影で消え去ろうとしている
HDMIも最新のバージョン2.1で大きく進化している(図1)。帯域幅はバージョン2.0から2倍以上になり、最大で8K解像度(7680×4320ドット)まで対応した。パソコンのグラフィックス機能ではNVIDIAの「GeForce RTX 30」シリーズや、AMDの「Radeon RX 6000」シリーズなどが対応しており、ゲーミングモデルを中心に対応するパソコンが普及し始めている。
はじめに 今回はPhoton Unity Networking 2 (PUN2)を使った複数人で共有してお絵描きできるキャンバスを作ってみたいと思います。 動作の様子 はじめに 準備 ルームに自動で入るように 線を描画するアルゴリズム Vector2.Lerpを使う方法 ブレゼンハムの線分描画アルゴリズムを使う方法 キャンバスを作成する DrawableTexture CanvasSynchronizer DrawCanvas さいごに 準備 まずはPUN2のセットアップが必要になります。以下の公式ドキュメントにあるPUNのインポートと設定を済ませてください。 doc.photonengine.com ルームに自動で入るように 今回は公式ドキュメントの基本チュートリアルにそいながら、シーン起動時に適当なルームに入るようコーディングしました。 細かい設定は各自でドキュメントを参考にしながら好
RectTransformUtilityを使ってスクリーン座標をRectTransform上ののローカル座標やワールド座標に変換する方法です。 スクリーン座標をRectTransform上のUIのローカル座標に変換する スクリーン座標をRectTransform平面上のワールド座標に変換する ワールド座標をスクリーン座標に変換 参考 Unity2018.3.1 スクリーン座標をRectTransform上のUIのローカル座標に変換する スクリーン座標をUIのローカル座標に変換するにはRectTransformUtility.ScreenPointToLocalPointInRectangleを使います。 これは、スクリーン座標を引数に与えたRectTransform平面上の点に変換します。 using UnityEngine; using UnityEngine.UI; [RequireC
QIXを作成する過程でTexture2Dに直接ラインを引く、塗り潰すことを検討していました。 実際には採用しなかったのですが、備忘録としてTexture2Dに描き込む方法を残しておきます。 public class PaintController : MonoBehaviour { public Texture2D texture2D; // 描き込み先のTexture public GameObject pointer; // カーソル private Brush brush; // ブラシサイズ、色情報を保持するクラス void Start() { // 初期化処理(Inspectorでpublic変数が紐付けられていない時はタグから取得する) if (texture2D == null) { texture2D = GameObject.FindWithTag("Canvas") .
グーグルが開発した画像圧縮ツールSquoosh。フロント開発向けにNode.jsで扱う方法まとめ 『Squooshスクーシュ』というGoogleが開発した画像圧縮ウェブアプリがあります。ブラウザで変換結果を見ながら圧縮設定ができるので、画像圧縮の難しい知識を持たない方でも使いやすいことが特徴です。圧縮だけでなく、WebPなどの各種フォーマットへの変換・リサイズといったこともできる便利ツールです。 このSquooshをNode.jsで扱える『libSquoosh』が存在します。libSquooshは大量の画像を一括で圧縮、WebPへの変換、リサイズなどの処理をこれ1つで完結できるのがポイントです。昨今のウェブはページの読み込み時間が重視される傾向があります。画像のファイルサイズは読み込み時間に大きく影響するため、画像圧縮は重要なテクニックです。libSquooshをwebpack・Viteと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く