【Python3】演算

x と y を数値 c を論理値 とする

x + y #加算
x - y #減算
x * y #乗算
x / y #除算
x % y #余り
x ** y #べき乗
x // y #切捨除算
~x #ビット反転
x & y #論理積
x | y #論理和
x ^ y #排他的論理和
x << y #ビット左シフト
x >> y #ビット右シフト
x = y #代入
x += y #x = x + y
x -= y #x = x - y
x *= y #x = x * y
x /= y #x = x / y
x **= y #x = x ** y
x //= y #x = x // y
x &= y #x = x & y
x |= y #x = x | y
x ^= y #x = x ^ y
x <<= y #x = x << y
x >>= y #x = x >> y
x == y #等値
x != y #不等値
x < y #小なり
x > y #大なり
x <= y #小なりイコール
x >= y #大なりイコール
x is y #等価
x is not y #不等価
x and y #論理積
x or y #論理和
not x #否定
x if c else y #三項演算子

インクリメント(++)やデクリメント(--)は使えない

【GDC 2018】記事リンク

4gamer

[GDC 2018]シリコンスタジオのポストエフェクトミドルウェア「YEBIS」がSwitchに対応

[GDC 2018]漁業ゲーム「Fishing: Barents Sea」の開発チームをイベントフロアで発見。なんとタラバガ二をフィーチャーする「Kingcrab DLC」を告知

[GDC 2018]新作VRアクションRPG「GARGANTUA」を先行体験。剣や盾を自由自在に操る本格的なバトルが楽しめる

[GDC 2018]Kalypso Media,「Tropico 6」と「Shadows: Awakening」のライブデモを公開

[GDC 2018]Co-opモードに対応した横スクロール型ストラテジー「Kingdom: Two Crowns」をチェックしてきた

[GDC 2018]「RTX」一色のNVIDIAブースで,ゲームにおけるレイトレーシング技術の活用アイデアをチェック

[GDC 2018]英語圏のゲーマー達を抱腹絶倒させたコメディRPG「West of Loathing」という奇作はどのようにして生まれたのか

スパイク・チュンソフト米国子会社が「428 ~封鎖された渋谷で~」や「STEINS;GATE ELITE」などを欧米で販売

[GDC 2018]王の死を以って,ゲームはプレイヤーのものになった。リチャード・ギャリオット氏達が語る「Ultima Online」のポストモーテム

[GDC 2018]XCOM2の自動生成マップに隠された物語とは? 小さな痕跡を使って物語を語る方法

[GDC 2018]Daydream対応では世界初となるスタンドアロン型VR HMD「Mirage Solo with Daydream」を体験してみた

[GDC 2018]RiftとOculus Go間でも対戦できるVRボードゲーム「Catan VR」

[GDC 2018]SIEのPlayStationブースで,次世代型e-Sports観戦システム「EDS」を体験してみた

[GDC 2018]山あり谷ありだった「Assassin's Creed」10年を振り返る

[GDC 2018]今は雌伏のとき。VRゲームが生き残るためにするべきことが語られた講演をレポート

[GDC 2018]「80 Days」のスクリプターが示す,「プレイヤーに読んでもらえるテキスト」を作る技術とは

[GDC 2018]Qualcommの新VR Development Kitはアイトラッキング対応。実機によるVRゲームデモを体験してみた

[GDC 2018]「Mystery House」はこうして作られた。ゲーム史の研究者によるPostmortem(事後検証)という異色のレクチャー

[GDC 2018]Oculusが2018年のVR戦略を語る。ソフトウェアの改良点から開発中の「Oculus Go」「Santa Cruz」まで

[GDC 2018]Supercellにおける「ゲームデザイン」では,何が行われているのか? 数々の名作を作ったデザイナーが実例を挙げて語った

[GDC 2018]恐竜世界をVRで冒険できる。「ARK Park」ローンチイベントレポート

[GDC 2018]“AIとの会話をゲームにする”ことの難しさとは。「EVENT[0]」の開発者が登壇した講演をレポート

[GDC 2018]「MONSTER HUNTER: WORLD」はなぜ世界的ヒットを成し遂げられたのか? 検証を重ねたプロトタイプの映像が世界初公開

[GDC 2018]約10年ぶりの続編「PixelJunk Monsters 2」が2018年5月25日に世界同時発売。スパイク・チュンソフトブースでデモが公開

[GDC 2018]こんなゲームだったのかと驚かされる「ザンキゼロ」の新情報をレポート。「STEINS;GATE ELITE」のデモも行われる

[GDC 2018]SteamSpyが2017年のSteamデータを総括。史上最高の売り上げを記録するも,その内情は少しいびつに?

[GDC 2018][西川善司の3DGE]DirectX Raytracingにおける最適解は「レイトレーシングを行わないこと」!? Futuremarkが語るその真意

[GDC 2018]ILMxLABの目指す未来は,VRやARを超えた「Hyper Reality」

[GDC 2018]ローグライクなゲームシステムを搭載したミニマリスト風RTS「Bad North」が初公開

