ヘキサ日記 Blog

 

2015年12月18日

2015納会とblog収め

        

こんにちは。さいやん、こと齊藤です。

 

12月は師走とも呼ばれ、師が走り回るほど忙しい(※諸説あり)と言われるように、
私も忙しい毎日を過ごしています
そして気がつけばもう年が暮れようとしています

 

ということでヘキサドライブでは、少し早めとなりますが、大掃除・大全体報告会・納会と
年末の社内行事を本日行いました。

 

昨年から始めた大全体報告会では、今年の振り返りと来年に向けた展望の共有を行い、
納会では軽食とともに、恒例のビンゴ大会でひとしきり盛り上がりました

 20151218_4 20151218_5 20151218_6

 

 

今年も、例年に続きいくつかのタイトルの発売に関わらせて頂くことができ、
大変充実した年になりました。

3月に発売されました、
FINAL FANTASY 零式 HD

20151218_1

においては、最新世代コンソールゲーム機であるPS4、Xbox Oneのマルチ対応に加え、
PC版にも対応させて頂くことができ、それぞれのプラットフォームで大変ご好評頂きました。

 

 

7月にリリースされました、
ランページ ランド ランカーズ

20151218_2

についても開発と運営に関わらせて頂き、
一昨日の12/16(水)にも大型アップデートを実施する等鋭意運営中です。

 

 

ヘキサドライブでは、コンソールゲーム機でのゲーム開発と、スマートホンでのゲーム開発の
両軸で良質のエンターテインメントを提供するということを掲げていますが、
まさにその両方を同時に世に出すことができた年になりました。

 

また、ヘキサドライブ初のオリジナルタイトル
ダイコン王の野望ッッッン!!

20151218_3
も年明けに大型アップデートを施し、グランドオープン致します。

 

今後はより一層オリジナルタイトルも増やしていき、
ヘキサドライブのゲームは間違いない
と言って頂けるような確かなブランドを構築していけるよう、
邁進していきたいと思います。

 

本blogをご覧頂いている皆さま、今後ともより一層のご支援とご指導を頂けますとうれしく思います。

 

それでは、よいお年をお迎えください

 

※blogの更新については本日にて年内の最終更新となります。
再開は年明けからとなりますので、楽しみにお待ちください。


        

こんにちは

チャラメガネです

 

年の瀬も近づき、どんどん寒くなってきています

これだけ寒いと体を動かしたくなってきますね

それとも、ゲームで遊びたいでしょうか

 

うーん、選べない

 

そんなチャラメガネの耳に

一つの噂が舞い込んできました

 

「ファンタジー世界の住人になり、体を動かして遊ぶゲームがあるらしい」

 

噂の真相を確かめるため、

チャラメガネは、噂の出処に向かいました

 

 

 

とある山の奥…

旅人たちの集う小屋がありました…

 image1 

 

 

 

 

 

 

ここで行われているのはLARP(Live Action Role Playing)という

役になりきり、体を動かして遊ぶアナログゲームです

