kcozy's blog

いろいろ

MacではじめてのOpenGL

はじめに

やりたいと思っていたOpenGLをやり始めたのでメモ.Macgccを使います.

 

参考記事

qiita.com

qiita.com

 

プログラムの作成/実行

適当なディレクトリにC++のコード(.cppファイル)を作ります.そして以下のmain.cppのような感じでコードをかく.

 

github.com

 

コンパイル

g++ main.cpp -framework GLUT -framework OpenGL -mmacosx-version-min=10.8

できた実行ファイルを実行してみる

./a.out

するとこんな感じでウィンドウが起動する.

f:id:kcozy:20170619214758p:plain

 

おわりに

始めるのは簡単.資料は古いものが大きいがするが,使えないものは少ない気がするので地道にやっていきたい.

「明日ちゃんのセーラー服」を読んで

「明日ちゃんのセーラー服」という漫画の単行本1巻を読みました.

www.amazon.co.jp

 

この漫画はヤングジャンプのweb comicsで無料で読むことができます.連載当初から読んでいて内容を知っていましたが,単行本発売を聞いて即ポチしました.

www.tonarinoyj.jp

 

なんで中身知ってる漫画の単行本を買ったのか,書いていこうと思います.

 

「明日ちゃんのセーラー服」の魅力

内容

あらすじを上記ページから引用すると

舞台は、田舎の名門女子中学・私立蠟梅学園わたくしりつろうばいがくえん
この学園のセーラー服を着ることが「夢」だった明日小路あけびこみち
少女の「夢」の中学生ライフがついに始まる♪
広がる、緑豊かな田園風景。ゆっくり流れる青春時間。
田舎×中学生×セーラー服「友達100人出来るかな?」
俊英・博が、柔らかなタッチで贈る優しい学園物語…入学です♪♪

となっています.

この漫画は明日 小路(あけび こみち)という女子学生が私立(わたくしりつ)の女子中学校に進学するところから物語が始まります.異世界に行ったり,魔法少女になったりはせず,ただ学校生活を眺めるだけです.

しかし明日ちゃんが今まで通っていた小学校には妹しかおらず,同年代の人との付き合い方があまりわかりません.そんな彼女がまわりの生徒がいい意味でおもしろいと感じ,次々と友達になっていきます.

私は女子校に通ったことがない(それはそう)なので,田舎の女子校の理想としてこの漫画を読んでいます.

加えて私が「キルミーベイベー」,「みなみけ」のような日常を描いた漫画が好きなため,こういった話はどんどん読みたくなってしまいます.

 

絵柄

 この漫画は博さんが描かれています.

twitter.com

 

一度見ればわかりますが,既存の漫画とは一風変わって"絵"のような作品です.いろいろな場面に,そんなこと実際やらないだろ,と突っ込みたくなる箇所がありますが,絵の魅力がその違和感をなくしています.いわゆる吸い込まれるってやつです.

 

明日ちゃん

かわいいです. 

 

読むべき人

  • 田舎の話が好きな人
  • 女子校の話が好きな人
  • 絵を楽しみたい人

 

Unite 2017 備忘録

Unite 2017 Tokyoに行ってきました.

events.unity3d.jp

二日間朝から晩まで座っていたため,ケツが痛いです.

各セッションでスライド,動画が公開/未公開のものがありますが,自分の参加したセッションのメモを残しておきます.

1日目

プリキュア

Unity導入について

  • 魔法使いプリキュア!」EDはmade with Unity
  • リアルタイムの可能性を映像作品に

    • 今まではMaya
    • レンダリング工程のコスト低減
    • 週替わりのED
    • VR/ARコンテンツへのつながり
  • モデリング-> アニメーションレイアウト-> LookDevLighting

  • Maya -> Unity

  • カット割に依存しないアニメーション

  • カメラのロケーションを変えることで複数のバリエーションが
  • Maya/Unity比較
    • MAya
      • 1frame/12min
      • 1cut/12day
    • Unity
      • 1frame/5sec
      • 1cut/15sec
    • 48倍効率化!?
  • 従来のED:長期コストをかけて半年放映
  • 今回のED:リアルタイムの導入→視聴者とのコミュニケーション
    • 多角的な放映
    • アニメに入れる