[GDC 2018]「Radeon RX Vega M」搭載CPU「Kaby Lake-G」のベンチマークスコアをIntelが公表。GTX 1050 Tiより速い!?

[GDC 2018]新作ゲーム機「Atari VCS」,その正体はAMD製APU搭載のLinuxマシンだ

[GDC 2018]「フィンチ家の奇妙な屋敷でおきたこと」の完成は奇跡だった? 常識外れとも思える開発手法が紹介された講演をレポート

[GDC 2018]「Job Simulator」を生んだOwlchemy Labsの新作は,仕事疲れでバケーションを楽しむ主人公の狂騒曲を描く「Vacation Simulator」

[GDC 2018]HTCのスタンドアロンVR HMD「Vive Focus」,2018年内の発売が決定

[GDC 2018][西川善司の3DGE]DirectX RaytracingにRTX,Optix,ProRenderにRadeon Rays。“レイトレだらけ”の状況をすっきりさせてみる

[GDC 2018]「スプラトゥーン」はもともとウサギゲーだった! イカしたゲームになるまでの紆余曲折

[GDC 2018]日本の小さなゲームメーカーは世界で戦えるのか。Onion Gamesの木村祥朗氏が「Million Onion Hotel」の制作について語った

[GDC 2018]映像やAR/VR,さらにリアルタイムレイトレーシングまで! 2018年のUnreal Engineはこうなる

[GDC 2018] 任天堂が明かす,「ARMS」に活かされた「マリオカート」の経験とは?

[GDC 2018]Futuremark,「DirectX Raytracing」ベースとなるリアルタイム技術デモのムービーを公開

[GDC 2018]「ソニック・ザ・ヘッジホッグ」はいかにして誕生したのか。生みの親がその秘話を語った講演をレポート

[GDC 2018]ついにベールを脱いだ「Oculus Go」のローンチタイトルとなる「Anshar Online」と「They Suspect Nothing」をプレイ

[GDC 2018]視線追跡技術がVRを進化させる。Tobiiの語る「2ステップ・インタラクション」とは

[GDC 2018]「NieR:Automata」はどのような方向性をもって作られたのか。田浦貴久氏とヨコオタロウ氏が語る

[GDC 2018]昨年の最も優れたゲームを選ぶ「Game Developers Choice Awards」が開催。「ゼルダの伝説 ブレス オブ ザ ワイルド」がGame of the Yearを受賞

[GDC 2018]「Far Cry 5」におけるこだわりの「水面」表現法,教えます

[GDC 2018]ひと目でゲームの面白さが分かる画面設計の秘訣は,ポスター制作にあり? 良い画面設計のための,シンプルな方針

ファミ通

ハイエンド向け最新技術から“遊べる広告”のような超小型コンテンツまでカバー。Unity基調講演のトピックをまとめて紹介

『ライフ イズ ストレンジ ビフォア ザ ストーム』のシナリオは、4人のライターが生み出した。複数人が合体して、スーパーライターになるためには【GDC 2018】

宇宙飛行士のVR訓練に、ゲーム開発のノウハウが活かされていた! NASA、ボーイング、そしてゲーム開発者がツール制作について語る【GDC 2018】

esportsの従来スポーツ化の流れの先にあるものは……ゲームのIPは“シェアされるもの”になる?【GDC 2018】

不安定な治安、停電、超遅いネット。それでもそこにゲームで表現したい人がいるはずだから、私はゲーム開発を教えに行く。ある准教授の冒険【GDC 2018】

クリス・チャーラ氏に聞く、開発者がコンシューマーで簡単にソフトをリリースできるようになったのがID@Xboxの成果【GDC 2018】

キーとなるのは音と振動。視覚障害ゲーマーもサポートするためのエレクトロニック・アーツの挑戦【GDC 2018】

Unreal Engine 4の最新事例を紹介する“State of Unreal”詳報、ゲーム開発の未来を拓く最新技術を駆使した映像の数々に来場者も驚嘆【GDC 2018】

ゲームの中に留まらない『スプラトゥーン』という体験を提供していきたい。任天堂 野上恒氏が語る開発秘話と変遷【GDC 2018】

セガを代表するキャラクター、ソニックはいかにして生まれたか。安原広和氏と大島直人氏が『ソニック・ザ・ヘッジホッグ』開発当時を振り返る【GDC 2018】

『NieR: Automata』“触った瞬間に楽しい”アクションへのアプローチと、ヨコオ氏の考える“ゲームの自由”、そして隠された密かな願い【GDC 2018】

『ゼルダの伝説 ブレス オブ ザ ワイルド』が“ゲーム・オブ・ザ・イヤー”を圧巻の勢いで受賞、『NieR:Automata(ニーア オートマタ)』も“Audience Award”に輝く【GDC 2018】

旅人は、ゲーム作りからだけは逃げられない。『ミリオンオニオンホテル』の波瀾万丈な経緯アレコレ【GDC 2018】

リアルの世界で『パックマン』を楽しむ――MRアトラクション『PAC IN TOWN』を開発・運営するうえでの課題、そして気づき【GDC 2018】