(今回は、国内のLARPサークル「レイムーン」さん主催の野外LARPに参加してきました。

参加には事前予約が必要です

 image4

 

 

 

 

 

LARPは、テーマとなっている世界に没入し、

その世界の住人となって遊びます

そのため、服もテーマに沿ったものに着替え、武器も用意します

魔法を使うときには詠唱も必要です

解錠スキルを持つようなキャラクターを作るなら、ピッキング道具を用意します

言うなれば全力のごっこ遊び

 image6image3

 

 

 

 

 

 

 

 

ゲーム作りに携わるものとして、

こんな面白そうなゲーム体験しない訳にはいかない

というわけでチャラメガネはドワーフとして参戦してきました

 image2

 

 

 

 

LARPの基本ルールは

 

  • ストーリーに沿ってロールプレイをする

 

この一点です。

 

今回は

「商人ゴーツクを護衛し、エルフの里まで連れて行く。

ゴーツクは、エルフの里の【黄金の蜂蜜酒】の販売権を頂くのが目的」

というシナリオです

 

もちろん、このエルフの里に向かうまでの間に、魔物に襲われることもあります

魔物との戦闘にもルールがあります。

 

  • 部位ごとに攻撃を受けられる回数には制限があり、この回数は防護点とよばれます。(鎧を着ていたら+n、魔法などの効果によって+nなど)
  • 防護点を持つ部位は手足胴の5部位です。
  • 防護点を失った部位を攻撃されると負傷し、使用不能になります。(例えば腕を失ったように演技します。)
  • 胴体を攻撃されたら気絶します。気絶したら負傷が全て治癒されるまで起き上がることができません。(その場に倒れこむ演技をします)
  • 攻撃は怪我をさせないようにゆっくり。徒手空拳、掴みは禁止

 

チャラメガネはルールの理解が浅かったため

腕を負傷しているのに平気で剣を振っていました…すみません

 

 

ここまで見て分かる通り、LARPの特徴はプレイヤーによる演技です

体を動かすロールプレイによる没入感は、他のゲームではなかなか味わえません

まさにLARPの見どころはこれだといったところです

 image5

 

 

 

 

 

さて、ゲームの説明はここまでにして、

開発者目線で注目するべきところは、GM(ゲームマスター)の動きです

 

TRPGなどにも言えることですが、

GMはゲーム全体の動きを把握し、「ゲームの都合が崩れないよう」操作しています。

LARPのGMの難しいところを分析してみると

 

  • 周辺一帯でゲームが進むため状況把握に広い視野が必要。
  • 道具が必要なシナリオならその道具を用意するなど仕込みが必要しかし、シナリオが脱線すれば無駄になってしまうし、用意した「実物」意外使うことができない。
  • シナリオが崩れても成立するように仕込みへ誘導、あるいは、重三重に仕込む必要がある。

 

というものが挙げられます。

実際、私が参加した日も雨天だったので、安全のためシナリオの大幅な変更が行われました。

その結果、幾つかの仕掛けがお蔵入りになってしまったそうです。

それでも、ゲームクリアまで持っていくためには、GMに高い技術が要求されるわけです。

 

 

 

 

デジタルゲーム開発の現場でも同じようなことはあり得ます。

 ユーザーの皆様は三者三様のプレイをするため、

開発中も、

「こういう操作をしたらどうなるか」「この仕様は他の仕様とぶつからないか」

など、頭を悩ませています。

ですが、そういった努力が、より楽しめるゲーム作りに役立っています

 

今回、LARPに参加し、ゲーム開発に活かせるものがたくさんありました

これらの経験を活かし、今日もチャラメガネはゲームを作り続けます


        

めっきり、しっとり寒くなってきましたね

みなさんお身体は大事にしてますかね?

老若男女否応なく大事にしてください

 

う~ふ~ふ~、ぼ~く、オサえもんです

 

結構ぶりのレトロゲーム探訪でございます

待っててくれた全国27~30人のオサえもんファンの皆様 またまた大変ご無沙汰でございました

 

今回のソフトは がんばれゴエモン2です

もちろんファミコンのやつです。

20151216_00 

ゴエモンの髪の毛なんだかタワシみたい

 

なんで2なのか、 1じゃないのか。

それは単純、小学生型 オサえもんが1より2をたくさんやってたからですね

 

オサえもんとゴエモン

なんだか親近感を感じずにはいられないですね。

「ゴエモンさん」と呼ばせてもらおうではないか

 

この作品、結構やりましたけど、クリアした記憶がおぼろげですね

たぶんしてないです、でも思い出はいっぱいです

コンテニュー時の釜茹で回避ボタン連打に文字通り命をかけてました

 

今作から2人同時プレーが可能になりました。

タレ目が可愛い忍者エビス丸が2Pキャラとして、使用できます。

今改めて調べてみると、今作ではエビス丸は女の子設定だったんですね

どおりでエビス丸だけ、女湯に入れるわけだ。

20151216_03

女の子のエビス丸 KAWAIKO_CHANです

この設定なんだか後の黒歴史のようですけどね!

 

 

さて、道中に落ちている招き猫を拾うと、使用する武器のレベルが上がります

 ゴエモンさんは

キセル小判ねずみ花火

——–

エビス丸は

笛→爆弾手裏剣

 

この武器レベル なんと2人で共通なのです

招き猫一つ取れば2人同時に 上がるんです。

「なんだ優しいシステムじゃん、 オサえもん何言ってんの」 と思ったあなた。

そんなことはないんです。ないんです

 

エビス丸はレベル2の爆弾は放物線を描いて途中で落ちるのに対し、

手裏剣は画面端まで届き、確か敵を貫通する、なんだかすごいやつ

エビス丸はとしては早いとこレベル3になりたいんです

 

だがしかし、ゴエモンさんのレベル3武器のねずみ花火が

んまーーーーー、使いにくいんです…

だって放ったそばから前じゃなくて四方八方に散っていくんですもんね。

当てにいくという概念はどこかに放浪してます。

だってねずみ花火だもんね、最強の武器としてなんで選んだんだろうね、ねずみ花火

ゴエモンさんサイドとしては、しっかり前に進む小判(レベル2)で止めておきたいわけです。

ねずみ花火を実は自在に動かせるとかそんな情報あれば、 お待ちしってっいまっすー

 

ふぁーー、困った ここで戦争勃発です

 

兄貴型オサえもんと、幾度となく武器レベル戦争は繰り返されたのです。

ちなみにオサえもんが一人プレイするときは あえて2人同時で始めて、

ゴエモンを封殺したのち、エビス丸で悠々プレイしておりました

手裏剣がとにかく強いし、女湯も入れたしね

 

当時のオサえもんに、ゴエモンさんリスペクトの心は無かった

 

 

そして 小学生型オサえもんに最大の謎を投げかけ続けた意外な存在がいます

 それは、道中に入ることができる 迷路、

ウィザードリィのような3D形式の、一歩ずつ進むあれです。

 

小学生型オサえもんは当時 2次元、3次元をよくわかっていませんでした

もちろん2D、3Dなんて言葉も知る由も無かった。

オサえもんが2.5次元ポケットを手に入れるのは ずっとずっと先の話なんです。

 

迷路に入ると 画面上で、グラサンをかけた招き猫が

「3Dメイロ で やんす」

ってずっと言ってるんです。

ずっとです、 迷路クリアして、次の迷路入っても 言ってるんです。

迷路に入ってから出るまでずっと言ってるんです。

20151216_01

問題のセリフがコレ

小学生型オサえもんは

 

さんでぃーってなに!!????

なんで3からなの?

1からじゃないの?

でぃーってなに!?

Aからじゃないの!!?

3年、Dぐみーーー

いや、実はDに見えてゼロで 「30メイロ で やんす」 …ますますだよ!

(以上をループ

繰り返していました

 

3とは、Dとは、 招き猫はいったい何を伝えたかったのか

小学生型オサえもんは アリ地獄のような思考のループにはまるのでした

意味が分かった時のアハ体験と言ったらもうね

 

ミシシッピー同様これも、もう一回やりたいな。

いや、ちゃんとファミコンでね

 

でもう一回、エビス丸で女湯に…

え、ゴエモンさんへの親近感?

 

そうですよね、せっかくなので女湯を堪能した後に

じっくりゴエモンさんでプレイしたいと思います

 

注:オサえもんの仕様や、小学生型などの前モデルに関してはおおむねフィクションでお送りしています。

 


        

こんにちは。イノウエです。

 

師走も半分を終えようとしています。
毎年思いますが、この月に師走と名付けた人は本当にすごいですね。
公私共に、毎年もれなく忙しく過ごしています

 

 

さて、その忙しさを生み出している1つの要因、
「年賀状」での失敗談について、今日は書いてみます。
(会社からの年賀状ではなく、個人の話です)

 

うちは親族に送るのが主なので、
子供の写真を使って作るようにしており、
インターネットで印刷屋に発注することが多かったのですが、
今年は思い切ってプリンターを買いました

 

宛名面は毎年自分で印刷していたのでプリンターは持っていましたが、
もう10年以上前のプリンターなので、
そろそろ買ってもいいかなと。
本体がコンパクトになり、スキャナの機能もついていて、
1万円以下で買えてしまう良い時代。進化に感動です

 

で、新しいプリンターにわくわくしながら、
早速全部印刷し終えてそのクオリティにご満悦…
していたのですが、とある失敗に気付きました

 

年賀状の紙には、種類があります。
普通紙、インクジェット紙、インクジェット写真用です。
写真を使うので、インクジェット写真用を買ったのですが、
この場合、染料系インクのみを使わなければならなかったのです

 

染料系カラーインク+黒は顔料系という構成の我がNEWプリンターだと、
そのままの設定では、黒だけなじまず、触るとすぐ落ちてしまいました
写真用の設定にしなければならなかったのです…

 

最初は、乾かないとダメだったか~ちょっと待とうと軽く考えていたのですが、
2日経っても黒だけ乾かない。
これは何かあるぞ?と調べて気付くこの絶望
先ほど書いたとおり、全部印刷した後です

 

昔は、ゲームのカセットを買ってきたら、
はやる気持ちを抑えながら説明書を隅から隅まで読み、
オプション画面を一旦見てからプレイするような少年だったのに…
なぜ説明書読まなかったんだろう。。焦りは禁物ですね。。。

 

乾かそうとして辺り一面に敷き詰められている上記失敗作を見ながら、
絶望から立ち直るためにオメガラビリンスをプレイして元気を取り戻し、
確か書き損じを交換できたはずとネットで調査。
切手の額面部分が著しく汚れていなければ
安い手数料(1枚5円)だけで交換できるようなので、
後日、妻に交換してきてもらい、何とか振り出しに戻れました

 

再度設定の確認を念入りに行い、
微調整も加えてクオリティアップも図り、
ようやく昨日、全て無事に印刷できたところです(夜中2時半頃…)

 

 

失敗したものや成功したものをブログで共有したい所ではありますが、
娘の写真があるので割愛させていただきます。文字ばかりで申し訳ないです
実際の年賀状は写真何枚かを組み合わせているので、
家撮りの物は背景にラブライブのポスターがちら見えしていたり、
ナンジャタウンでおそ松さんパフェを手にご満悦の娘がいたり、
そんな感じですので後はご想像にお任せいたします

 

 

まだ年賀状を作っていない人は、プリンターの設定にご注意を
万が一ミスったら、郵便局で交換

 

以上、失敗談の共有でした。


        

皆さんこんにちは、店長です。

 

今日は最近購入したゲーム「レインボーシックス シージ」を紹介しようと思います。

20151214_raindowsix

 

このゲームは、特殊部隊の一員となり、与えられたミッションを遂行するFPSです。

 

ミッションの内容は、爆弾の解除や人質の救出する側、もしくはその防衛をする側となったり、敵を全滅させたりと様々あります。

 

また、目的の対象を探したり、防衛を固める準備時間と、

実際に突入する戦闘時間が別れているのも特徴です。

 

休日に後輩と一緒にSkypeを繋いで情報をやり取りしながら
プレイするとまた一段と楽しい遊びになりました。

 

敵を倒すだけのFPSに飽きた人や、情報戦などを楽しみたいFPSユーザーにお勧め致します

 


2015年12月11日

リアル育成ゲーム

        

こんばんわ カワウソです。

 

今回は我が家で飼育しているオオクワガタのお話です。

クワガタといっても1年通して実はいろいろやることがあります。

飼育のサイクルは シュミレーション・飼育系ゲームに通じるところが多々あります。

 

 

■次世代に繋げる作業

春→①オス・メスペアで産卵できる環境をセット
  ②1ヶ月~2ヶ月後 じっくり待って 卵・幼虫を取り出し
   ※卵・幼虫を探して取り出すのが、ドラクエ最上階の宝箱を開けるときの
    感覚に、似てて一番ワクワクする瞬間です!

夏→①幼虫ごとに飼育ビンは購入して またじっくり待つ。
   エサについては3ヶ月ごとに入れ替え、羽化までに1年弱なので
   計3、4回入れ替えます。
    ※ここが一番維持費がかかる

秋~冬(春)→①エサの劣化具合を観察して、場合によって入れ替え
       ②春ぐらいになると蛹化するのでじっくり観察
       ③羽化するのをまたじっくり観察、触らない
       ④外骨格が固まるまで1ヶ月 またじっくり観察
      ※秋~冬 この間が一番手間いらず 見るだけ

■成虫の世話

春~夏→①ペア以外は基本越冬から活動しはじめで
     ゼリーを置くだけ(1~2週間ごとに交換)
    ②夏に猛烈に食べるので数日ごとにゼリーを交換
     ※ここも維持費がかかる
秋~冬→①気温低下とともにゼリー消費が落ちるので維持費が助かる。
     基本15度を下回ると段々と越冬準備に入ります。
    ②真冬になると越冬して出てこなくなります。ラクチンです!

20151211_kuwagata_0220151211_kuwagata_0320151211_kuwagata_04

と、このように世代を繋げることと、成虫・親達の世話を平行して
やらないといけないので、大変です。(実は春・夏だけですけど大変なのは)

 

このサイクルを続けて4年目になります。
オオクワガタの累代も3代目、来年は4代目に突入予定です。

(写真は絶賛越冬中のオオクワ達です、見えませんが)

 

で何が言いたいの?なんですが リアル育成はゲームより地味です、、、・
じっくり待つ・待つ・待つ 観察・観察・観察
でも、世代を繋げることができたときは感激です!

 

実は去年、羽化しすぎて数ペア オオクワガタ 余ってます(^^・
よかったら差し上げますので 連絡お待ちしております~
オス 72mm前後
メス 45mm前後

 

ではでは~


2015年12月10日

安易マテリアル

        

こんにちはkayanuma.です。

 

UNITY5ではそれまでPro版しか使えなかった機能が無料(*使用条件あり)のPersonl版で使えるようになりました。

なので個人的に使っているUNITYをバージョンアップしてみました。

被写界深度などのポストエフェクトなどうれしくてつい使いまくってしまいますが、 地味だけど大きな変更があったのは標準シェーダーといえるかも。

 

これまでは マテリアルを普通に作るとDiffuseがアタッチされたものが生成されましたが このバージョンでは 何気に物理シェーダになってます。

 

実は僕がちょこちょこ使っている3D-Coatも今年のバージョンアップで物理ペインティング対応になってまして、 そんなUNITYへの出力も比較的滞りなくできます。

今回はこれでお茶を濁そうと思ったのですが3行ぐらいで終わってしまうのでそれはやめて UNITYのマテリアルを少しいじることにしました。

 

標準シェーダーの基本的な使い方は 表現したい素材のパラメーターをテクスチャで表現します。 画像なので一つのマテリアル内で複数の素材を自在に表現できます。

これはこれで便利ですが、素材感を決定する数値、すなわちAlbedo,Metallic,Smoothnessなど

その範囲内ではほぼフラットな値なのでこれをテクスチャで持つのはもったいないなあ・・と考えがよぎり

マテリアルをドロップダウンで簡単に設定できるツールを作ってみました。

といってもたいそうなものではなくで示されているようなパラメータをプリセットでいくつか持つだけです。 http://docs.unity3d.com/jp/current/Manual/StandardShaderMetallicVsSpecular.html

 テクスチャでパラメータを持つ代わりにただの値なのでマテリアル全体で均一な質感です。

内容的には標準シェーダー+エディター拡張となります。

 151210_2

 

 

ドロップダウンリストにはゴムや銅などの素材が並んでいて それを選ぶと登録してあるパラメーターをマテリアルに渡します。

マテリアルにはあらかじめ標準シェーダーを充てています。

スクリプトからマテリアルに渡す値は

・素材の色 (RGB)

・金属か否か (0、1の概ねどちらか)

・表面の粗さ(0~1の値)

だけです。

Albedoの数値は UNITY用のメタリック・スペキュラーのチャートが公開されているので ここから値を使わせていただきました。

http://docs.unity3d.com/jp/current/Manual/StandardShaderMaterialCharts.html

151210_1

画像からスポイトで数値を取り出しただけなので厳密な値じゃあないかもしれません。

なお金属もAlbedoに色を付ける方式にしました。

 

表面の粗さ、は同じ素材でも状態によって変化するものですが、 リストから選ぶだけというコンセプトなのでそれらしい値を付けてしまいます。

気になるオクルージョンや法線は標準シェーダーなので付けたければ付けられます。という扱い。

無くてもエラーにはならないみたいなので。

 

簡単なスクリプトで期待してなかったのですがすが、使ってみると案外面白いです。

細かな質感調整はできないし、 素材の種類数だけマテリアルが必要になりますが、 手っ取り早く素材変更して確認が出来ることを生かして

キャラクターのしているアクセサリーの素材をすばやく変更して比較検討してみるときなどに使えるかもです。

レベル作成の構想段階なんかにもいいかもしれません。

素材指定が番号指定などでできることを生かしてメモリや通信に制限のあるスマートフォン向けにありかもしれないなあとおもったりしてます。

 

 マテリアルの付いたオブジェクトに張り付けるスクリプト

素材を指定する番号を保持するだけ

MaterialSelect.cs

using UnityEngine;
using System.Collections;

public class MaterialSelect : MonoBehaviour {
	public int Type;
}

Assets/Edit以下に置いておく拡張部分

MaterialEditGUI.cs

using UnityEngine;
using System.Collections;
using UnityEditor;

[CustomEditor(typeof(MaterialSelect))]
public class MaterialEditGUI : Editor {

	private static readonly string[] Types = {
		"Coal","Rubber","Mud","Grass","Brick","Wood","Concrete",
		"Gold", "Brass", "Copper", "Iron","Platinum","Aluminium","Silver" };
			
	private static readonly Color[] Albedo= new Color[14] {
		new Color(0.196f,0.196f,0.196f,1),
		new Color(0.208f,0.208f,0.208f,1),
		new Color(0.333f,0.239f,0.192f,1),
		new Color(0.482f,0.510f,0.306f,1),
		new Color(0.580f,0.490f,0.459f,1),
		new Color(0.667f,0.600f,0.518f,1),
		new Color(0.753f,0.749f,0.733f,1),
		new Color(0.961f,0.843f,0.475f,1),
		new Color(0.980f,0.902f,0.588f,1),
		new Color(0.980f,0.745f,0.627f,1),
		new Color(0.769f,0.780f,0.780f,1),
		new Color(0.835f,0.816f,0.784f,1),
		new Color(0.961f,0.965f,0.965f,1),
		new Color(0.988f,0.980f,0.961f,1),
	};

	private static readonly float[] Metal = {
		0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
		1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
	};

	private static readonly float[] Smooth = {
		0.0f, 0.335f, 0.176f, 0.2f, 0.268f, 0.122f, 0.0f,
		0.667f, 0.8f, 0.621f, 0.377f, 0.74f, 0.642f, 0.458f,
	};

	public override void OnInspectorGUI() {
		MaterialSelect obj = target as MaterialSelect;
		obj.Type = EditorGUILayout.Popup("材質", obj.Type, Types);

		obj.GetComponent().sharedMaterial.color = Albedo[obj.Type];// obj.color;
		obj.GetComponent().sharedMaterial.SetFloat("_Metallic", Metal[obj.Type]);
		obj.GetComponent().sharedMaterial.SetFloat("_Glossiness", Smooth[obj.Type]);

		EditorUtility.SetDirty(obj);
	}
}

 

忘れてた。ちなみに
照明用にSKYマップが必要になりますが、iPhoneのパノラマモードなどで景色を撮って
パノラマからSKYマップ作成ができる便利なアセットも紹介します。(UNITYアセットストア)
https://www.assetstore.unity3d.com/jp/#!/content/13616 

 

では

 

 


2015年12月9日

32とか16とかその4

        

こんにちは。

 

シュンスケです

 

前回からさらに引き続き減色の話です。

 

前回は無事に1チャンネル当たり4bitで使用できる色のみに減色することが出来ました

ただし、このままでは、単純な均等分割で近い色に置き換えただけなので、

グラデーションの部分が滑らかではなく美しくありません

 

ここで遂に、初回時に基本の考えとして記載した、

「1ピクセルで元の色が表現出来ないなら数ピクセルで元の色っぽく見えるようにする。」

に取り掛かります

 

減色について某検索エンジンで調べてみると、いくつかキーワードが見つかります

・メディアンカット法

・k-means法

・組織的ディザ法

・誤差分散法

 :

 :

 

今回は使用できる色は決まっているので、はじめの2つは除外されます。

で、まずは変化値が少なくシンプルな、「組織的ディザ法」を使ってみます

「組織的ディザ法」について、ぱっと調べて出てくるのは、2値化に関する説明で、

ざっくり説明すると、以下の様な流れです。

 

変換したい画像を、4×4や8×8など、ブロック単位に分割する

単純な閾値固定の2値化であれば、0~255を真ん中の128より大きいかで

 0とするか255とするかを決定するところを、ブロック単位で閾値の平均が

 128になるように、ブロック内の閾値は場所によってバラつかせる

バラつかせた閾値を元に、0か255かを各ピクセル決定していく

※ブロック内の閾値のバラつかせ方を固定で定義したものを「ディザ行列」と呼び、

 代表的なものがいくつか考案されています。

 

さて、RGBA各チャンネルについては同じ処理にするとして、例によってまた

1チャンネルについて考えます。

1チャンネルについて16段階が使用できるので、2値化する処理を利用する部分としては、

各段階の補間です

 

例えば、0×05という数値が1チャンネルにあった際に、全てを0×00にするのではなく、

ディザ行列の閾値に従って、0×11に持ち上げてあげる事もあるといった具合に、

使用できる色の間に組織的ディザ法による2値化を利用します

 

結果、今回用いた処理の流れは以下の通りです。

 

チャンネルの値について16段階の間を1ブロックとするので、15分割するために17で割る

割った結果はベースのインデックスとして保持。15を超えると元の色のまま終了

 (今回の範囲なら255のみ)

ピクセルの位置からディザ行列の閾値をピックアップ

チャンネルの値が、ブロック内でどの位置かを算出

閾値とチャンネルの値の単位を揃えて比較

閾値を超えたかによって、インデックスをそのまま使うか、1つ上を使うかで

 色テーブルにアクセスして色を返す

 

定数は以下の通り(ディザ行列はBayer型を使用しました)

// 1ピクセルあたりのバイト数
private const int PIXEL_BYTES			= 4;

// ディザ行列幅
private const int DITHER_BLOCK_W		= 4;

// ディザ行列高さ
private const int DITHER_BLOCK_H		= 4;

// ブロック分割数
private const int BLOCK_COUNT			= 15;

// 1ブロックあたりの元色数
private const int BLOCK_COLOR_COUNT		= 255 / BLOCK_COUNT;

// 1ブロックあたりのピクセル数
private const int DITHER_GROUP_PIXEL_COUNT	= DITHER_BLOCK_W * DITHER_BLOCK_H;

// 16bitカラーテーブル
private static readonly uint[] RGBA4444_COLORS = new uint[] {
	0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff
};

// ディザ行列
private static readonly uint[,] DITHER_GROUP_MTX = new uint[DITHER_BLOCK_H, DITHER_BLOCK_W] {
	{ 0,  8,  2, 10},
	{12,  4, 14,  6},
	{ 3, 11,  1,  9},
	{15,  7, 13,  5}
};

 

1チャンネルを処理するメソッドを用意して、

static uint channelFilter(uint org, int x, int y)
{
	uint index = org / BLOCK_COLOR_COUNT;
	if( index >= BLOCK_COUNT ) return org;

	uint t = DITHER_GROUP_MTX[y % DITHER_BLOCK_H, x % DITHER_BLOCK_W];
	uint c = (org % BLOCK_COLOR_COUNT);
	t *= BLOCK_COLOR_COUNT;
	t += DITHER_GROUP_PIXEL_COUNT / 2;
	c *= DITHER_GROUP_PIXEL_COUNT;
	if( t > c ) return RGBA4444_COLORS[index];

	return RGBA4444_COLORS[index + 1];
}

 

減色処理部分は、前回の

r = RGBA4444_COLORS[r / 16];
g = RGBA4444_COLORS[g / 16];
b = RGBA4444_COLORS[b / 16];
a = RGBA4444_COLORS[a / 16];

を↓に置換えます。

r = channelFilter(r, x, y);
g = channelFilter(g, x, y);
b = channelFilter(b, x, y);
a = channelFilter(a, x, y);

 

その結果作成されたのが、↓です。

20151209_test_logo_new

つぶつぶによってグラデーションが再現されていますね

 

今回もUnityの減色機能で結果を比較してみましょう。

20151209_compar

左が今回生成した画像で、右がフルカラーの元画像をUnityの設定で減色したものです。

グラデーションがだいぶ維持されたまま減色することが出来ました

 

というわけで、今回はここまでです。

次は別の手法も試してみます。

 

では


        

オッス!

オラ「オクダ」!

最近寒くなってきてだんだん冬らしくなってきました

乾燥してきて風邪をひきやすくなっています。

インフルエンザの季節でもあります。

体調管理には十分注意したいですね。

 

さて、タイトルにもあるように2017年度の新卒採用がいよいよ本格化してきました。

ヘキサドライブでも既に会社説明会や1dayインターンの告知をしています。

いよいよ今週末12/13(日)に会社説明会を開催します。

まだ応募していない人。今ならまだギリギリ間に合います!

詳しくは『コチラ』にアクセス!

(応募が間に合わなくても当日開始前に来てもらえれば入る事は可能です

そしてその日の午後には1dayインターンも開催します。

残念ながらコチラの応募は締め切ってしまいましたが、来年も開催予定です。

気になる方は是非エントリーしてください。

応募数が多くて定員オーバーするくらい人気です。

 『コチラ』を時々チェックして情報が更新されるのを待ってください。

 

 

更に、『HEAT3rd渋谷』への参加も決定!!

第一回、第二回と参加させていただき、好評でした。

2017年度対象の最初のHEATです。

再び渋谷が熱く燃える事間違いないです!

 まだまだエントリー可能です。

関東近郊の方は是非来てください!!

 

しっかり体調管理して

積極的にイベントに参加して

良い就職を掴み取ってください!!


        

初めまして!
この度ヘキサドライブの一員となりました、CGデザイナーのテツジンです。

 

よろしくお願い致します。

 

実はブログをあまり書いた事がなく、何を書くか悩み過ぎて土日もブログのことで頭がいっぱいいっぱいでした。
そんな日曜の夕方に子供達の笑い声と共にビームがはじけるような音が!!!「ブーン ジジジジジジ ブーン」
「ズー…コー…、ズー…コー…」←ここは妄想です。

 

これはもしや!!
みなさんご存知のライトセーバーの音!!

 

と言うわけで今年はスターウォーズイヤー。
そして今!!
映画公開直前に私は一足先に、遥か彼方の銀河系で日夜、戦いの日々を送っています。
000
まぁゲームですが(笑)

 

そう!!
Star Wars バトルフロントです!
あるときは帝国軍!
そしてまたある時は反乱同盟軍!
そこで初投稿は私がどっぷりはまっているバトルフロントの話を少しさせて頂きます。

 

まずなんと言っても背景がすごいです。雪の表現なんて!思わず厚着をしてテレビの前に座るぐらいです。
そして私が一番はまる理由はゲーム性です。(スターウォーズだからはまっている可能性も高いですが。
001

ゲームの中身は今までによくあるFPS、TPSのネット対戦ゲームになります。
  ※1人称視点(FPS)と3人称視点(TPS)。バトルフロントでは1人称視点と3人称視点を選べます。
ですが、バトルフロント最大の魅力はヒーローと呼ばれる彼らになれちゃうのです。

 

※ヒーローとは
 ジェダイやヴィランのこと(みなさんご存知のダース・ベイダーとかルーク・スカイウォーカーことです)
003

なれたからってなに?
と思われるかもしれませんが
ここで少しFPSに関する私情を説明させて頂きます。※私はFPSモードでやっております。

 

他のゲームでもFPS経験者の方ならわかって頂けると思うのですが、必ずうまい人達が上位に君臨しております。(特に海外の方が多い気がします。)
そこでの私の平均対戦成績は20回やられて5人を倒す感じです。
スバリ!
へたくそなのです。

 

ここで少し振り返ってくださいStar Wars バトルフロントは運がよければヒーローになれます!!
なんとこのヒーローがめちゃくちゃ強いです。
手から雷!あたりまえ!
ジャンプなんて2倍2倍!!
走っても通常の倍速!
フォースの力で敵を浮かして倒します。
ちなみに敵の銃攻撃もライトセイバーで跳ね返しちゃいます。
もう私がジェダイマスターだ!!と錯覚します!!
004
そんなジェダイマスターになって気がつけば20人ぐらい倒せたりしています。
そして最終成績はなんと35人倒していました。
オーマイガァァァァ!!!
と大興奮!そしてどっぷりはまりゲームをやめられない状態になっています。

 

映画公開まで残り11日!!
その日まで私は「遠い昔、遥か彼方の銀河系で….」戦いを続けていることでしょう!

 

あれ?ゲームの話ばかりでした。汗
なので最後に
この業界を目指す方々に勉強をかねてStar Wars バトルフロントをプレーすることをお勧めいたします。
モデル、背景、ゲーム性と最高峰のゲームにふれてみてください。

 

 

ではこれにて初ブログを終わります。

 

May the Force be with you.
フォースと共にあれ。


ヘキサブログ ピックアップ



過去の日記はこちら

2015年12月
« 11月   1月 »
 123456
78910111213
14151617181920
21222324252627
28293031