[過去ログ]
Blenderで3Dゲーム作ろうぜ (639レス)
Blenderで3Dゲーム作ろうぜ http://mevius.5ch.net/test/read.cgi/gamedev/1175839591/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
268: 265 [sage] 2009/11/23(月) 18:04:42 ID:72hHgzdF >>267 あんまり突き放すのもアレだから、簡単にだけ書いとく。 入門サイト読む前の、基本的なポイントだけな。 ただし Python 限定。 目的が Blender/Python だろうからそれでいいよね? さらに箇条書きで、ノイズカットして要点だけに絞る。 詳細はググるなりして追いかけて調べてくれ 1.ソース中にある # で始まる行はコメントと呼ばれる。 Pythonエンジンは # で始まる行の右以降を全て無視する 2.ただし Blender/Python の Script 中、冒頭の数行のコメントは特別扱いされている。 … これは 「Python さんには関係ないけど、僕(Blender)には用がある」 ということで、コメントの機能を利用しているってこと 例) #!BPY ← Blender/Python のお約束 # coding: utf-8 ← 「この *.py ソースは日本語を含む多国語で書かれてます」 という文字コードの指定。省略した場合、多分 iso-8859-1 (ラテン英数文字) として認識される #""" ← 続く文字列の開始。下の ※ まで #Name: 'This is my test' ← Python には関係無いが、Blenderが読み取る要素その1 「このスクリプトの表記名」 #Blender: 249 ← その2 「対象Blenderのバージョン名」 #Group: 'Object' ← その3 「Blender内での機能区分」 BlenderUI上で、どこの scripts に登場させるか #ToolTip: 'Test Script' ← その4 見たまんまツールチップへの表示文字列 #Version: v0.1 ← その5 この自作スクリプトのバージョン名 #Author: foobar ← その6 この自作スクリプトの作者名。 例は俺 #""" ← ※ 文字列の終了。ここまで import re ← ここから Python の世界。 Pythonが持っているライブラリ、あるいは自作のライブラリなどを輸入する import os import math from Blender import * ← この1行も import。 意味は 「Blenderという名前のライブラリの中から、* = 全部 を輸入する」 : http://mevius.5ch.net/test/read.cgi/gamedev/1175839591/268
269: 265 [sage] 2009/11/23(月) 18:12:37 ID:72hHgzdF 3.変数の考え方として、C言語系(C、C++、Java、C# などなど)の場合、大抵そこには 型が必要。 例) int abc; // abc という名前を付けたこの変数は int 型(整数型)です。 しかしPython の場合は、意識的にこれを記述する必要が無い。(abc に整数が放り込まれたら、abc は以降整数を持っている人として振舞う、みたいな) なので、「知らない内に想定外の内容が放り込まれたりしないように」 注意すること 4.Pythonのプログラムはとても独特。 特に目立つ部分としては、「インデントの数で、処理の塊を表現してる」 って部分。 例) for ob in object_list: if ob.getType() == "Mesh": print "メッシュきたこれww" 上の例は、「for で繰り返す処理、の中に if で判断する処理があり、if の結果が "その通り!" ならば、print を実行している、って事。 C系言語の場合、{ } で囲んで現すが、Python はこれをインデントで現す http://mevius.5ch.net/test/read.cgi/gamedev/1175839591/269
270: 265 [sage] 2009/11/23(月) 18:17:09 ID:72hHgzdF 5.さりげなく4で登場した、for や if や プログラムの動きを制御する為の制御構文。 繰り返したり、条件判断したりする。 他、print とか書いたのは、Python が内部で持ってる組み込み関数。 他にも Python自体が判断している予約語などもある。 それら以外の import されて始めて使えるものは、ざっくりと ライブラリとか呼んだりする。 ちょうど、図書館から必要なものを借りてくるようなイメージだ 6.処理の単位には、単純に上から下へと流れて実行される本線と、他に 「何かを受け取って、何かして、何かを返す」 処理を一塊にした 『関数』 と言う単位のほか、 その関数をまとめた クラス という単位もある。 詳細は切りが無いのでググって とりあえず俺の長文鬱陶しいので、この辺で。スレチスマソ http://mevius.5ch.net/test/read.cgi/gamedev/1175839591/270
271: 265 [sage] 2009/11/23(月) 18:26:39 ID:72hHgzdF あ、あと一個だけ。 特に Blender/Python などの実際に動いているソースを見た時、よく目にするものの説明だけ 7.ソース中にある 「AAどっとBBどっとCC()」 のような記述の意味は、6に挙げたクラスの概念と関係している。 端的に言うと、「AAの中にあるBB、そのBBが持っているCCという処理を実行する」 という意味。 これが 「AAどっとBBどっとCC」 となっていた場合、それは 「AAの中にあるBB、そのBBが持っているCC」 という意味になる。※括弧が無い点に注意 ここでのキーワードは、オブジェクト。ただし Blender で言うオブジェクト、じゃなく、プログラミングの世界で言うオブジェクト。 これの意味は、「なんらかの一塊の処理」「一塊のデータ」 みたいなもの。 それを、「実際に動作させる事が出来る状態にしたもの」 みたいな感じ Blender/Python では、ホストになるBlender側が、「自分の中にあるデータ類」 を、Pythonのオブジェクト機構を通じて渡してくる、 自分はそれを介して使い、Blenderの中のデータに触っている、と思っとけばおk 以上スンマセン http://mevius.5ch.net/test/read.cgi/gamedev/1175839591/271
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.030s