『ARMS』と『マリオカート8』は兄弟のようなもの!? 任天堂の矢吹光佑氏が語る、長く遊んでもらうために必要なこと【GDC 2018】

『モンスターハンター:ワールド』プロトタイプの映像を初公開! 新時代の『モンハン』を作るために検証された、挑戦的アイデアの数々【GDC 2018】

ディープラーニングで毎日最大60万試合を解析して『CS:GO』のチーターを探す、Valveのビッグブラザー“VACnet”【GDC 2018】

Steamの外部DB“SteamSpy”創設者が語る2017年総括。中国語プレイヤーの伸びは『PUBG』のネカフェ需要が遠因?【GDC 2018】

『リーグ・オブ・レジェンド』新“名誉システム”に込められた意図とは? より健全なゲーム環境を求めて【GDC 2018】

IGN

[GDC 2018]Cone Marching法で描くフラクタルVRの世界「CORAL」

[GDC 2018]VRでマルチプラットフォーム展開をしていくということ

UnityとUniversalがインディーズゲーム開発者にハリウッド映画IPへのアクセスを与える理由

MoguraVR

VR/ARが視線追跡で進化する6つの理由【GDC2018】

ディズニーが挑む 脚本からVRアニメを自動生成【GDC2018】

ScriptableObject とそれ以外のパフォーマンス比較

調査内容

下記のような ScriptableObject や struct に対しデータの読み込み速度を測ってみた。

public class TestScriptableObject : ScriptableObject {
  public string[] stringValue;
  public int[] intValue;
  public float[] floatValue;
}
public struct TestStruct{
  public string[] stringValue;
  public int[] intValue;
  public float[] floatValue;
}

Unity のバージョンは 2017.3.1f1。 デバイスは ZenPad3 8.0 Z581KL 。

結果

// ハードコーディング
// PFS=36
for ( var i = 0; i < 2000; ++i ){
  var data = ScriptableObject.CreateInstance< TestScriptableObject >();
  data.stringValue = new string [ 10 ];
  for ( var n = 0; n < data.stringValue.Length; ++n ) data.stringValue[ n ] = "Hello";
  data.intValue = new int [ 10 ];
  for ( var n = 0; n < data.intValue.Length; ++n ) data.intValue[ n ] = 1;
  data.floatValue = new float [ 10 ];
  for ( var n = 0; n < data.floatValue.Length; ++n ) data.floatValue[ n ] = 9.8f;
}
// ScriptableObject
// PFS=14
for ( var n = 0; n < 2000; ++n ){
  var data = Resources.Load( "ScriptableObject/TestScriptableObject" ) as TestScriptableObject;
  Resources.UnloadAsset( data );
}
// Text
// PFS=8
for ( var i = 0; i < 2000; ++i ){
  var text = Resources.Load( "ScriptableObject/TestText" ) as TextAsset;
  var separator = new char []{ '\n' };
  var strings = text.text.Split( separator );
  Resources.UnloadAsset( text );
  var data = new TestStruct();
  var index = 0;
  var length = 0;
  length = int.Parse( strings[ index++ ] );
  data.stringValue = new string [ length ];
  for ( var n = 0; n < data.stringValue.Length; ++n ) data.stringValue[ n ] = strings[ index++ ];
  length = int.Parse( strings[ index++ ] );
  data.intValue = new int [ length ];
  for ( var n = 0; n < data.intValue.Length; ++n ) data.intValue[ n ] = int.Parse( strings[ index++ ] );
  length = int.Parse( strings[ index++ ] );
  data.floatValue = new float [ length ];
  for ( var n = 0; n < data.floatValue.Length; ++n ) data.floatValue[ n ] = float.Parse( strings[ index++ ] );
}
// Binary
// PFS=13
for ( var i = 0; i < 2000; ++i ){
  var text = Resources.Load( "ScriptableObject/TestBin" ) as TextAsset;
  using( var fos = new MemoryStream( text.bytes ) ){
    using ( var reader = new BinaryReader( fos ) ){
      var data = new TestStruct();
      var length = 0;
      length = reader.ReadInt32();
      data.stringValue = new string [ length ];
      for ( var n = 0; n < data.stringValue.Length; ++n ) data.stringValue[ n ] = reader.ReadString();
      length = reader.ReadInt32();
      data.intValue = new int [ length ];
      for ( var n = 0; n < data.intValue.Length; ++n ) data.intValue[ n ] = reader.ReadInt32();
      length = reader.ReadInt32();
      data.floatValue = new float [ length ];
      for ( var n = 0; n < data.floatValue.Length; ++n ) data.floatValue[ n ] = reader.ReadSingle();
    }
  }
  Resources.UnloadAsset( text );
}

まとめ

1.ハードコーディング(FPS=36)
2.ScriptableObject(FPS=14)
3.バイナリ読み込み(FPS=13)
4.テキスト読み込み(FPS=8)

実測してみると ScriptableObject が優秀だと分かった。

バイナリ読み込みは速度が出るけど自力でパースする手間がある。
テキスト読み込みはちょっと遅い。

