AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

3Dtextがオブジェクト貫通しないようにする

3DTextだと、壁の向こう側にあっても必ず画面に表示されてしまう。
以下の記事を見るとshaderを書き換えれば仕様を変えられる模様


haraken.hatenablog.com

上記記事を参考に、Unity公式からビルトインShaderをダウンロードして、font.shaderを書き換えた。


Cull Backだと、裏側から見たときに文字が表示されないので、Cull Offのままで、ZTestとZWriteだけ修正した。

Cull Off
ZTest LEqual
ZWrite On


f:id:yasu9780:20170315195507p:plain

キャラの名前が以前は背後から見ても体を貫通して表示されていたのが、体のオブジェクトで遮られるようになった。


ちなみに体を表示するシェーダーは、Cull Backだと、内側から描画されない。例えば、髪の毛の内側とか、スカートの内側が非表示になる。
厳密には2PASSにして、Cull Front→Cull Back と表面、裏面を描画するのだろうけど、それだとDrawCallが2倍になってしまうみたい。
なので、Cull Offで現状ちゃんと表示されている。これならDrawCallは増えないみたい?(このへんの仕様はよく解らない)
厳密にいうと、CullOffだと、裏面が表面に被って表示される場合が出てくるはずだけど、現状特に問題は無いように見えます。

Cull Offでも、上記画像の左側でスカート内部がちゃんと描画されている。

アプリの内容・操作説明

アプリ公開に向けて動いています。
とりあえず第1稿。
英語版も作らねば


 授業に出たり、売店でお菓子を買ったり、同級生と話したり、学校生活を体験できます。
 ゾンビもやってくるので仲間を守るために撃退してください。
 ゾンビに襲われるとゾンビになってしまいます!
 (ゾンビが生まれてこないモード設定もできます)

 同級生を攻撃すると目撃者が先生に報告に走ります。報告を受けた先生はあなたを追ってきます。
 先生に捕まるとゲームオーバーです。
 先生に知られないためには、目撃者を出さないか、目撃者を始末してください。
 背後で起きたことは見えていません。
 (ゾンビが近くにいると、事故とみなされてとがめられません)

★ボタン操作

 画面左側をドラッグ:主人公に移動
 画面右側をドラッグ:主人公の視点を移動

 ボタンB:膝を落として移動
 ボタンX:キック攻撃(武器を持っている場合は武器攻撃)
 ボタンR:Fly(飛行移動)
 ボタンL:自分または同級生の情報を見る

 ボタンAは状況によって変わります。
  「(A)SitDown」のように表示されるので、「Aボタン」を押すとメッセージの行動ができます。

  TALK 会話(褒めると高評価。けなすと低評価。持っている物を渡たすこともできる)
  PICKUP 落ちている物を拾える(同級生が持っているものを奪うこともできる)
  ITEM MENU 持っている物を落とす、投げる、食べる
  DRAG 死体や同級生を引っ張って移動できる
  DROP 持っている物や、つかんでいる人を離す
  RIDE 自転車やバイクに乗る
  GETOFF 自転車やバイクから降りる

 Setup:設定画面
 Share:TwitterFacebookなどソーシャル連携でゲーム画面画像とメッセージを共有できます。
 Home:ホーム画面に戻ります(Setup内でゲームのセーブができます)

 攻撃方法は、Xボタンで持っている武器で攻撃する方法と、武器を投げて(落として)ぶつける方法があります。

★学校の時間割
 1時限目 8:00~8:30
 2時限目 9:00~9:30
 3時限目 10:00~10:30
 4時限目 11:00~11:30
 昼休み 11:30~13:00
 5時限目 13:00~13:30
 6時限目 14:00~14:30
 部活動 14:30~18:00
 下校時間 18:00

・授業が終わる時に席に座っていれば出席になる知力がアップします。
・校内には自動販売機や売店があり、お菓子や飲料を購入できます。
・1時間ごとにゾンビが発生するため、同級生や教師を守るためにゾンビを倒してください。
 武器は、校門前や売店前に落ちています(弾丸は売店で追加購入できます)
