• このエントリーをはてなブックマークに追加

今なら、継続入会で月額会員費が1ヶ月分無料!

記事 20件
  • [アラフォーUnity] アラフォーはプレハブを使うことが出来るのか

    2014-07-30 07:00  
    100pt
    アラフォーUnityとは、40代目前の電脳空間カウボーイズリーダー、シン石丸がプログラマー35才限界説に挑戦しUnityを体当たりで学習するドキュメンタリーである……
    どうもUnityにはプレハブってもんがあると聞く
    ほぉ?プレハブ?
    あー、あの工事現場とか、庭に離れ作ったり、物置作ったりするアレね?
    え?違うの?
    Unityにある機能?あ、そうなの?
    んじゃ、それやってみるわ!
    どうやんのかよく知らんけど!
    アラフォーUnity第2回はプレハブをやってみます!果たしてアラフォーはプレハブを使うことができるのか!?出来ないのか!?アラフォー、プレハブ(Prefab)を知る
    Unityのドキュメントを読むと、『再利用できるゲームオブジェクト』とのこと。
    なるほど。
    アラフォーともなるとおっさん経験長いから、言わんとすることはわかりまっせ。
    つまりゲーム内でよく使うパーツをまとめてプレハブとして登録して再利用するってことでしょ?
    OKOK。
    それなら、やってみよう。
    プレハブで球を作って球がいっぱい出てくるアプリを作ってみる
    プレハブで球を作って、それを大量に複製するというモノを作ってみようと決めた。
    まぁまぁ、別に面白いもんではないですがw
    そういう基礎練習が大事よねってのも年だからわかってしまう的なねw
    とりあえず、球を作ってみて、球にマテリアルを設定。作った球をHierarchyウインドウからAssetsウインドウ内にドラッグ&ドロップしたら、晴れてプレハブが作れました。
    めでたいめでたい。あとはプレハブを生成してみよう
    プレハブは再利用できるってところが肝とのことなんで、これを大量に生成してみたいところ。
    そこで、老体に鞭打ってw こういうスクリプトを書いてみた。

    using UnityEngine;using System.Collections;public class AppManage : MonoBehaviour {    public GameObject ball;    // Use this for initialization    void Start () {        makeBall ();        }    void makeBall(){        // make rand pos        float range = 5f;        Vector3 pos = new Vector3 (Random.Range (-0.5f, 0.5f) * range, Random.Range (-0.5f, 0.5f) * range, Random.Range (-0.5f, 0.5f) * 10);        GameObject b = (GameObject)Instantiate(ball,                    pos,                    Quaternion.identity);        // make rand color        b.renderer.material.color = new Vector4 (Random.Range (0.0f, 1f), Random.Range (0.0f, 1f), Random.Range (0.0f, 1f), 1f);        }    // Update is called once per frame    void Update () {        if (Time.frameCount % 5 == 0){            makeBall ();        }    }    }

    Instantiateという命令でプレハブを生成できるとのこと。
    このスクリプトを、シーン上に、GameObject -> Create Empty で作成した空のゲームオブジェクトに関連付け。Script内のball変数に作りたいプレハブ、BallPrefabを設定。
    これで動くようになりました。
    ついでにプレハブの破棄もやってみよう
    シーンの下のほうに平面のデスゾーンを作って、そこにあたったら生成されたプレハブであるボールが破棄されるようなスクリプトも書いてみましたよ。

    using UnityEngine;using System.Collections;public class DeathZone : MonoBehaviour {    // Use this for initialization    void Start () {        }        // Update is called once per frame    void Update () {        }    void OnTriggerEnter(Collider other) {        print ("Destroy");        Destroy(other.gameObject);    }}

    Destroyで破棄とのこと。
    出来たー
    そんなこんなで、出来ましたー
    http://shinishimaru.github.io/MakePrefabAndDestroyAndRandColorMaterial/
    ちょっと見た目が寂しいんで、スカイボックスを設定して、ついでにカメラがぐるぐる廻るようにしてみましたよ。
    コードはこちら。
    https://github.com/ShinIshimaru/MakePrefabAndDestroyAndRandColorMaterial
    いやはや、また新たな基礎技を覚えたアラフォーUnitistシン石丸!
    はたして、Unityを覚えることは出来るのか!?
    出来ないのか!?
    待たれよ次号!!



     
  • [アラフォーUnity] アラフォーからのUnity入門『アラフォーは地球を廻したい』

    2014-07-28 17:39  
    100pt
    アラフォーはUnityを覚えることができるのか!?
    アラフォー。
    それは40代前後の年齢のことを表現する英語、Arround fortyを日本語カタカナ言語化した言葉だ。
    一説には、プログラマーは35才が限界だと言われている。
    そして電脳空間カウボーイズも大半のメンバーがアラフォーと言われる30代後半になっていた。
    それはワタクシ、電脳空間カウボーイズリーダであるシン石丸も同じ事。
    16進数表記ならば0x27才とまだ20代をキープしているわけではあるが、10進数表記ならば39才。
    立派なアラフォープログラマーである。
    はたして自分は老いているのか?
    今、新しい開発環境を学習し使いこなすことができるのか?
    それを実験によって確かめるため、あまりやったことがない開発環境、言語に挑戦することにした!
    そこで白羽の矢をたてたのが、昨今流行しているゲームエンジンUnityだ。
    はたしてアラフォーのオレはUnityを使いこなすことができるのか!?
    老兵はただ去りゆくのみなのか!?
    それともまだまだ若い者には負けないということを証明することができるのか!?
    その疑問に体当たりで答える新コーナー、それがアラフォーUnityだ!


    3Dプログラミング環境を覚えるには、とりあえず地球を回さないとダメだろう!!

    ワシが若い頃には、Direct3D5というものがあってな……
    Direct3D5では、直接モード(Immediate Mode)と保持モード(Retained Mode)というのがあってじゃな……直接モードは上級者が使うもの、保持モードは初心者が使う者という住み分けがあったんじゃ……
    などと今となっては何の役にも立たない3D話をしても仕方ないので、とりあえずUnityをダウンロードして入れてみた!
    とりあえずUnity Basicで頑張ってみよう。
    やっぱり3Dと言えば地球!!(そうか!?)
    地球をマウスでドラッグしたらグリグリ廻るのを作りたい!!
    はたして地球をグリグリ廻すソフトは作れるのか!?
    できるのか!?
    できないのか!?
    よくはわからんが、とにかくやってみるか!!

    アラフォーは細かいことは気にしない
    とりあえず球を作って置いてみる。
    あー、でるじゃん。
    地球のテクスチャをNASAのサイトから拾って貼ってみる。
    うん、なんか貼れた貼れた。
    デフォルトの球が、ちょっとローポリで角ばってるな。
    まぁまぁ、細かいことはいいや。
    次々。

    あとはマウスで回転させるスクリプト書けばよいんじゃね?

    んー、あとはマウスでドラッグしたら地球が廻るようなスクリプト書けば良いのか。
    しかしこれってあれだよな。
    DirectX9にそういうサンプルがあって、あれが好きだったからなんとなく作りたいってだけだよな。
    あのDirectX9のサンプルのコードと同じ数式で計算してやれば、同じことができると思うんだが……
    ネットを検索しても、さすがに古すぎるのか見つからない。
    MacのSpotlightでHDDを検索したら、なんと参考にしたいコードが出てきた!!
    気に入ってたからMacにも持ってきてたんだなー。
    で、そのコードを参考にUnity環境に合わせてC#にコードをコンバート。

    出来ました〜
    http://shinishimaru.github.io/ArcBall/
    で、こんな感じで出来ちゃいましたよ。
    マウスでクリックしてグリグリやると地球が廻ります。
    コード、プロジェクトもgithubに入れときました。

    https://github.com/ShinIshimaru/ArcBall

    お、アラフォープログラマーまだまだ頑張れるのか!?
    果たしてココ止まりなのか!?
    まだまだ頑張れるのか!?
    次号を待たれよ!! 
  • [運営ニュース]2014年7月22日から2014年8月11日までのアーカイブ動画追加予定[入会者見放題]

    2014-07-25 18:20  
    どもども、電脳空間カウボーイズ運営リーダーのシン石丸です。来月8月11日までのアーカイブ動画追加予定をお知らせします。入会者の方は見放題となっております。動画追加予定

    日付


    動画


    動画公開時間


    2014年7月22日(火)




    2014年7月23日(水)


    電脳空間カウボーイズZZ ゲスト:飯田和敏氏(ゲームクリエイター) 2014年07月15日(火) ニコ生放送第七回


    17:00


    2014年7月24日(木)


    第百二十回 酒とMACと男とPS3 前編 2007年04月24日(火)配信 アキバ系!電脳空間カウボーイズ Podcast


    17:00


    2014年7月25日(金)


    第百二十一回 酒とMACと男とPS3 後編 2007年04月27日(金)配信 アキバ系!電脳空間カウボーイズ Podcast


    17:00


    2014年7月26日(土)


  • 『ゴトー博士のenchantMOONで遊ぼう!』アーカイブ動画第二弾公開

    2014-07-23 17:00  
    どうも、こんにちは。配信担当のゴトー博士です。電脳空間カウボーイズZZのミニコーナー「ゴトー博士のenchantMOONで遊ぼう」個別アーカイブ第二弾が公開されました!!
    今回は前回に引き続き「MOONBlockで作るシューティングゲーム」をテーマに、基礎的なところを扱っております。具体的にはスコアの付け方や爆発のエフェクトの付け方などについてですが、地味ながら、この辺りが分かってくるとグッとゲーム作りが面白くなってきます!ここまでご覧頂ければ簡単なゲームはもう作れるようになっているはずです。そして次回からいよいよ応用編に入って参ります。応用編はMOONBlockでしか使えない「それ一体いつ何のために使うんだよ??」というようなノウハウ盛りだくさんなので、バリバリのハッカーの方が見ると逆に新鮮で意外と笑える内容かも。。!?
  • CPUコアの進化は2005年で止まっている!?

    2014-07-23 09:15  
    100pt
     僕が子供の頃、パソコンのクロック周波数は2.5MHzだった。少ししてから5MHzになり、PC-9801で8MHzになった。高校に進む頃には32ビットで16MHzの80486が登場して、コンピュータどんどん速くなって行った。ビット数よりもむしろクロック周波数が倍増することにより、文字通り二倍以上高速化するわけだ。そして大学に入る頃、166MHzと10倍高速化し、社会人になった頃、ついに1GHzの大台を超えた。子供の頃のコンピュータと比較して、実に500倍の高速化である。しかし僕が社会人になったのはもう15年も前だ。そろそろ疑問に思わないだろうか。15年経ったのに、クロック周波数は高々4GHzにしかなっていない。コンピュータの進化はもう止まってしまったのではないか。 先日、青山学院大学の井田先生(Lispハッカーであり、Common Lisp Object System(CLOS)の仕様提案者の一人 / Javaの開発にも影響を与える)のところで以前から薄々疑問に思っていたことのハッキリとした答えを伺った。 下図は、全米最高の科学者および有識者によって構成される米国学術研究会議(National Research Council)のレポートの抜粋である。 米国学術研究会議はウィルソン大統領の命令のもと1916年に設立された諮問機関で、多岐にわたる分野で大統領に国家政策を助言する権威ある機関だ。 「ゲームオーバーかネクストレベルか?」という挑発的なサブタイトルがついている。 コンピュータの性能の限界に警鐘をならしつつ、では次の段階(Next Level)にはどうやったら行けるのか考えるべきだという内容である。 前出のグラフは、1985年以降のCPUのシングルコア当たりのクロック周波数を示している。 すると2005年時点からぴたりとクロックの上昇が止まっていることがわかる。 つまりCPUコアあたりのクロック周波数は、実に10年近い間停滞したままだと言える。 それだけではない。 
  • 200人の女子中学生にenchantMOONを説明してみた感想 / shi3z

    2014-07-22 14:41  
    100pt
     縁あって、品川女子学院の中学一年生向けにenchantMOONを貸し出すことになった。 それに先立って、中学一年生200人全員に向けて、enchantMOONとはなんぞや、というところから、説明することになった。 その様子の詳しいところについては、後日メディアに掲載されるらしいので伏せることにするけれども、個人的にはとても新鮮で、とても驚きに満ちた体験だった。 
  • せっかく連休なのでClojureをMOONBlockでビジュアル言語にしてみた / shi3z

    2014-07-21 01:17  
    井田先生から頂いたCLOS本を読みながら、実際に試そうと思ってMacにEmacsやslimeをセットアップしていると、なんかパッケージマネージャが思い通りに動かなかったりして、「うーん、おれはもっと実用的な(?)ことにLispを使ってみたいのだが」という以前のところで躓いたりしていたら、高校時代の同級生が「とりあえずClojureやってみようぜ」と言うので夕飯食べたあとでやってみた。 ClojureはポピュラーなLisp方言のひとつで、JavaVMで動くのが特徴。 存在は知っていたがあまり使いたくはならなかったモノの一つだ。 なぜ使いたくならなかったかというと、僕は1995年から2006年くらいまでずっとJavaを使って来て、もうJavaとか飽きたなーという感覚でもあったし、JavaVM=重いというイメージをどうしても拭えずにいた。 一時期の僕がどれほどJavaに傾倒していたかは、例えばま
  • [サイバーパンク #Ingress 小説] 『Ingressの狼』 〜地元弁慶編〜

    2014-07-21 00:52  
    「退屈……だな」
    オフィスのデスクに置かれたiPhone。
    その画面に表示される広大な緑色の支配地域を眺め、俺は紙コップについだカロリーゼロの炭酸飲料を少し舐める。
    人工甘味料とカフェインによる絶妙な味調整によって、あたかも350ミリリットルに角砂糖7個半の膨大な糖分を加えたジャンク炭酸飲料と同じような快楽が脳に与えられる。

    「石丸さん、またカロリーゼロですか?しかも2リットルのペットボトルで」
    眼鏡の奥から怪訝な目線を送り、ゴトーはオレに話しかけた。
    ゴトーは20代前半だろうか。痩せて華奢な体つきと、和風な顔立ち。
    映画モテキの主役は、こんな役者だった記憶がある。

    「ふん、効率がな……大事なんだよ……わかるか、ゴトー?
    プログラミングもゲームもな……みんな同じ事だ。
    効率を軽視すると長期的に滅びる確率が高くなるんだよ。
    だから飲み物は常に2リットルで買え。似た快楽ならカロリーゼロ。わ
  • オブジェクト指向は禁止すべき!?なのか つれづれ/shi3z

    2014-07-19 11:36  
    100pt
    麻布十番でひさしぶりに「もや鍋」を食べながらボケーっとしていたら、「オブジェクト指向は禁止するべき」という記事がタイムラインにながれてきていて、「なぬ!?」と思ったのだけど、まともな記事だった。 オブジェクト指向がなぜ優れているのか、というかなぜ世の中はオブジェクト指向を必要としたのか、という点について無視すると、たしかに初心者にオブジェクトの概念教えるのは難しいんだよね。 僕は基本的にゲームプログラミングから入っているから、オブジェクト指向というのはびっくりするくらい重要というか、当たり前のものの一つになっている。 ゲームだとオブジェクトというのが画面に現れる。 例えば弾とか敵とかね、あれがひとつひとつオブジェクトだよ、と言われれば納得する。 その昔、ナムコの業務用基盤(ギャラクシアンとか)ではスプライトのことをオブジェクトと呼んでいたくらいだからゲーム=オブジェクト指向は揺るぎないと思う。 しかしゲーム以外のプログラミングの世界では、オブジェクト指向はかなり難解な概念として捉えられるらしい。 なぜかというと、ゲームのようにオブジェクトが見えないからだ。 もしくは見えたとしても、ウィンドウオブジェクト、それを継承したウィジェットクラスとスクロールバーオブジェクト、それに集約されたボタンオブジェクト、などなど、と言うように、目に見えてはいても概念として頭にスッと入ってこないものが多いのだ。 むしろ何気なく見えてるこの画面の上で、無数のオブジェクトが生き物のように互いにメッセージをやりとりしながら動作しているのだ、という前提は不気味ですらあるだろう。 オブジェクト指向の概念を最初に考えたのは誰だ、というと揉めることが多いが、間違いなく黎明期のオブジェクト指向に重大な影響を及ぼした一人はアラン・カーティス・ケイだ。  で、アラン・ケイは、なんと子供にプログラミングを教えるためにオブジェクト指向のアイデアを使ったのだ。 子供になにかを説明するために擬人化して説明したりする。 それだね。 しかし残念ながらいい大人であるにも関わらず、アラン・ケイのSmalltalk環境を僕はハックできない。つまり本当にユーザーフレンドリーなのかどうかはよくわからない。 まあせっかくだからこんどチャンスがあったらしてみようかと思うけど、やろうと思ったことがない。それをやりたいと思っていた中学生の頃はまだインターネットも普及してなかったし、日本語の本も見当たらなかったしね。 ただ、ケイ先生本人に聞いた話でもあるけど、ジョブズが古くさいとバカにしたXeroxのパロアルト研究所(PARC)で、たまたまみつけたアラン・ケイのSmalltalk環境を見て、ジョブズは「スクロールが文字単位なんて性能が低く見える」とバカにしたそうな。 すると、ダン・インガルスが「口の減らねえ小僧だ。そこで座ってみてろ」と言って、ダダダッとその場でテキストエディタを継承して1ドット単位のスムーズスクロールするテキストエディタを創りだした。ものの五分だったという話だ。 それでスムーズに動くところをみてジョブズは「マルチウィンドウってすげえ!」と思ったそうな。 けど1995年にジョブズはインタビューの中で振り返っているけど、この時、彼は非常に重要なものを見落としていた。 
  • 『ゴトー博士のenchantMOONで遊ぼう!』アーカイブ動画公開開始!

    2014-07-18 16:46  
    どうも、こんにちは配信担当のゴトー博士です。今週から電脳空間カウボーイズZZのミニコーナー「ゴトー博士のenchantMOONで遊ぼう」の個別アーカイブ動画の公開が始まります。http://www.nicovideo.jp/watch/1405667653当コーナーではビジュアルプログラミング言語MOONBlockで作った狂ったプログラムや手書きタブレットenchantMOONのニッチな裏ワザなどを紹介していきます。このコーナーだけ見たい人がこの世のどこに存在するのかにわかに怪しさが漂うものの、解説本や公式サイトには決して書かれていない、ここだけでしか知ることのできないTipsやノウハウが実は結構あったりします。地味に必見!さて当コーナーで最初に取り上げたテーマが「MOONBlockで作るシューティングゲーム」です。MOONBlockの基本的な内容から始まるので、ベストセラー作『教養のため