開発初期は XML, JSON, CSV でデータを用意し、ある程度データ形式が固まってきたらパフォーマンスが気になるところを ScriptableObject に変えていくとかが現実的な使い方かもしれない。

XML, JSON, CSV は Editor ディレクトリに入れてエディタ拡張で ScriptableObject に変換。

使用したプロジェクト

github.com

【CEDEC 2017】記事リンク

4gamer

[CEDEC 2017]一周年で驚異的な伸びを見せた「逆転オセロニア」における,データアナリストの働き方とは

[CEDEC 2017]基礎からすっかり分かる「これで解決! ゲームに必要な3Dオーディオの全て」の聴講レポート

[CEDEC 2017]観客のための画面を作り,e-Sportsを分かりやすく。セガ独自の「ゲーム大会実況システム」とは

[CEDEC2017]売れないアプリが蘇る。「ジョーカー」「グリモア」の成功事例から見る,アプリボット秘伝の「ダカイ」術

[CEDEC 2017]ゲームの品質管理はAIに任せる時代!? スクウェア・エニックスが活用法を語る

[CEDEC 2017] 診察室でゲームが「処方」される未来へ。医療の視点からゲームの力が語られたセッションをレポート

[CEDEC 2017]シニア向けゲームの現状と未来が語られたセッション「はじめてスマホに触れるシニア世代のゲーム事情」をレポート

[CEDEC 2017]日本で高額賞金のe-Sports大会を開催するには? 刑法賭博罪・景表法・風営法による規制が解説されたセッションをレポート

[CEDEC 2017]「Pokémon GO」に至るNianticの道のりを日本人スタッフが紹介した基調講演の模様をレポート

[CEDEC 2017]「ゼルダの伝説BotW」の完璧なゲーム世界は,任天堂の開発スタイルが変わったからこそ生まれた

[CEDEC 2017]分析結果をシナリオにして開発者に伝える。「モンスターハンター エクスプロア」のデータ分析が語られたセッションをレポート

[CEDEC 2017]なぜゲームのモブキャラは「膝に矢を受けてしまって」程度しか話せないのか? 産業界の研究事例から学ぶ「AIと人との会話技術」

[CEDEC 2017]コントローラ,メッセージ,メニュー。ゲームの“お約束”を捨てた「ヘディング工場」の秘密はさまざまな制約にあり

[CEDEC 2017]「グランツーリスモSPORT」が実現した「HDR&広色域のネイティブ対応」とは何か?

[CEDEC 2017]“ユーザーと運営の友情”とは。セッション「ユーザーとのエンゲージメントを育むコミュニティ運営『友情マーケティング』の解説」をレポート

[CEDEC 2017]女流棋士とゲームクリエイターのコラボから見いだされた結論とは? 「ゲームビジネスの可能性を広げる異業種コラボ! 双方の市場を拡大するためのノウハウ」レポート

[CEDEC 2017]女流棋士とゲームクリエイターのコラボから見いだされた結論とは? 「ゲームビジネスの可能性を広げる異業種コラボ! 双方の市場を拡大するためのノウハウ」レポート

[CEDEC 2017]「ソードアート・オンライン」のようなMMORPGは本当に実現できるのか? 川原 礫氏と原田勝弘氏,二見鷹介氏による基調講演をレポート

[CEDEC 2017]参加者を魅了する謎の砂場「流動床インタフェース」とは?

[CEDEC 2017]ニューラルネットがキャラの動きを自然に,処理負荷を低くする? キャラクターアニメーション品質向上に向けた新提案

[CEDEC 2017]過去最大級の規模でCEDEC 2017が本日開幕。今年も現地からゲーム業界の最新情報をお届け

ファミ通

CEDEC 2018が8月22日~8月24日に開催決定、セッション講演者は2月1日より募集開始

『Horizon Zero Dawn』でオープンワールドに初挑戦したゲリラゲームズの気風と取り組み【CEDEC 2017】

RPGで抑うつ治療? 毎朝のトイレが課金の代わりに? ゲームが“処方”される未来へ向けた、最新のヘルスケア・ゲームの紹介と展望【CEDEC 2017】

『サマーレッスン』のドキドキ体験はいかに“家庭用ゲーム化”されていったのか?【CEDEC2017】

中国でのローカライズは検閲がたいへん!? プレイステーションの取り組みからSIEが実感した、中国のゲーム事情とは【CEDEC 2017】

『ゼルダの伝説 BotW』何気ないウィンドウやアイコンなどに隠された、プレイヤーを冒険の世界に没頭させる工夫と技術【CEDEC 2017】

DMM.comの担当プロデューサーが実例を交えてアドバイスする、VRコンテンツを企画する前に考えるべきこと【CEDEC 2017】

『ファイナルファンタジーXV』サウンド制作事例に見る ゲームのサウンドは映画に迫れる!? オーソリティーが問題点を解説【CEDEC 2017】

『ゼルダの伝説 BotW』アーティストのクリエイティブな作業を支えたエンジニアの仕事と制作フロー【CEDEC 2017】