Unityシェーダー開発

NPRについて

  • EDにおけるシェーダー
    • 単一のシェーダー→できるだけ汎用的なNPR
  • 単一のシェーダーで様々なマテリアル表現

    • HakkinenShader
  • シェーダーで要素やディテールを追加

  • セル表現とシェーダー

    • 標準色/影色/二号影
      • テクスチャ及び単色で指定
    • 落ちかげ/受け影
      • 特定部位への影キャンセル
    • 輪郭線
      • 線色と線幅+カメラの焦点距離に合わせた線の太さ調整
    • リムライト
      • スクリーン/加算
    • ハイライト
    • Yグラデーション
      • 「パラ」を出せる
    • 反射/屈折

    • 内部処理

      • 法線情報/UV座標/視点ベクトル/ライト方向ベクトルによる
  • 所感

    • 絵を即座に確認出来る
      • ストレスフリーの作業
    • ゲームエンジンではシェーダのウェイトが高い
    • デザイナーがシェーダーを書く重要性
      • デザイナーが欲しい機能を本人が実装
      • 敷居が低い
      • DCCツールのマテリアル表現より自由度が高い

ワークフロー・パイプライン開発

  • MayaからUnityへ

    • アニメーションの移植

      1. FBXでボーンを
        • ファイルサイズが小さい
        • Deformerが限定される
      2. Alembic(頂点位置をキャッシュ)
        • ファイルサイズが大きい
          • 問題ないと思ったが,長い時はプロジェクト開くのに30分
          • HDDだったため,SSD推奨
        • Deformerを限定しない
        • インポートにAlembicImporterを使用
    • マテリアルの適用

      • マテリアル付きメッシュをインポート
    • カメラのコンバート

      • UnityJapanの小林さんのスライド
  • Shotgunとの連携

    • assetのインポート等の手間を短縮
    • ワンクリックで全て終わり
    • 連携前後で差が15分
    • シーンの構築で時間の差
    • 1/20に短縮

Google Tango/Daydream

  • 情報のアクセスしやすさ,使いやすさのため
  • Spacial Computing
    • 15年ごとの流れ
    • 次はVR/AR/MR
  • spatially awareな情報のやり取り
  • モバイルの普及(3 Billion)

Daydream

  • presenceの感覚
  • カードボードとOculusの間
  • カードボードは1000万出荷した
  • information universalyのためのカードボード,Daydream
  • 三つのコンポーネント
    • 視覚,聴覚,何ができるか
  • 見えるべきものが見える,遅延0
    • しかしシミュレーションには時間がかかる
    • 体の動きから視覚への反映まで20ms以下でないと違和感
    • hard,softともにそれをクリアする
    • Pixel, Android N
  • immersiveな音>ハイポリゴンオブジェクト
    • SDKの中で部屋の大きさ等から正確な音を生成
  • インタラクション

    • R model : 実際動きに合わせてVR内で動く
    • メタファーを使う
  • ベストプラクティス

    • ユーザの環境:座っているであろう
      • 真後ろを見るのは大変
      • 移動も大変
    • 激しい動きは抑える:期間を短く
    • 現実で怖いものは怖い
      • 高所,閉所,開所
      • オブジェクトに入り込む
      • 安全である必要
  • Daydream Rendeler

    • 動的ライティング可能
  • Editorでプレビュー

  • GPUの解析ツール

Tango

  • Virtualなオブジェクトをどのようにリアルにするか

  • 実世界をスマホに理解させる

  • 人は画像一枚で動ける場所がわかる
  • 3つのハードウェアう

    • Depthセンサー
      • 広角カメラ(Motion tracking)
  • Motion Tracking

    • カメラがどこにいるか
  • Depth Prerception
    • 距離,床,壁判定
  • Area LEarning

    • 一度行った場所を覚える
  • peer inside

    • 博物館のミイラの中身を見る

Kudan

Pepper

  • Unityでの実行(Mono)とHoloLensでの実行(UWP)形式が違う
  • ライブラリに注意