・同級生や教師と会話することで互いの評価が変わっていきます。
 ゾンビを倒すことでも、学内で信頼されていきます。

★設定画面

 ・設定画面で、ゲーム時間の進行を速くしたり、1時間後に進めたりできます。
 ・血を見るのが嫌な人はBloodNGで血しぶきがでなくなります。
 ・ワープ機能:自分の席、売店、屋上、プールなど、学内の各所に瞬間移動できます。
 ・コスチュームや髪型・髪色・瞳色などを変更できます
  (更衣室の自分のロッカーでも変更できます)
 ・ゲームパッドの右アナログパッドのAXISを変更可能
 ・1時間ごとに生じるゾンビの数を設定可能

ゲームパッド推奨
 USBホスト機能のあるスマホでは、ゲームパッドを接続して操作できます。
 (右アナログパッドがうまく操作できない場合は、設定画面でAXISを切り替えてみてください)

★VR機能
 まだ開発中ですが、VR機能を試せます。操作にはゲームパッドの接続が必要です。
 設定画面で「VR On」にすると、画面が左右二分割されるので、VRヘッドセットにスマホをセットして下さい。
 頭を動かすとカメラ視点が連動します。


英語版

You can experience "school life", attend the class, buy sweets and talk with classmates.
Additionally, zombies are comming, so please repel to protect your friends.
Becoming a zombie when attacked by zombies !
(You can also set the mode in which zombies are not born.)

Witnesses will report to the teacher when you are attacking classmates.
The teacher who received the report will follow you.
When you are catched by teachers and the game is over.
In order not to be known to the teachers, please do not send eyewitness or remove witnesses.
They can not see what happened behind the scenes.
(When a zombie is in the vicinity, it is regarded as an "accident" )

How to game

Drag left side of screen : move to main character
Drag right side of screen : move the point of view of the main character

Easy as operation buttons are displayed on the screen even if you do not remember them.

Button B: Move by dropping your knees.
Button X: Kick attack / Weapon attack
Button Y: Message friends to follow me/Call me/ByeBye/Spawn yourself
Button R: Fly (flight movement)
Button L: See Information of yourself or a classmate.

Button A changes depending on the situation.
Since it is displayed as "(A) SitDown", you can act on messages by pressing "A button".

TALK: Conversation (praise or disparaged) / You can pass your item.
PICKUP: Pickup falling item / Take away classmate has
ITEM MENU: Drop, Throw,and Eat(Drink).
DRAG: Can move by pulling dead body or a classmate(living).
DROP: Can separate item or classmate or zombie.
RIDE: Ride on bike or motorcycle.
GETOFF: Getoff bike or motorcycle.

There are attack ways to use with the weapon(X button) and to throw(drop) a weapon.

Setup: Setting game options
Share: Share game image and message with social media (Twitter, Facebook, etc).
Home: Return to home menu (You can save the game status in Setup.)

School timetable

1st lesson 8:00 ~ 8: 30
2nd lesson 9:00 ~ 9: 30
3rd lesson 10:00 ~ 10: 30
4th lesson 11:00 ~ 11: 30
Lunch break 11:30 ~ 13: 00
5th lesson 13:00 ~ 13: 30
6th lesson 14:00 ~ 14: 30
Club activities 14:30 ~ 18: 00
Leaving school 18:00

  • If you sit at the chair at the end of the lesson, you will attend and intelligence will be up.
  • There are vending machines and shops inside the school, so you can purchase sweets and drinks.
  • Since zombies occur every hour, please defeat zombies to protect classmates and teachers (number of occurrences can be changed)

Weapons are falling in front of the school gate and before the shop (bullets can be purchased additionally at the shop)

  • Evaluation changes with each other by talking with classmates and teachers.

Even if you kill a zombie, it will be trusted within the school.