イメージアートの技法やメカデザインの哲学などを最前線で活躍するトップクリエイターが紹介【CEDEC 2017】

『GRAVITY DAZE』シリーズはゲーム仕様という制限の中でどのようなシナリオ作りを行っていたのか!【CEDEC 2017】

超大作の成否をも左右する!?、テクニカルディレクターの“立ち居振る舞いかた”とは?【CEDEC 2017】

『ポケモンGO』を開発したナイアンティックが目指す“世界を動かすAR”【CEDEC 2017】

『逆転オセロニア』の成長を舞台裏から支える分析チームのプロフェッショナルなお仕事【CEDEC 2017】

CEDEC AWARDS 2017授賞式リポート 10回目の節目となるアワードの各部門最優秀賞者の喜びの声をお届け【CEDEC 2017】

ゲームの4K化やHDR対応にはまだまだ苦労あり? 最新ハイエンドゲームグラフィックスの先駆者たちによるパネルディスカッション【CEDEC 2017】

『人喰いの大鷲トリコ』トリコをリアルに動かすプロシージャルアニメーションとは!?【CEDEC 2017】

UE4でのモバイル開発環境はここまで進化した! 開発トラブル回避テクニックも【CEDEC 2017】

女流棋士・香川愛生さんとゲーム開発のプロとのコラボから生まれる将棋ゲームとは?【CEDEC 2017】

ゲーム業界で働くワーキングマザーたちが議論! 仕事と子育てを両立するためのヒントとは【CEDEC 2017】

『シャドウバース』ユーザーの行動ログからデッキのトレンドを分析する手法とは?【CEDEC 2017】

『ソードアート・オンライン』作者の川原礫氏やBNE原田氏が、小説内と現実の最新技術について語る! 未来のVRやAIはどうなる?【CEDEC 2017】

『チェンクロ』4年の歴史から考察するスマホゲームで物語を更新し続けること【CEDEC 2017】

Social Game Info

【CEDEC2017】ディライトワークスが語る、継続的に会社が成長する方法とは…優れたエンジニア「採用」「育成」「評価」サイクルについて

【CEDEC2017】複数アプリログデータを対象としたメタップスの利用状態解析から見えてくる消費者のゲームとの関わり方

【CEDEC2017】『FFXV』の12言語対応はいかに実現したのか…スクウェア・エニックスが誇る翻訳管理システム「Byblos」に迫る

【CEDEC 2017】『グリムノーツ』のキャラに”暖かみ”がある理由…イラスト・モーション・エフェクトなど多方面の制作から見る驚きの手法

【CEDEC 2017】『Shadowverse』の行動ログから見た「デッキのトレンド分析」…流行を把握してよりゲームを面白く改善する手法とは

【CEDEC2017】ゲーム開発のノウハウの書面化と共有をどのように進めるべきか? Cygamesの「教科書プロジェクト」の取り組みを紹介

【CEDEC 2017】『Shadowverse』の制作事例におけるゲームを盛り上げるアニメーション制作法とは…快適なプレイを求めて高品質&低負荷を両立

【CEDEC2017】人気タイトル『アナザーエデン』になぜ通信待ちストレスがないか。その理由は非同期オートセーブにあった

【CEDEC2017】キャラの個性や違いを可視化してシナリオライティングを支援する「キャラクターらしさ学習AI」について…効率化&品質向上に貢献

【CEDEC 2017】少人数での効率的な仕事方法…『武器よさらば』におけるカットシーン制作事例

【CEDEC2017】“最高のコンテンツ作り”のための開発運用を支えるCygames独自のDSL その仕組みとノウハウが明かされる

【CEDEC2017】グリーのリードエンジニアが教える「クラウド時代の長く効率よく運用するためのゲームサーバとインフラ設計」

【CEDEC 2017】スマホゲームに「エンディング」を入れるのは是か否か…『チェインクロニクル』4年間の変遷から実績データに基づいた結果を公開

【CEDEC2017】グリーのflashクリエイターはネイティブアプリ開発でブラウザゲームの知見をどう活かし、どのように役割を変えたか?

【CEDEC2017】『ジョーカー』『グリモア』を再生させたアプリボットのダカイ! 事例から紐解くその秘訣

【CEDEC2017】開発初期から振り返る『アナザーエデン』のマル秘話…「イベントやマップの作り方」や「バトルを5回作り直した理由」を明かす

【CEDEC2017】増大し続けるQA工数の削減を目指して!自動リプレイを用いたディライトワークスのQA改善への挑戦

【CEDEC 2017】Wright Flyer Studiosの不正アクセスによる影響とその対処法…実際にBANシステムを作ってみて苦労した点とは

【CEDEC2017】分析業務をブーストするBIツール活用術…ツール選定のススメと落とし穴

【CEDEC2017】『SINoALICE』&『CARAVAN STORIES』制作事例から見る、SPARK GEARを用いたハイクオリティなVFX開発

【CEDEC2017】ディライトワークス『FGO』の企画、デザイン、エンジニアが語る面白いゲームを創り続けるにあたって重視していること