HoloLens

  • Mixed Realityの定義

    • Physical RealityとVirtual Realityの融合
    • ARと何が違うか
      • AR:オブジェクトを重ねて表示
      • MR:3D空間上にオブジェクトを表示,インタラクションできる,オクルージョン
  • アプリケーション

    • 2Dアプリ
    • ホログラフィックアプリ
  • Portalで色々できる

  • 光の足し算
    • 外ではあまり使えない
  • holomagisians
  • 1.25-5mの間にホログラムを置くと良い

    • 触らせない
    • ジェスチャで遠隔操作
    • 2Dのウィンドウを出すのは2mが良い
  • トーリーが重要

    • 誰が使うのか
    • 何を表示するのか
    • 目的・対象は何か
  • Technology Drivenはダメ
    • Hololensでの開発が目的では誰も使わない
  • Envisioning

日本列島VR/HoleLenz

日本列島VR

  • 地図CG
  • substance materialの問題点

    • パラメータ変更時に再生成
    • 大きなデータは時間がかかる
    • シェーダでの作成に変更
  • Shader

    • Substanceで汎用素材作成->シェーダ
  • 標準Unity Terrain

    • 境界部分:terrain stitcher
  • 15度刻みで回転:スティック一回で一回転

  • メモリに全国を載せる

    • TerrainのLOD設定を調整
    • 距離が離れたらterrainを消す
    • シンプルなメッシュに差し替え
  • 二種類のカメラを用意

    • 地形:1unit 1km
    • UI:1unit 1m

HoleLenz

  • ステンシル
  • Gateの指向性
  • FOVが狭いので見せ方に工夫が必要
  • グラフィック最適化
  • MR:同じ座標なのにAにもBにもなる
  • 何を捕涌現するかでAR/VR/MRを使い分け

最適化

  • 最適化

    • クオリティを維持してパフォーマンスの向上,メモリ削減
    • なぜ:ターゲット端末での処理速度
  • 「パレードの法則」

    • 8:2の法則
    • 全体の数字は,一部分による影響
  • 直すべき処理を見つける

  • いきなり最適化ではダメ

    • 現状の負荷を把握したい
    • ゴールの明確化
  • 手順

    1. 負荷箇所を探す(プロファイリング)
    2. 直す手段を立てる
    3. 直す
  • Unity標準のProfilerで大体分かる

    • グラフで分かる
    • Window -> Profiler
    • Active ProfilerでAndroid/iPhone上でも
  • Unityのメモリ2種類

    • C#(Mono)
      • スクリプトで使うメモリ,GCされる
      • 予約して使う,アプリ終了まで返されない
    • Unity
      • リークする可能性あり
  • Assetの圧縮も必要かも

  • ロード時間が長い

    • 実は初期化処理?
    • Debug.Logは重い→プロファイリングするときはOFFに
  • AssetBundleを使っている場合

    • 同じテクスチャ等を二重読み込みをしているかも
  • 一瞬だけ画面が固まる

    • ほとんどGCが走っている
    • 特にString操作にメモリをたくさん使っているかも
  • 低いフレームレート

    • 60FPSにしたい→1フレームの処理を16.6msで終わらせる必要
    • ゲームロジック or 描画処理
      • 描画処理の修正を優先
    • PCとMobileでは描画処理の差が
    • MeshColliderは思い->BoxCollider等で置き換え
    • Time -> Fixed ~ :物理判定回数を減らす
    • UI処理は頂点計算に時間がかかっている
      • uGUIはAnimationしているものは別Canvas
  • BeginSample()で囲んでプロファイラを見やすく

2日目

建築におけるUnity

  • BIM(Building Information Modeling)
    • 1つの3Dモデルで情報共有
  • VDC(Virtual Design and Construction)
    • 仮想空間で何度もエンジニアリングを試す
  • 情報可視化のためのVR
  • BIMデータは重い
    • 軽量化していない
    • skpで取り込むと比較的良い
  • AR:見えない部分を見せる
    • 大型の建築:特徴点が少ない
  • MR:サイズ感と仮想の融合

