ひさしぶりの うにばなです。
Unityエンジンの話をしだすと 興味の無い閲覧者の方の足が遠のくんですよね。
やっぱりブログ分けたほうがいいのかな? 一応名前は考えてるんですよUnity関連のサイトが『うになべ』
お絵かき特化サイトが『かきなべ』 うになべ っていうのはたぶんそんな鍋無いのでヒットしやすそうですけど かきなべは埋もれそうですねw
fps計算の話です。
fps計算で検索がありましたのでソースを掲載しておきます。
特に説明はしませんがこれをいれとけば大丈夫ではないかな 考えるな感じるんだっていうのも時には重要ですw
■fps.js /////////////////////////////////////////////////////////////////////////////////////////
var updateInterval = 0.5;
private var accum = 0.0;
private var frames = 0;
private var timeleft : float;
function Start()
{
if( !guiText )
{
print ("FramesPerSecond needs a GUIText component!");
enabled = false;
return;
}
timeleft = updateInterval;
}
function Update(){
timeleft -= Time.deltaTime;
accum += Time.timeScale/Time.deltaTime;
++frames;
// Interval ended - update GUI text and start new interval
if( timeleft <= 0.0 )
{
// display two fractional digits (f2 format)
guiText.text = "" + (accum/frames).ToString("f2");
timeleft = updateInterval;
accum = 0.0;
frames = 0;
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////

GUITextにスクリプトをアサインしてやるだけで表示されます。
guiText.text=” ”;の行で指定なく使用する場合アサインされたGUITextを指定しているのと
同義になります。
このスクリプトは本家のWikiに載っていたとおもいます。 いまのところ日本語情報は乏しいため英語版のWikiと
リファレンス UnityANSWER Unity本家のフォーラム ぐらいだけすでがほとんどゲーム製作の情報としては
これだけでも十分ではないでしょうか。 と 思うのですけど・・
あと Unityの弱点 なんていう検索もありました
デザイナーの意見としては 絵に関してはプログラマブルシェーダーが実装されている時点でアンリアルエンジンと比べてもそん色ないものが出来ると思います。 あちらははじめからかなり出来のいいデモがついてくるため
Unityエンジンが見劣りしていますけれど 高価なエンジンは簡単にきれいな絵が出せるという設計になっているのに対して Unityエンジンは自分で実装すればほとんどのものがそろうという思想でできているそうですので、あとはクリエイターの工夫次第じゃないでしょうか。
それからJAVAなどのスクリプトがC++に比べて50%のパフォーマンス(実行スピード)しかでないということを弱点とされる方もいらっしゃいます
ですが古いCPUでなければそれほど非力な印象はありません。ものによりですが国内ゲームメーカーの自社エンジンはもっと遅くて機能がないものが多いです。 参考になるかはわかりませんが、ストパンSTG ではキャラクタ5体と100個の
キューブ型の敵、爆発などパーティクルエフェクト、背景にノーマルマップ使用の2万ポリゴン程度で
30fpsがほぼ安定しています。ちなみに まだ本格的には高速化の処置はしていません。
以前聞いた情報(2009年ごろ)だとアンリアルエンジンDKのスクリプトがC++の20分の1のパフォーマンスだそうです。Unityのほうは自分的には十分なスピードだと思うのですけど どうなんでしょう?
少し話は変わります。自作(ライブラリ)にこだわる方もいらっしゃると思いますが 世界がビルを建てている時代に かなづち と釘
で対抗するわけにも行きませんよね ビルを作るならそれなりの重機だって必要になるはずです ライブラリの開発時間もかかりますので、その整備で終わってしまう可能性もあります。 これから技術がどんどん進歩していけばライブラリ製作の負担も相当なものになり 海外に対して時代遅れの技術で対抗しなくてはいけなくなるかもしれません というかすでになっていますけど。ゲームを作るというのが最終目標なはずなのに技術の理解で終わってしまうということが往々にあると思います。 もちろん技術のデモのためのゲームを作っている場合は少々状況が変わってきますけれど。
現在のUnityにももちろん不満はあるのですが 当然バージョンアップで解消されていくことでしょうし
Unityより優秀なエンジンが出てきたら(あたりまえに競合商品は出てくるでしょうけど)乗り換えたってかまわないわけです。 スピードの点はPCのスペックがあがってしまえば問題ではないですしね。それまでにトータルなゲーム製作の流れや技術を身につけるほうが意義がありますし 手をこまねいていたらせっかくの波に乗り遅れてしまいます。
案ずるより生むが易し という言葉がありますけどとにかく自分が動いてみることが重要だと思いますよ。
追記:仕事と体の都合でゲーム開発がのびのびになっています。ストパンのほうはクリスマスあたりに一度
お試し版を出すつもりだったのですけど11月末から先月までがあまりにもタイトすぎてほとんど手がつけられませんでした(家から出られたのが数日という缶詰状態) 待っていらっしゃる方ごめんなさい。予定としてはもうしばらくスクリプティング含めて素材作成などのリハビリ期間をとってから復帰すると思います。 あと今後の仕事に絡んだゲームの試作なども発表していくつもりですので よろしくお願いします。 つかれた
Unityエンジンの話をしだすと 興味の無い閲覧者の方の足が遠のくんですよね。
やっぱりブログ分けたほうがいいのかな? 一応名前は考えてるんですよUnity関連のサイトが『うになべ』
お絵かき特化サイトが『かきなべ』 うになべ っていうのはたぶんそんな鍋無いのでヒットしやすそうですけど かきなべは埋もれそうですねw
fps計算の話です。
fps計算で検索がありましたのでソースを掲載しておきます。
特に説明はしませんがこれをいれとけば大丈夫ではないかな 考えるな感じるんだっていうのも時には重要ですw
■fps.js /////////////////////////////////////////////////////////////////////////////////////////
var updateInterval = 0.5;
private var accum = 0.0;
private var frames = 0;
private var timeleft : float;
function Start()
{
if( !guiText )
{
print ("FramesPerSecond needs a GUIText component!");
enabled = false;
return;
}
timeleft = updateInterval;
}
function Update(){
timeleft -= Time.deltaTime;
accum += Time.timeScale/Time.deltaTime;
++frames;
// Interval ended - update GUI text and start new interval
if( timeleft <= 0.0 )
{
// display two fractional digits (f2 format)
guiText.text = "" + (accum/frames).ToString("f2");
timeleft = updateInterval;
accum = 0.0;
frames = 0;
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////

GUITextにスクリプトをアサインしてやるだけで表示されます。
guiText.text=” ”;の行で指定なく使用する場合アサインされたGUITextを指定しているのと
同義になります。
このスクリプトは本家のWikiに載っていたとおもいます。 いまのところ日本語情報は乏しいため英語版のWikiと
リファレンス UnityANSWER Unity本家のフォーラム ぐらいだけすでがほとんどゲーム製作の情報としては
これだけでも十分ではないでしょうか。 と 思うのですけど・・
あと Unityの弱点 なんていう検索もありました
デザイナーの意見としては 絵に関してはプログラマブルシェーダーが実装されている時点でアンリアルエンジンと比べてもそん色ないものが出来ると思います。 あちらははじめからかなり出来のいいデモがついてくるため
Unityエンジンが見劣りしていますけれど 高価なエンジンは簡単にきれいな絵が出せるという設計になっているのに対して Unityエンジンは自分で実装すればほとんどのものがそろうという思想でできているそうですので、あとはクリエイターの工夫次第じゃないでしょうか。
それからJAVAなどのスクリプトがC++に比べて50%のパフォーマンス(実行スピード)しかでないということを弱点とされる方もいらっしゃいます
ですが古いCPUでなければそれほど非力な印象はありません。ものによりですが国内ゲームメーカーの自社エンジンはもっと遅くて機能がないものが多いです。 参考になるかはわかりませんが、ストパンSTG ではキャラクタ5体と100個の
キューブ型の敵、爆発などパーティクルエフェクト、背景にノーマルマップ使用の2万ポリゴン程度で
30fpsがほぼ安定しています。ちなみに まだ本格的には高速化の処置はしていません。
以前聞いた情報(2009年ごろ)だとアンリアルエンジンDKのスクリプトがC++の20分の1のパフォーマンスだそうです。Unityのほうは自分的には十分なスピードだと思うのですけど どうなんでしょう?
少し話は変わります。自作(ライブラリ)にこだわる方もいらっしゃると思いますが 世界がビルを建てている時代に かなづち と釘
で対抗するわけにも行きませんよね ビルを作るならそれなりの重機だって必要になるはずです ライブラリの開発時間もかかりますので、その整備で終わってしまう可能性もあります。 これから技術がどんどん進歩していけばライブラリ製作の負担も相当なものになり 海外に対して時代遅れの技術で対抗しなくてはいけなくなるかもしれません というかすでになっていますけど。ゲームを作るというのが最終目標なはずなのに技術の理解で終わってしまうということが往々にあると思います。 もちろん技術のデモのためのゲームを作っている場合は少々状況が変わってきますけれど。
現在のUnityにももちろん不満はあるのですが 当然バージョンアップで解消されていくことでしょうし
Unityより優秀なエンジンが出てきたら(あたりまえに競合商品は出てくるでしょうけど)乗り換えたってかまわないわけです。 スピードの点はPCのスペックがあがってしまえば問題ではないですしね。それまでにトータルなゲーム製作の流れや技術を身につけるほうが意義がありますし 手をこまねいていたらせっかくの波に乗り遅れてしまいます。
案ずるより生むが易し という言葉がありますけどとにかく自分が動いてみることが重要だと思いますよ。
追記:仕事と体の都合でゲーム開発がのびのびになっています。ストパンのほうはクリスマスあたりに一度
お試し版を出すつもりだったのですけど11月末から先月までがあまりにもタイトすぎてほとんど手がつけられませんでした(家から出られたのが数日という缶詰状態) 待っていらっしゃる方ごめんなさい。予定としてはもうしばらくスクリプティング含めて素材作成などのリハビリ期間をとってから復帰すると思います。 あと今後の仕事に絡んだゲームの試作なども発表していくつもりですので よろしくお願いします。 つかれた