こんにちは、Gaji-Labo 雑用担当の @neotag です。 この記事は Gaji-Labo Advent Calendar 2015 3日目の記事です。 今回は僕が参加している Tokyo WebGL Meetup というコミュニティのご紹介をしようと思います。 Tokyo WebGL Meetup はその名の通り東京ベースの WebGL 関連のコミュニティです。 ピクセルグリッドの @yomotsu さんを中心に、面白法人カヤックの @edo_m18 さん、ゲームエンジニアの @mattari_panda さん、wgld.org の @h_doxas さん 、 @neotag で主催しています。 ※僕はもっぱらイベントの裏方を担当しています。 身内で勉強会をやるだけでなく100人前後のイベントを開いたりしています。 最近は WebGL とセットで WebVR 熱も加熱していたりし
はじめに Unityと言えば有名なアセットストア。 様々なジャンルのアセットが有料無料を問わず幅広く揃っているものの、いざ有料のアセットを買うとなると勇気がいりますよね? ここでは筆者が趣味で開発している同人ゲーム"Friendship is Epic"で使用させていただいているアセットのうち、特にこれはオススメ!と他の方に薦められるアセットを紹介してみます。 なお、この記事で紹介するアセットの大部分はハイエンド(PC、PS4、XBOXONE)向けに開発されており、モバイル向けには適さないアセットが多い点にはご注意下さい。 必ず購入前にサポート対象プラットフォームを確認して下さい。 同様に、VR対応の有無についても各アセットのフォーラム等で確認することをお勧めします。 私がアセットを買う理由 車輪の再発明を避ける Unityアセットストアに並んでいるアセットは、いずれも単体機能で販売できる
最近Simplygonなるメッシュ削減サービスがUnityに対応したらしい。 SimplygonはLOD(※1)と呼ばれるモデルを作成、ゲームを再生する上で重要なポリゴン数やボーン数を削減し、パフォーマンスを上手い感じに維持するサービスだ。 一見同じに見えるがポリゴン数が大幅削減されてるこのサービス自体は既にコンソールゲームにも利用されているらしく、実績一覧を見るとACVの姿が確認出来る。 実績一覧にACVの画像が ※1:LOD(Level of Detail)とは視点に近く大きく表示されるモデルはハイポリで、視点から遠く小さく描かれがちなものについてはポリゴン数の少ない3Dモデルに切り換える技術。 このサービス、インディー向けに機能制限版を無料で使用できるらしい。 実際に使ってみた。まずAssetStoreよりSimplygonをインポートし、 メニュー>Window>Simpolygo
はじめに JKコンバットオンラインを作る際に、ゲームの舞台となる校舎のアセットがモバイル用では無かったため、なんとか軽くしようとしてみました。 JKコンバットオンライン 予約トップ10 iOS JKコンバットオンライン 予約トップ10 Android 結果、劣化はあるもののそれなりにモバイル用ではないアセットも使うことができました。 Japanese School Buildings Kit 実際にJKコンバットオンラインに使った校舎のアセットは以下のJapanese School Buildings Kitです。 Japanese School Buildings Kit | 3D Urban | Unity Asset Store 見ての通り、高クオリティなのですが、その分かなり重い… でもこれで$30は安い…! Draw Calls Japanese School Buildings
はじめに Unity5のトゥーンシェーディングを使った3Dアニメ表現(セルルック表現)の解説です。 左画像:変更前 右画像:変更後 Toon Shaderを使ってみる Assets > Import Package > Effects のアセットをインポートをします。 ToonShaderとImageEffectが使えるようになりますので、まずはToon/Lit Outlineを使いながらマテリアルの調整を行います。 ポイントは3つ。 ・影の付け方 ・テクスチャの単純化 ・色のバランス 影の設定 トゥーンシェーダーの設定を行う際に[ Toon Ramp ]の設定でシェーディングが大きく変わります。 こんな感じで変わります↓ 今回はセルアニメ風な雰囲気で作ろうと思いますので、左から2番目のタイプで調整していきます。 テクスチャの設定 シェーダーの変更だけでは まだセルアニメっぽくないのでテク
みなさんこんにちは! 本日Cygamesエンジニアブログを開設しました! 弊社は昨年の夏CEDEC 2014にてPlayStation 4への参入を発表致しました。 ハイエンド据置きゲーム機にもこれまでと変わらず最高のコンテンツをお届けできるよう取り組んで参ります。 大阪の開発拠点 大阪Cygamesも設立され、準備が整えられています。 改めまして大阪Cygamesエンジニアの岩崎です。いままで歴代コンシューマ機を中心にグラフィックエンジンを制作してきました。日々最新のハイエンドグラフィックス技術を追いかけています。 今後グラフィック技術情報を中心にこのブログで定期的に情報をお届けしていきたいと思います。グラフィック分野に限らずその都度良いものがあればご紹介できればと思います 便利なツールや実際にゲーム開発に使えるオープンソースプロジェクトなども紹介していく予定です。 第一弾は…! 今世
前回は三角錐を使った交差判定でしたが、今回はTomas Möllerのアルゴリズムという数学的な交差判定について書いてみます。これは連立方程式を機械的に解くクラメルの公式を利用して判定します。この方法の利点は平面式を使うことなく交点を求めることができ、かつコードもシンプルになります。 クラメルの公式とは x + y + z = 9 2x + 3y – 2z = 5 3x – y + z = 7 たとえばこんな連立方程式があるとします。中学や高校の数学では、代入したり消去したりして解を求めたと思います。クラメルの公式を使うとそんな面倒なことをせずとも係数だけを使って解くことが出来ます。(クラメルの公式についてはここに解説を書いてみました) さきほどの連立方程式にクラメルの公式を使うと、次のような流れで解くことが出来ます。上の図を参考にしながら流れを追ってみてください。(ちなみに行列式は何を計
Twitterに投稿された、数枚の女の子の写真が話題になっています。制服に身を包んだかわいらしい女の子、どこかのアイドルかな? と思ったのですが……なんと、その正体は3DCGだというのです! まじかよ! 3DCGです。信じられますか? 本物の人間にしか見えません。 「Saya」と名付けられたこのキャラクターは、夫婦でCGを作成されている@mojeyukaさんの作品。ムービーのためのキャラクターなので、なんと動かせるとのことです。しかも、まだ目標の質感には届いておらず、「もう少し見直しが必要」だそうです。何という向上心。人物写真を見ても、実在の人物かどうか信じられなくなりそうです。 ネット上では、「すばらしい」「実写かと思いました、すごいな」「すごすぎる…」「本物の人間かと思いました」といった声が上がっていました。確かに、もうまったく見分けがつきません。次はぜひ、動いているシーンが見てみたい
Adobe MAX 2015で発表されたアドビが研究中の新技術〜スニーク・ピークで発表された未来の11の技術 アメリカ・ロサンゼルスにて開催されているアドビシステムズ(以下、アドビ)のクリエイティブティ・カンファレンス「Adobe MAX 2015」。初日の基調講演(参考記事「[速報]Adobe MAX 2015 基調講演レポート」)に続いて、二日目は「スニーク・ピーク」というアドビが開発中の実験技術を紹介する講演が行われました。紹介された技術は将来的に搭載されるかもしれない技術であり、未来のAdobe Creative Cloudの新機能を一足先に知ることができます。現地に渡った弊社ICSの池田が速報レポートとしてお伝えします。 簡単な操作で新しいフォントを作り出せる技術:Project Faces フォントの骨格を解析し、字形を自由自在に調整し新しいフォントを作成できる技術。 ▲フォン
オクルージョンカリングは、ゲームオブジェクトが他のオブジェクトに隠されていてビューに表示されない (隠されている) ときに、オブジェクトのレンダリング演算を行わない機能です。 すべてのフレームで、カメラはシーン内のレンダラーを調べ、描画する必要のないものを除外 (cull) するカリング操作を実行します。デフォルトでは、カメラは 錐台カリング を実行します。これにより、カメラの視錐台内におさまらないすべてのレンダラーが除外されます。ただし、錐台カリングは、レンダラーが他のゲームオブジェクトによって隠されているかどうかをチェックしないため、Unity は、最終フレームに表示されないレンダラーに対するレンダリング操作で CPU と GPU 時間を無駄に消費する可能性があります。オクルージョンカリングは、Unity がこれらの無駄な操作を実行するのを防ぎます。 通常の錐台カリングでは、カメラビュ
Occlusion Culling OccluderとOccludee Smallest OccluderとSmallest Hole Occlusion AreaとOcclusion Portal Occlusion Cullingがあんまり効かないケース 参考 Occlusion Culling Occlusion Cullingとはオブジェクトが遮蔽物に隠れていた場合にオブジェクトを描画しない機能です。下のように、遮蔽物で隠れているオブジェクトを描画しないようにします。 Unityは基本機能として錐台カリングを行います。これにより、画面外にあるモデルの描画をスキップします。しかし、壁の向こうのオブジェクト等のような、視錐台内に含まれるオブジェクトは描画してしまいます(ピクセルは塗りません) 描画の内容はFlame Debuggerで確認する事ができます。下の図では、実際は画面は赤い壁
iOS 9 でも大量の新機能が追加されましたが、新しいAPIはどう使うのか、実際に何がどこまでできるのか、といった具体的なところが、英語のドキュメントや動画をながめているだけだと正直あまりピンときません。やはり実際にコードを書いて動かしてみるのが一番わかりやすい・・・ということで今年もつくりました! iOS-9-Sampler 恒例の iOS 9 新機能のサンプルコード寄せ集めアプリです。ソースコードは GitHub に置いてあるので、ご自由にご活用いただけると幸いです。 https://github.com/shu223/iOS-9-Sampler 使い方は Xcode 7 でビルドするだけ なので、デザイナーさんやディレクターさんもぜひお近くのエンジニアにビルドしてもらってください。 Swift のバージョン 2.0 やオープンソース化、ついにネイティブ対応する watchOS 2、と
今回はよりアニメ寄りというか、正しくないが見た目の良い透明の表現について色々とやっていきます。 前回のエントリー(単純に透明マテリアルを設定する方法)はこちら。 tsubakit1.hateblo.jp 目次 目次 透明なオブジェクト Depthバッファへの書き込み Depthバッファを書き込みつつ透明シェーダー 二つのカメラで描画する 2つのカメラで描画する手順 透明なオブジェクト 前回のエントリー最後にユニティちゃん(天使)のグロ画像を紹介しました。この絵は間違っているように見えなくもないですが正しいです。 透明とは背景が見えている状態ではなく、中身が透けて見える状態を指します。例えばクリオネは透明な体を持っていますが、同時に内蔵も見えています。 つまりサーヴァントやら幽霊が透明になるシーンでは、実際は内蔵や筋肉・骨格が見えた状態でどんどん透明になるという、恐ろしい絵が見える訳です。あ
Unity5よりライティングの方式がEnlightenへ代わり、ライティングのベースがRutime GIを始めとしたランタイムなライティングへシフトしました。 しかし実際問題ライティングは非常に高い負荷を持っており、特にモバイルデバイスやGear VR、Oculus Riftといった可能な限りフレームレートが必要なケースではランタイムなライティングの負荷が高いケースも依然存在します。 そういった負荷を可能な限り下げたいケースでは、ライトを焼いてしまう方法は非常に重要な要素となります。 とりあえずのライティングはこちら tsubakit1.hateblo.jp ライトマップを焼く前に ライトマップを焼く作業は、凄く長い待ち時間を要求します。Unity初期設定の「Staticなオブジェクトを動かしたら焼きなおす」は幾らなんでも時間がかかりすぎる為、特定のタイミングでのみライトを焼くように設定し
This website lets you create normal maps from height maps for free. All normal map textures you create are your own. Textures are not saved on the server and all scripts are running on your Browser. Just drag & drop a heightmap in the specified field and adjust settings. Afterwards check the preview window and download your own normalmap. Additionally you can adjust and download displacement and a
この文書は WebGL を使ったコンテンツの向上のための Tips について書きます。これらの提案に従うことで、多くの機器への互換性を高めたり、パフォーマンスを上げることにもなります。 WebGL のエラーを出さないように注意しましょう。エラーは getError() で得られますが、Firefox では webgl.verbose の設定を有効にすることで、ウェブコンソールに WebGL のエラーと警告を出力します。ユーザーのコンソールにエラーを吐き出す必要はないでしょう?(訳註:パフォーマンスの理由もある。下参照) #ifdef GL_ES は絶対に使ってはいけません。初期の例ではこれが使われていましたが、WebGL では必ず true になるので必要ありません。 フラグメントシェーダで highp 精度を使うのはやめましょう。mediump を代わりに使いましょう。highp を使う
Unity開発に関する50のTips 〜ベストプラクティス〜(翻訳) 以下の本文はここのサイトの翻訳です: The following text is a translation of the site here: http://devmag.org.za/2012/07/12/50-tips-for-working-with-unity-best-practices/ このTipsはUnity Technologies社として公式に推薦するものではありませんが、個人的に有用だと思われたので翻訳したものです。あらかじめご了承ください。 このTipsについてこれらのTipsは全てのプロジェクトに当てはまるわけではない。 3〜20名ほどの小さいチームのプロジェクトでの私の経験に基づいたものとなっている。 構造、再利用性、明快さ、などには代償がある - その代償が支払われるべきであるかどうかはチ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く