PS VR

  • PS4向け4K360度動画plug-in
  • VRプロジェクションマッピング

  • Unity for PS4

    • ほぼUnity
    • Building SettingでPS4を選ぶだけ
  • UnityでのPS VR

    • renderScaleは1.4(推奨設定)
  • PlayMaker

    • トーリーの分岐が目に見えるAsset
    • シーンごとに作成
  • uSequencer

    • 開発が止まっている
    • UnityのTimelineを推奨
  • ポリゴン数

    • マシュ:10万弱
    • VRは二回描画されるので多めに見る
  • Shader

    • Unityちゃんットゥーンシェーダーをもとに
  • VRコンサルティング

    • 奥行きの矛盾
      • 常に最前のシェーダーなど
    • 画面真っ暗がダメ
    • フレームレート
      • 60fps死守
  • デザイン

  • マシュを可愛く見せるために

    • Final IK
      • 姿勢と視線:LookAtIK
      • これだけだとロボットぽい
        • 全モーションに対して
          • LookAtIKの変化アニメーションを作成
    • 服と髪の揺れ
    • 胸の揺れ
      • シミュレーションしてベイク
    • インタラクションに関係ない部分
      • モーションにベイク

漫才VR

  • VR絵コンテの必要性
  • 音声認識

    • HMD内臓マイク
    • Julius
      • 無償
      • 商用利用可
      • 深層学習
      • オフライン
  • 観客も楽しむ

  • 360度動画はファイルが大きい
    • commitしない
    • metaファイルだけあげる
  • 音声の収録を一本化する
    • 別撮りだとタイミング合わせの編集が必要
    • ハッカソンでは時間が足りない
  • MVC(Model View Contololler)

CAD VR

  • SYMMETRY
    • 可視化のためのツール
  • 高速化>コードの可読性

Asset bundle

  • AssetBundle Graph Tools
  • AssetBundle Browser

東大 知覚

  • VRにおける触覚

    • メリット:操作性,臨場感,楽しさの向上
    • 触覚-快楽,安心感
    • 触覚提示手法の種類
    • 問題点
      • 専用デバイスが必要
      • 高コスト
      • 汎用性
  • クロスモーダル現象

    • かき氷のシロップ
  • 空間知覚

    • ほぼすべての感覚を統合することで構成される
    • 映像によって三次元的に空間知覚を操作できる
  • VRは感覚・知覚をHackする技術

  • ハンドプレゼンス

    • 自分らしい手を作る
    • 身体所有感(心理学)
  • 動きが一致していれば,自分の手だと思う

  • LeapMotionだとトラッキング漏れでプレゼンス低下
  • コントローラで動きを制限する方法もあり

  • Proteus Effect

    • VRにおけるアバターの身体特性が認知・行動を変える
  • 自分の手の大きさで物体のサイズ知覚が変わる

  • まとめ

    • 「人間が身体を認知する仕組み」はまだまだ未知

VRにおけるキャラクター表現

  • 魅力的なキャラクター表現

    • 不気味の谷現象
    • プレゼンス
      • 目の重要性
        • 目のハイライト
          • 死んだ魚の目
        • アイコンタクト
          • 目があう
          • Look At
        • まばたき
      • 口の重要性
        • 呼吸
          • 呼吸音
          • 呼吸の動き
      • その他
  • キャラクタを生かす

劇場版SAOを見て

ソードアート・オンライン オーディナル・スケールを見ました.

 

sao-movie.net

 

1回目はアニメ等を全く知らずに見て,2回目はアニメ化されているものを全部見てから4DXで見ました.

 

(以下ネタバレ含む)

 

 

 

 

 

 

 

はじまり 

SAO,ALO,GGOがナーブギアを用いたVRMMOだったのに対し,今回のオーディナル・スケール(OS)はオーグマーというデバイスを用いたARゲームです.しかしこの映画はOS以外のオーグマーを用いたインタラクションやインタフェースが面白いという話を耳にして,興味を持ちました.SAOは名前を知っててHNにキリトが多い原因を作っていると言うことしか知りませんでしたが,友達に誘われて見に行きました.

 

1回目

わからないことも多かったが,雰囲気で楽しめました.一番初めにEijiが明日奈に「スイッチ」と言った時に,NintendoSwitchが頭に浮かんだりしました(ちょうどBoWにハマっていたため).印象に残ったセリフは,重村教授が言っていた「VRゲームでやってたようなことはARデバイス(オーグマー)で視覚,聴覚と一部の触覚を情報提供すれば危険性なく遊べる」です(曖昧なので大体の意味しかあっていない可能性が高い).これはVR・ARともに視聴覚の重要性と触覚の必要性を再認識させられたセリフであり,これらの整合性が取れていればユーザの現実世界-ゲーム世界間の意識の移行がすんなりいくかつ臨場感(没入感)が得られるのかなーと思いました.この分野は現在も研究が進んでおり,様々なデバイスが開発されてるので10~20年後ぐらいにはそれっぽいものが出てきてもおかしくはないんじゃないんですかね(適当).

 

 