Setting game

  • You can speed up the progress of the game time or proceed one hour later.
  • People who dislike to see blood are BloodNG option disenable splash of blood by attacking.
  • Change position : You can instantly move to various parts of the campus such as your own seat, shop, rooftop, pool etc.
  • You can change costume, hairstyle, hair color, eyes color etc (You can also change your own locker in changing room)
  • AXIS on the right analog pad of the game pad can be changed
  • Set number of zombies occurring every hour (0-3/hour)

Game pad recommended

In a smartphone with a USB host function, you can operate by connecting the game pad.
(If you can not operate the right analog pad well, try switching AXIS on the setting screen)

VR mode (alpha edition)

Still developing ,you can test the VR mode. To operate the game pad connection is necessary.
When you set "VR On" on the setup game, the screen is divided into two left and right, so please set the smartphone to the VR headset.
Move the head and the camera viewpoint will be linked.

VRモード実験

f:id:yasu9780:20170311194916p:plain

VRモードを実験してみた。
カメラを二つにして左右視差を作って表示。カメラ視点移動を右アナログパッドから重力センサーに変更。

スマホ実機でも動かしてみたけど、さほどFPSは落ちませんね。ほぼ変わらないかも。
2画面だけど表示領域は増えてないし。50体のキャラの描画に負荷がかかってるからカメラ二つになっても大差ない感じか。
SkinnedMeshやAnimatorの計算処理は、最後の描画カメラが増えてもいっしょだしね。

視線変更できるのは面白いけど、ぐるぐる回らないいけないので、右パッドでも視線が回るようにしたい。
あと、上を見上げるとカメラが地面にめり込んで、Occlusionで、部屋自体が非表示になったり。
カメラの操作処理もだいぶ手を入れないいけない。
FPSならこのへんが簡単なんだけど、TPSはいろいろ面倒だねえ(´・ω・`)



GoolgeVRも試してみたけど、色々仕様が複雑だし、視線入力を使わないんだなら、わざわざ使う必要ないかなと思う。
別に樽上に歪ませる意味がないでしょう。
これが、視野角を向上させるために特殊なレンズを搭載したヘッドセットを用意して、レンズで歪んだ周辺画像が元の画像にになるように
あらかじめ周辺部を歪ませておく。みたいなことをやるなら、大いに意味があると思うんだけど。
っていうか、こういう処理をやるCardboardを作ってほしい。
どこかの研究所のレベルではやっている記事を見たけど。
オキュラスとかHTC VIVEはやってるんだろうけど。


要するに、視野角を向上させる特殊レンズ+レンズ歪みを補正してあらかじめ歪ませるグラフィックライブラリの二つがあれば実現できるだよね。
レンズは100円ショップで調達できないから、量産効果が無いと安くならないかもしれないけど。

オーバーロード二期制作決定!

http://news.nicovideo.jp/watch/nw2683638?news_ref=w_topicsnews.nicovideo.jp

キタ━━━━(゚∀゚)━━━━!!

素直に嬉しい。

そうだ、映画公開してたんだ。明日にでも見に行くかな?

原作小説も凄く面白くて全巻読んでるんですが、ただただ、最新作のドワーフの洞窟襲撃の話は、今までと比較してちょっと面白さダウンしたかな?
と個人的に感じて、すこし熱が冷めてしまった。


圧倒的に強い主人公と部下たちで、完全にインフレした状況で面白い話を展開しているのは凄い作品と思うんだけど、
オーバーロードで不満な点は、
プレアデスの活躍シーンがいまいち少ない。キャラが多すぎるって話もあるかもしれないけど、多すぎるキャラに対して、見せ場を作らないといけないから
見せ場担当以外は、ばっさり出番が無くなるんですよね。
ちなみにWEB公開版はまだ読んでません。

二期は、トカゲ編に何話割り当てるのかが問題ですね。
公式の設定資料集のインタビューだと監督はトカゲ編をドキュメンタリータッチでがっつり描きたいみたいだけど。



公開映画館は都内で二つか( ゚Д゚)

角川シネマ新宿	
池袋シネマ・ロサ

どっちも行ったことが無い。
日舞台挨拶あったのか。全然チェックしてなかった。
RWBYの映画は頑張って舞台挨拶ticket取ったんだけど。



オーバーロード好きだけど、岡本倫も好きだから、エルフェンリートとか極黒のブリュンヒルデとかも好きなんですよ。
共通するのは、「誰も死なないドラマに緊張感はない」
死ぬときは死ぬ。それが大事。


https://www.youtube.com/watch?v=A1RpwIBBZY8www.youtube.com

https://www.youtube.com/watch?v=bR2snx-WJt0www.youtube.com

XBOX360有線コントローラー

なぜかFreetelReiで使えなかった(´・ω・`)
USB OTGには対応してるはずなんだけど、四つの認証ボタンが点滅したまま。