【CEDEC2017】Cygamesが開発中のゲームエンジン「Cyllista Game Engine」を紹介…ゲーム開発者が最高のパフォーマンスを出せるエンジンに

【CEDEC2017】「自信を持ってゲームを異業種へ広げよう」…モノビット、蛭田健司氏と女流棋士の香川愛生氏が語る異業種コラボの可能性とは

【CEDEC2017】キャラクターモーションに対する熱いこだわりが生んだ、『武器よさらば』の薙ぎ払う爽快感

【CEDEC2017】Cygames Researchが語る「サーバサイド技術」とは…ゲームシステムと連動した“ビジュアルチェックイン”サービスを紹介

【CEDEC2017】デジタルアニメ制作の未来展望…デジタル化を先進する3社が語る最前線の制作手法とは

【CEDEC2017】『オルタナティブガールズ』エンジニアが挑んだAssetBundleの管理方法―基盤化に伴う問題と対処法を紹介

【CEDEC2017】先進事例と展望から見えてきた「ヘルスケア×ゲーム」の医学的なメリットやビジネスとしての可能性

【CEDEC 2017】マルチプレイ機能実装に欠かせない「Photon」のメリットとは…『ガルパ』『みんゴル』での採用実例を公開

【CEDEC2017】セガ・インタラクティブが開発・運用するゲーム大会実況システムが、今後のeSportsに対する取り組みの方向性を示す

【CEDEC2017】カヤックが実践する「友情マーケティング」とは? コミュニティ形成を通じてユーザーと一緒にタイトルを継続的に育てていくために

【CEDEC2017】モバイル開発の必須機能が揃う「Unreal Engine 4」とは…『リネージュ2 レボリューション』『Hit』の実例から見る機能・開発

【CEDEC2017】ダビスタはどのようにして操作テンポと開発スピードを上げたのか ドリコムが実践するUIフレームワークの作り方

【CEDEC2017】固定観念を覆す『モンスターハンター エクスプロア』のデータ分析…開発者の感性を最大限引き出すデータサイエンスに

【CEDEC2017】PMの役割は連携、進捗管理、情報整理しPJを牽引すること…ディライトワークス「FGO」開発チームが明かす面白いゲームを創り続ける要諦とは

【CEDEC2017】シニア世代もオンラインでゲームを遊ぶ時代…いつでも手軽に将棋を指せる相手が見つかるのは画期的

【CEDEC2017】ゲームの運営や収益化に深刻な被害を与えるチートをどのように防ぐのか?  サイファー・テックが事例を交えて紹介

【CEDEC2017】スマホゲームのセキュリティの課題と対策は? アプリへの攻撃を可視化する「DxShield」でわかった攻撃の傾向や事例を紹介

【CEDEC2017】『ポケモンGO』はどう開発されてきたのか…ナイアンティックが考えるARの在り方

【CEDEC2017】Cygames Researchが語る「サーバサイド技術」とは…ゲームシステムと連動した“ビジュアルチェックイン”サービスを紹介

【CECED2017】制度的枠組みに関する知見を交え、国際カジノ研究所の木曽氏が語ったカジノとeSportsの未来

Gpara

[CEDEC2017]将棋人口を増やし、ゲームの売上拡大も狙う/「ゲームビジネスの可能性を広げる異業種コラボ! 双方の市場を拡大するためのノウハウ」レポート

[CEDEC 2017]人を外に出すことで世界を変えることができる『Ingress』『Pokémon GO』に込められた思い

[CEDEC 2017]サービスから4年を迎えた『チェインクロニクル』。結果と向き合い“正しく”変えて行くことが重要だった

[CEDEC 2017]基調講演「ソードアート・オンライン」の世界で描かれるVR、AR、AIは果たしてオーバーテクノロジーなのか

[CEDEC2017]ユーザーと運営が互いに友情を高め合うために大切なこと/「ユーザーとのエンゲージメントを育むコミュニティ運営“友情マーケティング”の解説」

[CEDEC2017]温故知新で学ぶゲームのマップデザイン/「ゲームにおける『マップ』のデザイン~アナログゲームの知見から」レポート」

Gamer

【CEDEC 2017】PS VRの最新状況と「傷物語VR」の開発で目指したことをSIEの秋山氏とカヤックの天野氏が語る

【CEDEC 2017】プロダクトチームの「糊」となる―プロダクトを成功に導くプロダクトマネージャーの仕事術とは?

【CEDEC 2017】「年末年始イベント」で一気に大ブレーク!1300万ダウンロード突破の人気スマホゲーム「逆転オセロニア」を下支えしてきたアナリストたちの仕事とは?

【CEDEC 2017】「根性論と残業はダメ!」―「GRAVITY DAZE」シリーズのスタッフが合理性と効率を考慮したシナリオ制作の手法を紹介

【CEDEC 2017】高品位フォントは、こうして生まれる―国内シェアNo.1のモリサワのフォントが作られるまで

【CEDEC 2017】世界最初のMMORPGから「Pokémon GO」へ―全世界で160億キロメートル歩かれたタイトルは如何にして生まれたのか?