2回目

ちゃんとバックグラウンドを知ってからみると違いますわ(当たり前).よく見たらアニメで出てきたモブじゃない奴らはほとんど全員出てるんじゃないですか?そういう全員集結!みたいな演出は感動するのでやめてください(ありがとうございます).

あんまり褒めすぎるとあれなので,個人的に腑に落ちなかった点をあげます.最後のアインクラッド100層ボスを倒しに行く際に,ユナ(ゆうな)がオーグマーはVRもいける!ってノリでリンクスタートしてました.そこは最後までARでいって欲しかったな〜と思ってました.まあみんな集まるためにはそうせざるを得ないですよね.

 

 

個人的見所

マザーズ・ロザリオ

-ALO最強の剣士が生きた証-

 

これほんとも〜〜〜〜〜〜〜〜〜〜〜〜最高〜〜〜〜〜〜〜〜〜〜〜です.マザーズ・ロザリオ編が好きな人も多いと思いますが,この演出は泣きます.ありがとう.アニメちゃんと見てよかったって思った.

 

 

まとめ

アニメ映画はそれ以前に放送されたものや原作を見てから行きましょう.

整列コアラ

概要

奇譚クラブの整列コアラです.

http://kitan.jp/contents/wp-content/uploads/2016/06/koalaDP_HP.jpg

場所

原宿のキディランド

一階の一番奥にあるスペース 

f:id:kcozy:20161126173149j:plain

戦利品達

f:id:kcozy:20161126172636j:plain

f:id:kcozy:20161126172644j:plain

  • 先頭×2
  • 気をつけ×2
  • 小さく前ならえ×3
  • 前ならえ×4 

ギャラリー

  • 並べてみた

f:id:kcozy:20161126172628j:plain

  • 組体操してみた

f:id:kcozy:20161126174606j:plain

  • 机が揺れて先頭だけが立っていた時

f:id:kcozy:20161126223752j:image

感想

先頭が一番背が低いところがオススメポイント.

 買うべき人々

  • コアラが好きな人
  • 整列するのが好きな人
  • 整列させるのが好きな人

 おまけ

同じく奇譚クラブの「沈黙のカンガルー」より②ゴゴゴゴ(A)との共演

f:id:kcozy:20161126172619j:plain

ガチャガチャ?ガチャポン?

ガチャガチャにはいろんな呼び方があるけれど、実際どれが正しいの?みたいなところをまとめました。

 

正しい呼び方

カプセルトイ

カプセルトイは、小型自動販売機の一種で、硬貨を入れレバーを回すとカプセル入りの玩具などが出てくるもの、またその取り出した玩具を指す。

カプセルトイ - Wikipedia

 

他の名前は商標登録されていて、それらをまとめてカプセルトイと呼ぶらしい。

Google Trendsで調べましたが、圧倒的に知名度が低い。

 

商標登録されているもの

「ガチャガチャ」、「ガチャガチャマシーン」、「ガチャポン」、「ガシャポン

バンダイが製造販売しているカプセルトイはこう呼ばれる。そのためグループ会社のバンダイナムコエンターテインメントも「ガチャ」を「ガシャ」と表記することが多い。ちなみにバンダイはカプセル誤飲事件以降、安全性や環境的配慮を含めたカプセルの開発を行っている。

カプセル玩具誤飲事故で、製造会社に対し製造物責任が認められた事例(消費者問題の判例集)_国民生活センター

 

「ガチャ」、「ガチャンコステーション」

タカラトミーアーツが登録している名称。

 

まとめ

商標登録の理由から、カプセルトイと呼ぶのが望ましい。けどわかりづらいのでこのブログではガチャガチャって呼びます。

 

参考:

ガシャポン - Wikipedia

ガチャ?ガシャ?カプセルトイ?名称・呼称の違いは商標登録が原因 - ガチャガチャ本体購入ガイド