手持ちのL-G04EはUSBホスト機能がないから買ったのになあ。
Reiで、HDDとかUSBメモリとかは問題はなく使えるので、USBホスト機能はあるとは思うんだけど。


XBOX360パッドはPCでは問題なく動くので、PC用にして、GameSirのパッドをスマホに刺してデバッグしましょう。


ASUSタブレットXBOX360コントローラー使えた。
やっぱりメジャーメーカーが無難だな。
Reiじゃなくて、Asusスマホ買っておけば良かったなあ
ただ、このASUSタブレットって重力センサーをなぜか搭載してないんだよな。

blg.freetel.jp

OTG(USBホスト機能)に対応している端末はありますか。

KIWAMI2、KIWAMI、RAIJIN、REI、Priori 4、Priori3Sが対応しています。

OTGcheckerってアプリで確認したら、Android6.0自体はOTGのAPI持ってるけど、機械が対応してないって結果が出たんですけど?
本当にREIはOTG対応してますかね?
Freetelはちょっと信用できないな。
事前にOTG対応を確認して買ったのに、がっかりですよ。

欧米人はシミュレーターが好きだからオープンワールドゲームを好む

play.google.com

このバス運転手のシミュレーターゲームは、ダウンロード数 500万から1000万ですよ。
はじめ桁を間違ったかと思った。

シミュレーターという分野は海外をターゲットに考えれば、ものすごい可能性があると思う。

play.google.com
同じ会社の消防車は100~500万ダウンロード


単なるレースゲームなんていくらでもあるし、もう作っても仕方がないと思うけど、仕事する車と考えると面白い素材はいくらでもある。
A列車で行こうみたいな方向は、シムシティを電車に特化したものだと思うけど、
上記のバス運転手の場合、マクロな視点ではなく、運転手としてのミクロ視点に面白さがあると思う。
その面白さは、実際に乗客が乗ってくる様子だったり、乗客を運んで、客が満足することにたいする、仕事としての満足感。

むかし、プレイステーションのシンプルシリーズでTAXIゲーム買ったけど、なんにも面白くなかったんですよね。
タクシー運転手としての楽しさが何も表現されてなかった。
sinplelove.jp


シミュレーターという分野は、決まったことをやらされるのではなく、そこに必要なのは計算された自由度だと思う。
そして、欧米人はなぜかそれが好きなんだと思う。
だから、GTAみたいなオープンワールドなゲームが好き。
日本人だと、明確なミッションがあって、ぎちぎちにやることが決まってないと、「何が面白いのか解らない」状態になってしまう。
この違いはどこからくるのか分からないけど、
一般に日本人は制限された環境で工夫するのが好きで、優れている。



Twitterが日本で特に普及しているのは、限られた文字数で表現する限られた場が、日本人に向いているんだと思う。
それは俳句や短歌などの文化とリンクしていると思う。
だけど、現代人が俳句や短歌を日ごろやっているわけではない。
まず、限定された環境で工夫するという方向の能力がまずあって、それが表現されたものとして、かつての短歌や俳句。現在のTwitterなんだろう。