【CEDEC 2017】「オープンエア」の世界はこうして作られた―「ゼルダの伝説 ブレス オブ ザ ワイルド」におけるフィールドレベルデザインの講演をレポート

【CEDEC 2017】開発ノウハウのなさからバトルシステム完成まで5回も作り直し―「アナザーエデン」が完成するまでの意外な裏話とは?

【CEDEC 2017】「サマーレッスン」技術デモから製品化へ―求められるものが真逆という困難を乗り越えるために必要だったこととは?

【CEDEC 2017】胸は大げさに揺らせばいいものではない―「Fate/Grand Order VR feat.マシュ・キリエライト」制作秘話

【CEDEC 2017】5秒に1マシュ―塩川洋介氏が語る、「FGO VR」を支える“非常識”な企画術とは?

【CEDEC 2017】プラチナゲームズが明かす、アクションゲームにおけるアニメーションとは―モーションひとつを突き詰めていくそのこだわりと極意

【CEDEC 2017】企画からリリースまで若手だけでやってみた―「『若手小規模プロジェクト』のススメ ~昨今の業界における若手育成の問題点とその解決方法の提案~」をレポート

【CEDEC 2017】「ソードアート・オンライン」の世界は現実になるのか―作者の川原氏がバンナムの原田氏、二見氏と小説内の技術について大いに語る

【CEDEC 2017】コラボとは「読み合う」こと―ゲームクリエイターと女流棋士が語る“異業種コラボで双方の市場を拡大するためのノウハウ”をレポート

IGN

[CEDEC 2017]ゲーム特許とはなにか? 効果的なゲーム特許の取得方法

[CEDEC 2017]会社員からフリーランスになるという選択は正しいのか

[CEDEC 2017]「乖離性ミリオンアーサーVR」に見るVRリアルタイムCGアニメーションの作り方

[CEDEC 2017]Oculus VRによる新作ゲームから見られる最新の知見

[CEDEC 2017]ゲーム開発者こそ,優れたゲームライターになれる。「ゲーム開発経験を生かすライター活動のすすめ」をレポート

[CEDEC 2017]ヘキサドライブが新人教育のために導入した「若手小規模プロジェクト」とは何か

[CEDEC 2017]Steamの膨大なゲーム群に埋もれないために。どのように自社タイトルをPRすればいいのか

[CEDEC 2017]HTCによるViveの業者向け(?)Tipsと今後の展開

GameBusiness

【CEDEC 2017】AIは『人狼』をプレイできるのか?人間vs AI戦も展開されたセッションレポ

【CEDEC2017】継続率を高めるKPI管理の仕組みースマホゲームのカスタマーサポート運用ノウハウ

【CEDEC 2017】日本とベトナムのゲーム共同開発の要は「チームとなること」―GIANTYセッションレポート

【CEDEC 2017】PS VR『Fate/Grand Order feat.マシュ・キリエライト』のコンセプトと非常識な企画術、そして隠された秘密とは

【CEDEC 2017】増え続けるチート被害、その傾向と具体的な対策とは

【CEDEC 2017】プレイヤーAIを使用したバランス調整、増え続けるQAコストを抑えるためにできること

【CEDEC 2017】アカツキが語るハッカソン成功の秘訣は「主催者の愛」

【CEDEC 2017】『NieR:Automata』の世界を彩る効果音はどのように実装されたのか?デザインコンセプトとその仕組みについて

【CEDEC 2017】グリー『アナザーエデン』開発における課題の解決術...円滑な開発は失敗から?

【CEDEC 2017】『Fate/Grand Order』開発チームが語る、面白いゲームを創り続ける秘訣

【CEDEC 2017】ゲームの特許は難しくない!だれでもわかる効果的なゲーム特許の取得方法

【CEDEC 2017】基調講演『ソードアート・オンライン』が見せる未来、小説とテクノロジーについて語る

MoguraVR

HoloLensのユースケース、複数人での使用や、対話インターフェイスなど【CEDEC 2017】

視聴者を「置いてけぼり」にしないVRコンテンツの作り方【CEDEC 2017】

人気スマホゲームをどうVRコンテンツにする?『FGO VR』の企画で追求された3つのコンセプト【CEDEC 2017レポ】

「ビデオゲームのお約束を捨てよ」-VRゲーム『ヘディング工場』の開発事例-【CEDEC 2017】

VRの災害活用 ゲームエンジンの“嘘の表現”をどこまで取り入れるか【CEDEC 2017】

PSVR『サマーレッスン』数分の技術デモからじっくり遊べる製品化への道のり【CEDEC 2017】

子育てVRエンタテイメントは社会への提案ができるのか!? ”Real Baby – Real Family”【CEDEC2017】

『ポケモンGO』が出来るまで Niantic川島氏・野村氏がARに託した思い【CEDEC2017】

実写VR制作の問題点・解決策とは? ソニー・ミュージック『anywhereVR』制作事例【CEDEC2017】

Wright Flyer Studiosが語る、VRリアルタイムCGアニメーション制作の秘訣とは?【CEDEC2017】

