Translate

2016年12月27日火曜日

Dominations Level 135

ゲーム開発参考にするため、Unityで作られたゲームをしています(言い訳)

Dominations、惰性ですが、飽きずにコツコツやってます

現在レベル135で、産業時代

特に防衛力が弱くて、攻められると壊滅される場合が多いです
 
工場や飛行場は油がたまらないので、なかなかアップデートできません...
 

Unity ポリゴン、Mesh分割、テストプログラムがちょちょいとは作れん・・

多角形の三角ポリゴンへの分割ですが、
ランダムで多角形を書いてうまく処理できているか、
テストしています。
しかし、テスト用のポリゴンがあまり良いものが生成
できないでいます・・ 



OKパターン

ダメパターン

いずれにしても、ダメなパターンがあることは確かなので、
ロジックをもう少し見直ししなければなりません。


-以上-


2016年12月26日月曜日

Unity 多角Polygonを3角ポリゴンに分割する処理ができた!!

多角形ポリゴンを3角ポリゴンへ分割する処理が
できたかも!!
以下の通り、赤い線は元のポリゴン図形で、ネギ色の
線は3角形に分割した線です

結構ソースでかくて汚くなったので、今の所非公開

【処理ロジックは以下の通り】
①ポリゴンの開始点から2個先に線を引こうとする
②線の間にポリゴンのラインやすでに書いたラインが
 あれば書かない。
③①の線の中間点がポリゴンの外なら書かない。
④①のポイントをつなぐ線を書く
⑤ポリゴンの開始点から3こ先に線を引こうとし、②〜④
 その後ポリゴンの終点-2個まで繰り返す
⑥開始点を1つ先に進めて②〜⑤を繰り返す

作った関数(メソッド)
・線が交差しているかチェック
・線が重複しているかチェック
・ポリゴンの内側か外側かチェック

文章で書くとわかりにくいですねぇ〜
ちょっと中間点でチェックしているあたりが心配ですが・・
もう少しテストして、本来のメッシュを書く処理に
作り変える予定


Unity ポリゴンのメッシュを考えている

ポリゴンを3角形でメッシュ化する処理作ってます

とりあえず、このくらいのポリゴンなら大丈夫!
ネギ色の線が分割線です、綺麗に3角形に分かれました


これも大丈夫

さてこれは?

ダメです!!

ロジックが甘く、まだ、出来ているところも偶然大丈夫
なだけぽいです。コードも汚くなってきました・・

じっくり考えましょう。


2016年12月25日日曜日

Unity 線と線の交差判定をしてみる

ポリゴンメッシュ作成のためには、線と線の交差判定を
行っていかなければなりませんので、まず、これを作り
ました。

線A-Cと線E-Fの交差判定を行います

ぶつかっていないと黄色

ぶつかったら赤

ムービー

参考コード貼っておきます
そう、2次元判定です、そして都合によりX軸とZ軸です

(Unity 5.5以降)
それにしても、LineRenderer、GetPositionなどのメソッドも追加されて、セット位置をコードから読めるようになったのですね!! 5.4ではこのデモ使えません!

さて、下準備はできた。







Unity ポリゴンのメッシュを作ろうかと

さてさて、ポリゴンのメッシュを作る必要があります
正多角形のメッシュなら簡単で、以下な感じ。

(2つ先の点から2つ手前の頂点までを区切るだけ)

現実的には頂点が入り組んでいるのもあるわけで、それをうまいこと3角形に分けるには、いろいろ考えていかなければなりません。


【ロジックを考えてみよう】

①初めの頂点から2つ先の頂点に線を書く、書けたら次の頂点に線を引く、もし、頂点が見えなかったら線は書かない。書ける線がなくなったら次の頂点に移る。

②前後の頂点で3角形が作られていたら何もしないで、次の頂点に移る。そうでなければ、①を行う。

③移動した頂点が初めの頂点の1つ前だったら終わり。

これでいけるかなー
頂点が影になって見えないかの判断を作れればなんてことないか。 ではでは本日の工作開始






2016年12月24日土曜日

Unity LineRenderer が 5.5で良くなっているじゃないですか!!




 以前LineRenderer酷い的なブログ書いたので、
良くなったので、書かねばですね!

 (現在:Unity 5.5 )
 つなぎ目が捻れていない!


 (過去:Unity 5.4 )
 捻れまくり!

 5.5のインスペクター

 Corner Verticesと EndCapVerticesを 
デフォの0から、それぞれ5に変更しています
なお、Corner Vertices は0でも、捻れませんが、
EndCapVerticesは0だと、繋がらないです。

VR用のSpatialMappingをつけて見ると、すげー
頑張っているのがわかります!!
真横から見ると苦しいけど^^

よし!次試したいことがあったので、LineRendererを
使ってみるかね
 









2016年12月15日木曜日

Unity わりと普通なダルマ落とし

結局、ダルマ落としはUnity授業ネタにしたのだけれど、
自分の中で消化不良なので、もうちょっとプログラミング
です。やった事は、頭を作り、頭が正常に着地できない場合の処理を入れたくらいですが、なんとか遊べるかも。

こんな感じ、倒れると頭吹っ飛びます。
なお、頭はsphereとcylinderのプリミティブ
オブジェクトです



ところで、
Color.HSVToRGB って、いつの間に存在してました?
前はなかった記憶で、変換メソッド作ったりしたのに
・・楽になったのー。

ダルマの胴を配置して色設定する部分貼ります。
 
なお、胴体を全て弾くと、ちゃんと頭は破裂しないで、
着陸します^^

このあとやるとすれば、つっつけるようにする処理かなぁ
ではでは。



2016年12月12日月曜日

Unity 無限だるま落とし〜

今度は、無限だるま落とし〜を作ってみました!
ちょっと頭が疲れたので、こういうの作ってポチポチ押したくなっただけ(笑)
こういうプチ工作楽しめるのがUnityですね!


そういえば、リアルだるま落としって、硬い木が飛んでいく結構危ないゲームだよね・・


特段、工夫した点はありませんが、
標準プレミティブオブジェクトのシリンダー君は、
なぜかカプセルコライダーが割り当たっているので、
取り外して、MeshColliderを貼り直しています。


あとは、重さとか摩擦とか少し工夫したけど、もしかしたら、演習課題にするかもしれないのでこんなとこで。


2016年12月8日木曜日

Unity,無限ドミノ倒し〜

えー、無限ドミノ倒しです。

ちょっとUnityの講義用に作ったのですが・・配分ミスで結局そこまで行けなかったので、お蔵入りしたもの。 
 ブラックリスト、シーズン3を見ないで準備したのに・・ 

 (Rigidbody付きの板を36枚を並べて)


一つつついて倒し、連鎖させます。しかし、ちょっと経つと復活するので、
無限ドミノです。

輪廻転生?ゾンビ?なんでもいいです。

ドミノ倒しは、物理エンジンも使いつつ、処理も書く必要があるという、バランスとった演習課題のつもりでした。

肝の起き上がるコードは以下

おしまい。