だから、自由度の高い世界で、なんでもできる楽しさは、日本人はあまり解らないのかもしれない。
それはどっちかが正しいというものではなく、文化の違いなんだろう。


こんな例もある。
交通標識で、日本だと「ここを通行してはダメ」と書いてる。ネガティブリスト
欧州だと「安全を確認して渡れ」になる。ホワイトリスト
日本人の歩行者は、車がまったく通ってないでも信号を守る(大阪は違ったけど)
ネガティブリストに囲まれて暮らしているので、ネガティブリストの中で、できる工夫の追及に慣れているのかもしれない。
欧州は、ホワイトリストで暮らしているから、自由度の高さを好むし、行動制限を嫌う。

www.afpbb.com


車が来てないのに、信号を守るって考え方は、悪く言えば、自分の頭で考えていない。
リスクを取らない思考につながっている。
車にひかれないために信号があるのであって、信号を守ることが目的ではない。
手段と目的の逆転が日本では起きている。
結局は、コミュニケーション重視の稲作文化と、他者を出し抜いて成果を追求する狩猟文化の違いなのだろうか?




psgamenet.blog.jp

欧米人はリアルシミュレーションを好むから、3Dがどんどんリアルになる
日本人は、アニメ的な離散的なデジタルな表現を好むから、リアルな物理シミュレーションを目標にしない。
一枚絵で見ると、明らかにホライゾンというゲームの方が優れて見える。
だけど、遊んでみた時の操作性とか、感情の表出とか、そういうゲーム性は、おそらく任天堂が勝っているんだと思う。
遊んでないので想像だけど。

浮世絵には遠近法が無く、表現したいものをデフォルメして強調して表現する。だから立体視的なリアルはないけど、伝わってくるものがある。
漫画やアニメで目がでかいのは、人間が、他人の目に注目していることを表している。
海洋堂のカプセルフィギュアの冷蔵庫は、そのままスケールで小さくなっているわけではなく、つなぎ目の部分は大きくなっている。
そのままスケールを小さくすると、重要な部分の情報が削げ落ちてしまう。だから、小さくするにはデフォルメがいる。

漫画やアニメは、現実の世界を情報圧縮しているわけだけど、そこに重要な部分の強調と削減が働いている。見せたいものを見せ、見せる必要のないものは見せない。
そのフィルターに作家性が表現されている。


盆栽や、日本式庭園は、デフォルメされた自然であって、本物の自然ではない。手乗り自然。所有できる自然を日本人は好む。
だからカプセルトイやフィギュアが好きで、アニメや漫画も流行る。

しかし、ディズニーやピクサー洋ゲーはリアルな自然模倣を追求している。
世界的な規模では、リアルな自然模倣を好む人口が圧倒的に多いのかもしれない。
日本的な手乗り文鳥を好む趣味を好む欧米人もいるかもしれないけど。


突き詰めると、自然を飼いならすものと考えるキリスト教のような世界と、もっと原始的な自然と共生する八百万な日本の違いかもしれない。
でも、自然と共生するという志向がなぜ盆栽を好むのか。盆栽なんて人工物みたいなもの。ある意味、キメラ。

情報をデフォルメして無理やり小さくして、そこに小宇宙を表現する。
欧米人は小さくするって意思が無いと思うんだよね。小さくするなじゃくて、リアルに再現することに目標がある。

FreetelReiスマホで40fpsキタ━━━━(゚∀゚)━━━━!!

f:id:yasu9780:20170309201006j:plain

校舎裏で40fps行くようになった!
LODでキャラクターは全員非表示状態になっている
ただし、非表示でも、移動やキャラ同士の交流などAI機能は働いている。
ここの負荷を下げるためには、1fpsごとにやらないで、0.4secごとに処理するなど間引きをしている。

キャラが表示されてくるとfpsは下がるが、10fpsを切るようなことはない。
これなら操作性として合格点と思う。


AsusAtom搭載7インチタブレットだと最大瞬間で50fps超えた。よしよし('ω')
f:id:yasu9780:20170309203333j:plain