液体のように動く砂が開発者の好奇心を刺激!「流動床インターフェース」【CEDEC2017】

遠隔地にいてもそこにいる『HoloPortationLite』で新時代のコミュニケーション【CEDEC2017】

VRで重要な3Dオーディオの使い方 各論編 Ambisonics、HRTF、バイノーラル【CEDEC2017】

基調講演『ソードアート・オンライン』川原氏と『サマーレッスン』原田氏らが語る、VR/ARの未来【CEDEC2017】

VRで重要な3Dオーディオの使い方 基礎と事例紹介編【CEDEC2017】

移動、アバター…VRゲーム開発の最前線からのノウハウをOculusが一挙紹介 【CEDEC2017】

かわいいアイドルに、モブ(聴衆)がいてこその最高のVRライブ体験。『シンデレラガールズ ビューイングレボリューション』開発者セッション【CEDEC2017】

HTC Vive、意外と知らない機能や開発Tipsが紹介【CEDEC2017】

【Unity】今更ながら RectTransform をスクリプトから制御する方法が調べてみた3

関係性

「offsetMin / offsetMax」を操作した後
「anchoredPosition と pivot と sizeDelta」を操作すると
「offsetMin / offsetMax」が反映されない。

逆に、

「anchoredPosition と pivot と sizeDelta」を操作した後
「offsetMin / offsetMax」を操作すると
「anchoredPosition と pivot と sizeDelta」が反映されない。

調査に使用したプロジェクトはこちら。

■HAL9HARUKU/TestRecttTansform

github.com

RectTransform をスクリプトで制御するためのまとめ

[1] anchorMin で左下の制御点(アンカー)を、
anchorMax で右上の制御点(アンカー)を決める。

[2] 「offsetMin / offsetMax」または「anchoredPosition と pivot と sizeDelta」
で配置を確定させる(混ぜて使わない)。

【Unity】今更ながら RectTransform をスクリプトから制御する方法が調べてみた2

※anchorMax の x,y を 0.6、anchorMin の x,y を 0.4 に固定

pivot のみの制御

pivot を

x y
0.0 0.0
0.5 0.5
1.0 1.0

で試してみたが sizeDelta の x,y が 0.0, 0.0 である限りは何も変化がなかった。

f:id:kIQu8djyxnPCBnVI:20171212025547p:plain

f:id:kIQu8djyxnPCBnVI:20171212025603p:plain

f:id:kIQu8djyxnPCBnVI:20171212025604p:plain

pivot と sizeDelta の制御

sizeDelta を 100, 100 に変えてみたところ、

pivot が 0.0, 0.0 の場合は右上方向に大きくなった。
pivot が 0.5, 0.5 の場合は真ん中を中心に大きくなった。
pivot が 1.0, 1.0 の場合は左下方向に大きくなった。

f:id:kIQu8djyxnPCBnVI:20171212030628p:plain

f:id:kIQu8djyxnPCBnVI:20171212030632p:plain

f:id:kIQu8djyxnPCBnVI:20171212030637p:plain

anchoredPosition の制御

anchoredPosition を変更すると全体的に移動した。

f:id:kIQu8djyxnPCBnVI:20171212030946p:plain

【Unity】今更ながら RectTransform をスクリプトから制御する方法が調べてみた

■unity DOCUMENTATION # RectTransform

https://docs.unity3d.com/jp/540/ScriptReference/RectTransform.html

そもそもアンカーとは何か?

英辞郎 # anchor

https://eow.alc.co.jp/search?q=anchor

anchor 【自動】 いかりを下ろす、投錨する

※pivot は 0.5, 0.5 で固定

anchorMax / anchorMin / offsetMax / offsetMin の x,y を 0 にしてみた。
何も表示されない。
Scene を見ると左下にオブジェクトがあるようだ。

f:id:kIQu8djyxnPCBnVI:20171212013410p:plain

anchorMax / anchorMin の x,y を 0.5 にしてみた。
同じく何も表示されない。
Scene を見ると中心にオブジェクトが移動した。

f:id:kIQu8djyxnPCBnVI:20171212013415p:plain

offsetMax の x,y を 100 にしてみた。
100 ピクセルの矩形が表示された。

f:id:kIQu8djyxnPCBnVI:20171212013423p:plain

offsetMin の x,y を -100 にしてみた。
左下の頂点の x,y が -100 移動し、縦横 200 ピクセルの矩形が表示された。
(このことから offsetMax は右上の頂点を制御しているようだ)

f:id:kIQu8djyxnPCBnVI:20171212013427p:plain

anchorMax の x,y を 0.75 してみた。
右上の頂点が 3/4 より少し上に移動した。

f:id:kIQu8djyxnPCBnVI:20171212013434p:plain

まとめ

  • anchorMax は右上頂点を制御する。値は親オブジェクトの割合で 1.0 = 100%。
  • anchorMin は左下頂点を制御する。値は親オブジェクトの割合で 1.0 = 100%。
  • offsetMax は左下頂点を制御する。値は anchorMax からの相対位置。
  • offsetMin は左下頂点を制御する。値は anchorMin からの相対位置。