トップページgamedev
984コメント389KB

【3Dゲームエンジン】Unity質問スレッド1

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2012/04/20(金) 13:11:07.27ID:wu5IoHob
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。

Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3他

次スレは>>970を踏んだ方が建てること。ダメなら>>980>>990が建てて下さい。

■本スレ
【3Dゲームエンジン】Unity 13
http://toro.2ch.net/test/read.cgi/gamedev/1334399781/

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/

●リンク
・Unity(日本公式サイト)
 http://unity3d.com/japan/

・ユーザーガイド&リファレンス
 http://unity3d.com/support/documentation/
 (日本語訳)
 http://ws.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation/Manual/
・チュートリアル
 http://unity3d.com/support/resources/tutorials/
・FAQ
 http://answers.unity3d.com/index.html
・Unityのスクリプト公式
http://unity3d.com/support/documentation/ScriptReference/index.html

・MSDN
http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0317名前は開発中のものです。2012/05/07(月) 20:57:20.86ID:xq4cCikD
つーか、今のスマホは、昔のゲーム機みたいなカツカツだからな。
ちょっとでも速度や軽さ稼ぎたいってのはわかる。

PCだったら、作りたいものにもよるが、そういうレベルで気にするもんでもない。
極限まで最適化するなら、マシン語とかになる。極端な話。

だから、時代や環境や制作コストに合わせた、費用対効果でできる範囲でやればいい。
絶対に○○しないといけないんだ!みたいな先入観にとらわれないように。
0318名前は開発中のものです。2012/05/07(月) 21:04:37.95ID:oinbkdqk
いや、1フレームの描画に15msかかって、それ以外のあたり判定やらの処理が5msくらいで終わるなら、CPU側の処理を短縮しても意味なくない?
0319名前は開発中のものです。2012/05/07(月) 21:10:02.43ID:xq4cCikD
>>318
実行環境にもよるだろうから、コスト0で速くなるなら絶対にやった方がいいけど、
実際にやるかどうかは、ケースバイケースだろうな。
0320名前は開発中のものです。2012/05/07(月) 21:14:39.76ID:CZs6WxXS
>>ID:oinbkdqk
俺はキミの言ってることに賛成だよ。

レジが一台しか無いスーパーで、いつもレジが大渋滞になってる場合に、
個々の商品の陳列の順番を多少変えたところで客の回転に関しては
“あまり”意味がない。こういう文脈では無意味って言ってもいいと思う。

文脈って大切だよね。
0321名前は開発中のものです。2012/05/07(月) 21:17:24.00ID:xq4cCikD
>>320
完全に完結したプログラムでそこ以外一切いじらないならそうだけど、
修正や追加したときに、その前提条件なんてすぐに変わるよ。

まぁ、絶対に変わらないって自信があるならいいけど、
かなり限定された条件での話になるな。
0322名前は開発中のものです。2012/05/07(月) 21:20:18.61ID:PJSsNL5D
これからはハードの有り余る処理能力をふんだんに消費して楽をする時代になる。
0323名前は開発中のものです。2012/05/07(月) 21:20:55.81ID:CZs6WxXS
>>321
〜という前提であればっていう話だよ。
だからその前提であればその通りだねって言ってるだけ。

〜という前提はあるが、状況はいつでも変わりうるからなんとかかんとかって
そういうのはこの文脈においては“意味が無い”と思うよ。

状況によりけりだから、○○という状況であればって話をしてるわけだしさ。
話を交ぜ返して状況によりけりだからって言うのにいったい何の意味があるの???
0324名前は開発中のものです。2012/05/07(月) 21:21:33.33ID:psIqeyAC
そろそろスレチ。他でやってね。
0325名前は開発中のものです。2012/05/07(月) 21:23:13.83ID:PJSsNL5D
雑談はこちらで。
【3Dゲームエンジン】Unity総合スレッド14
http://toro.2ch.net/test/read.cgi/gamedev/1335186904/
0326名前は開発中のものです。2012/05/07(月) 21:23:31.30ID:xq4cCikD
やっぱり間違ったレスを見たら、修正してあげないとなw
質問スレだしw
0327名前は開発中のものです。2012/05/07(月) 21:25:56.59ID:oinbkdqk
俺の認識が間違ってるのかもしれないからちょっと質問する。

XNAの話だけど、この人がGPUの描画タイミングについて1フレーム遅れて処理されてるって説明してるよね。
ttp://blogs.msdn.com/b/ito/archive/2009/03/25/how-gpus-works-01.aspx
UnrealEngineでもそのようにされてるってのをどっかで見たことがあって、Unityでも当然そのように処理されてると思い込んでいたんだけど、もしかして違うの?
UnityってGPUとCPUの処理が直列で処理されてるの?

それだったら今までの俺の主張は間違いだから、高速化できるところは全て高速化してください。
0328名前は開発中のものです。2012/05/07(月) 22:02:40.57ID:yFLkWMuW
>>322
そう思っていた次期がわしにもありました
家庭用 Famicom->MegaDrive->PCEngine->SuperFamicom->PlayStation->PS2->PS3
PC 8001->8801SR->9801->IBMPC ここからビデオカード -> S3 -> Matrox -> PowerVR ->Geforce ->GForceFX(ココまで涙目)
最近やっとだw
0329名前は開発中のものです。2012/05/07(月) 22:55:43.12ID:sZKAJIg0
>>316
で?
それはunityでも意味があるって話をしてるの?
0330名前は開発中のものです。2012/05/07(月) 22:57:26.21ID:+CDYVz9t
うぜえから消えろカス
0331名前は開発中のものです。2012/05/07(月) 23:12:45.36ID:sZKAJIg0
>>330
それはこちらのセリフだ

一生懸命Setの時間なんてはかってるから意味があるのか?って聞いたら
予想通りの返答だよなカス

お前みたいなクズはこのままじゃなにも作れない
絶対だ

それはお前の人生がなにも積み上げてこなかったからだ
砂の上に柱立てて、砂の上に土台作って、砂の上に・・・てな具合だな
まず、砂の上でやるなよwって当たり前のこと言ったら君は逆上したんだ
俺のやることに口出すなよってね
周囲からみたら馬鹿にしか見えない、お前大丈夫かよ?って誰でもいうだろw

今回だってよく自分の行動を分析してみるべきだと思うぜ
なんでSetの速度なんて測ろうと思った?
君の目的なにかな?
どうして目的忘れてそんなことしちゃったのかな?
ゲームは完成するかな?ってね
0332名前は開発中のものです。2012/05/07(月) 23:24:21.07ID:KhvJrHsu
アホに釣られてレスやりとりしてると質問スレが潰れますよ
ここは質問と回答だけあればいいスレです
0333名前は開発中のものです。2012/05/07(月) 23:47:16.54ID:oinbkdqk
解答無いから2パターン答えとくと、UnityがGPUとCPUで並列処理を行っている場合、恐らくネックになるのはGPUだから30FPSを目指すなら、そっちを改善した方がいいよ。
仮にCPUでの処理が足を引っ張ってるなら完全に設計が悪いのでSetの高速化なんてやってる場合ではないよ。
そもそも最近のゲームがUnrealScriptやらC#やらJavascriptと言ったCやC++の20倍くらいは遅い言語で問題ないのかというと、
当たり判定やルート探索みたいなNativeで行ってる処理以外は殆ど問題にならない程度の負荷しかないからだよ。
だから、そんなとこが問題になるようなら設計見直した方がいいよ。

で、GPUとCPUが直列でしか処理できないなら、格ゲー・弾幕STG以外のものを作ってるならUnity以外のもので作った方がいいよ。
格ゲーや弾幕STGみたいに1フレ2フレ単位で技の判定が行われるゲーム以外、1フレーム内にCPUとGPUの処理を押し込む意味は殆ど無いよ。

逆に言えば描画が1フレーム遅れる場合、格ゲーをUnityで作るのは完全に不向きだと思うよ。
まぁシビアじゃないものを作るなら別だけど。
0334名前は開発中のものです。2012/05/08(火) 02:16:03.73ID:ZifHTSGd
俺がpositioxとsetの質問をしたばかりにこんなことに…

最高に笑えるぜ!
0335名前は開発中のものです。2012/05/08(火) 05:15:01.01ID:FOolLTyw
Vector系やQuaternionやRect等はUnityが昔からもってる機能だけど、Setが実装されたのはUnity3.5から。今更な感じが逆に気になったから実測してみただけ、折角だから結果を投げ込んでみたが、ただのデータだ、解釈は好きにすればいいさ。
俺の中の結論としては、
シチュエーションにあわせて普通に使えばいいって程度の差で、古いソース書き換えるほどの話では無いってのがわかったから満足。
今更っぽさと最近のUnityの開発方向からみて多分スマホ系向けの最適なんじゃないかと思うが、俺はスマホに興味ないから興味あるやつがいるならそっちは勝手に調べればいいよ。
あと煽っても何も出さないよw
0336名前は開発中のものです。2012/05/08(火) 05:39:59.33ID:7lGBCwIQ
>>331は何で威張ってるの?w
それが一番無駄っぽいw
0337名前は開発中のものです。2012/05/08(火) 05:52:57.36ID:eXoxC6cj
>>335
スマホでは速度だけでなく、バッテリー消費量も重要だからね。
オーバーヘッドを減らしてバッテリー消費を少しでも抑える努力は
プロなら必要になる。

でも趣味でやってるだけなら別に気にしなくてもいいよ。

0338名前は開発中のものです。2012/05/08(火) 07:06:09.38ID:T6q1+zrP
>>335
そこが気になったとしたら、恐ろしくセンスないな
0339名前は開発中のものです。2012/05/08(火) 07:10:46.39ID:vidcy9sx
むしろ気にならない方がエンジニアとしてのセンス無いよ。
言われた事だけやってるタイプ。
0340名前は開発中のものです。2012/05/08(火) 12:15:16.06ID:085SRNuC
>>314
・・・そういうにわかがよく出しそうなゲームプログラマな自分を装う例は釣りなのか?
0341名前は開発中のものです。2012/05/08(火) 16:21:35.41ID:ZifHTSGd
キャラニ体をアニメーションさせてるだけなのに
drawcallが54もある。
これって普通?
0342名前は開発中のものです。2012/05/08(火) 16:35:57.87ID:jCbXC+xa
マテリアルが分かれてたりメッシュが分かれてたりするとそうなる。ワンメッシュワンマテリアルで。
0343名前は開発中のものです。2012/05/08(火) 16:38:25.71ID:ZifHTSGd
そうなのか。多いのか。
0344名前は開発中のものです。2012/05/08(火) 17:32:03.73ID:ZifHTSGd
ライトが多かったみたい。
リアルタイムライトをメッシュ一個に当てるとドローコールが+1
二個に当てると+2
0345名前は開発中のものです。2012/05/08(火) 23:14:31.81ID:HNJP8cLp
>>249
遅レスですまないが、となると普段は固定フレームで処理が重くなったらスローになるような昔ながらのゲームは作りにくいって事かな。
0346名前は開発中のものです。2012/05/08(火) 23:57:58.47ID:T6q1+zrP
>>345
いや、別に
Hierarchyに1つだけおいたゲームオブジェクトのAwakeとUpdateしか使ってないよ俺
Updateの中で16ms越えたら〜ってやってる
普通に動くよ
描画を止めるってできんのかな?
描画だけはUnityにまかせて動いてない静止画をたくさんかいてもらってる状態
止められるのかな?これ?
0347名前は開発中のものです。2012/05/09(水) 00:14:20.60ID:hMBhHpmQ
>>346
タイマーつけて時間がくるまでupdateさせないとか?
0348名前は開発中のものです。2012/05/09(水) 00:31:45.46ID:7Xe8n22y
>>345
>>249だが確かに少し作りにくいかもしれない

自分のスクリプト内で処理する移動量とかは
1秒でx軸に+100の速度で移動する場合
pos.x += Time.deltaTime * 100;
とするが
60fps前提で処理が重くなったらスローにする場合
pos.x += (1/60.0f) * 100;
にする
つまりTime.deltaTimeを使用して経過時間基準にしている場所をフレーム基準の係数に置き換えるだけでいい

ただしFixedUpdateは処理が重くなった場合に連続して呼ばれた気がする(うろ覚え)ので注意

アニメーションは通常UpdateとLateUpdateの間でTime.deltaTimeを使ってUnityが進めるようなので
>>239のようにする
あれは再生後に再生速度に0を設定してUnityが時間を進めるのをキャンセルし
Updateで1フレームずつ進んだ場合の時間を設定してる
わざわざフレーム数を保持しなくても
state.time += 1 / 60.0f;
でもとりあえずは動きそうだが長いアニメーションだと計算誤差が溜まったりするかも?

で、方法がわからんかったのがPhysics
あまり使ってないからというのもあるが
Physics関連の進み具合を調整する方法がぱっと思いつかなかった
誰か処理が重くなったらスローになるようにPhysicsの設定ができるなら教えておくれ

なので自分としては「アニメーションに少し細工が必要だがPhysicsを使わなければ可能」と思ってる現状
0349名前は開発中のものです。2012/05/09(水) 00:38:17.86ID:7Xe8n22y
fpsの上限設定はApplication.targetFrameRateで
でもEditor上だと設定が無効っぽい?
アニメーションの方法ももっと簡単にできる方法があれば誰か教えてくれ
0350名前は開発中のものです。2012/05/09(水) 00:56:44.34ID:hMBhHpmQ
>>348
ごめん。よくわかんないんだけど、アニメーションが再生してる間はズレてて、再生が終わったときにモーションの長さからあるべき時間を計測して
その時がくるまで静止させておいてるってこと?それってキャラクターが1体だとそれでいいかもしれないけど複数のキャラクタがモーションを切り替えるタイミングが異なってる場合ってどうなる?

>>349
そこはビルドしないとダメらしい。謎仕様の一つだね。
0351名前は開発中のものです。2012/05/09(水) 01:57:51.93ID:7Xe8n22y
>>350
普通にアニメーションを再生すると
フレーム基準で進ませたいのにエンジン側はアニメーションを時間基準で進めてしまう
それによってスローになった場合もアニメーションだけはスローにならないので見た目がずれる
という問題点が出る

それを解決するために
アニメーションは再生状態になっているがエンジン側のアニメーションを進ませる処理を無効にして
自分でアニメーションを進めるというのが>>239の処理

>>239の処理にコメントを書くと
function Start () {
animation.Play(animName);// 再生する
animation[animName].speed = 0;// エンジン側のアニメーションを進ませる処理を無効にする
}
function Update () {
// 何フレーム目までアニメーションが進行してればいいかを計算する
++frame;// フレームを進める
var state : AnimationState = animation[animName];// AnimationStateの取得
var maxFrame : int = Mathf.FloorToInt(state.length * 60);// アニメーション全体のフレーム数を計算
frame = Mathf.Repeat(frame, maxFrame);// ループさせる
// フレーム数から時間に戻して設定する
state.time = frame / 60.0f;
}
って感じになる

なんで実際は
同じオブジェクトに付いているAnimationコンポーネントを利用して
フレーム基準でアニメーション進行をさせるスクリプトを書く
それを各キャラに追加していくって感じになるかな

切り替えのタイミングは関係ないと思うの
0352名前は開発中のものです。2012/05/09(水) 02:22:24.55ID:hMBhHpmQ
止めておくわけでは無いのか。
どうもありがとう。
よくわかりました。
unityがわで揃えてくれたらなあ。
0353名前は開発中のものです。2012/05/09(水) 08:38:17.23ID:rQndBjwE
そもそもアニメーションをフレームレート基準にしたいとおもうのが間違えてるんじゃ???
よく知らないけど
0354名前は開発中のものです。2012/05/09(水) 09:59:25.84ID:5YfS3YVN
>>353
アニメーションをフレームレート基準にしたいのは
作る物がフレームレート基準で混在させると処理が重くなった時にずれるから
なのでアニメーションをフレームレート基準にしたい事自体は間違ってないと思う

ただし作る物がフレームレート基準なのが間違ってるかどうかは
要求されてる仕様等によって変わるから要求を知らないと判断しようがない

判断しようが無いので知っている範囲でフレームレート基準にする場合の方法を書いてみた
自分でフレームレート基準の物をUnityで作った事は無いから気づいてないだけで見落としはあるかも
Physics関連の部分はフレームレート基準にする方法が思いつかなかった

要求まで見えていてフレームレート基準よりも時間基準にした方がいいと判断できる場合
その要求なら時間基準の方がいいと説明をする方が親切だとは思ってる
0355名前は開発中のものです。2012/05/09(水) 11:28:40.01ID:VcSq6KSt
日本語でおk!
0356名前は開発中のものです。2012/05/09(水) 11:43:08.77ID:hMBhHpmQ
fbxインポーターにloopのチェックボックスが二種あるけど
なんのためにあるのでしょう?
0357名前は開発中のものです。2012/05/09(水) 11:44:16.15ID:hMBhHpmQ
次のゲームループで何か作業をさせたい場合に
モーションが進みすぎてると困る。
そういう処理具合の問題。
0358名前は開発中のものです。2012/05/09(水) 12:45:38.32ID:ralf1cV8
>>356
ループ動作はWrapMode側で指定。

Loopのチェックボックスは、
綺麗にループするようにエンドのあとにスタートが繋がった形で再生が進むようになるんだと思う。
チェックされていると、前フレームからの経過時間がエンドを超えていた場合などはたぶんエンドフレームをすっ飛ばして再生が進んでエンドには到達しない可能性が高くなる、
そのかわりループは綺麗に繋がると。
0359名前は開発中のものです。2012/05/09(水) 14:04:14.12ID:hMBhHpmQ
>>358
それはスプリットのフレーム数を指定する業の末尾にあるloopのチェックボックスですよね。
なんかその上の方にもループやonceを選べるリストがあるよね?
あれとフレーム数を入れる欄の違いがわからん。
スプリットした分と、
スプリットしない分の違いだけで、
スプリットした分だけならフレーム数を入れるとこだけ見てれば良いんだよな?
0360名前は開発中のものです。2012/05/09(水) 14:07:43.45ID:hMBhHpmQ
ああ。俺は何を言ってるんだ。
>>359は無視してくれ。ありがとう。、
0361名前は開発中のものです。2012/05/09(水) 18:20:30.10ID:jPmn5Rou
>>354
>Physics関連の部分はフレームレート基準にする方法が思いつかなかった

メインループ見えてれば、なんの苦労もなく bullet で言う stepSimulation 叩くタイミング確認するだけなのにな
その辺が残念だ
0362名前は開発中のものです。2012/05/10(木) 17:26:51.17ID:mF80C2lF
今更ながら下記ブログ記事「UnityとUIKitの合成表示」を試しています。
ttp://radiumsoftware.tumblr.com/post/4306788939

記事中に「Unityの画面同期方式としてDisplayLinkを選択した場合、
インタラクション中に描画が止まる」とあり、まさにそのようになっているのですが、
DisplayLinkをオフにする方法が分かりません。
同期方式の設定欄がどこにあるのかすら分からないのですが、
どなたか教えて頂けませんか?
0363名前は開発中のものです。2012/05/10(木) 17:56:53.51ID:59T+73vk
>>326
「画面同期方式」からQualitySettingsのVSyncCountの事かもしれないと予想
0364名前は開発中のものです。2012/05/11(金) 00:13:43.07ID:8Gh+aa1k
>>362
すまん全然違った
ttp://d.hatena.ne.jp/nakamura001/20110702
たぶんここに書いてあるUSE_DISPLAY_LINK_IF_AVAILABLEの事かも
Mac無いから自分では確認できないんだけれども

しかも326とか打ち間違えたし
0365名前は開発中のものです。2012/05/11(金) 07:22:49.89ID:6r4xdIuC
おまえらいい加減FPS依存やめろや
移動Pathの設定からなにから時間依存に変更しないとめんどくさいことこの上ないぞ

とメガドライブでPAL/Secam仕様の時の愚痴を述べる俺は老人
0366名前は開発中のものです。2012/05/11(金) 08:25:56.50ID:keWdzJ1G
昔のゲームはPALバージョンだと少し遅くなってたよねw
0367名前は開発中のものです。2012/05/11(金) 08:58:53.63ID:KirC+wt9
フレームレート基準のやり方について書いといてなんだが
基本的に時間基準の方がいいよな、Unity自体が時間基準だし

まあ時間基準にしててもNTSCからPALにした時に繋がらなくなるコンボが出るとか聞いた事あるから
単に時間基準にしてれば全て解決ってわけでもないのだろうけど
0368名前は開発中のものです。2012/05/11(金) 09:07:22.65ID:keWdzJ1G
>>367
>まあ時間基準にしててもNTSCからPALにした時に繋がらなくなるコンボが出るとか聞いた事あるから


それは時間基準のロジックが根本的に間違ってるんでしょw
60fpsか50fpsの違いでコンボが出なくなるなんて酷過ぎるw

0369名前は開発中のものです。2012/05/11(金) 09:52:39.23ID:KirC+wt9
うん、たぶん根本的に間違ってたんだろうな

おそらく入力の判定間隔が少し長くなったせいで1発目と2発目の攻撃間隔が少し長くなって
ぎりぎり当たってた2発目が当たらなくなったんだと思う

元を作ったのは別の会社でその海外版対応をしてたらしいんだが
その現象が起きるせいで各種コンボがそのまま繋がるかをチェックしてたみたい
大変そうだなぁと思いながら聞いてたけど
0370名前は開発中のものです。2012/05/11(金) 12:26:13.66ID:GzPeeZSP
X座標の値だけを特定の値に指定したいんだけど、どうしたらいい?
0371名前は開発中のものです。2012/05/11(金) 12:37:46.59ID:WDs4K7uD
どうしたらいいと思ってる?
まずは自分の考えを言ってみなよ
そうすればいろいろと見えてくるから
0372名前は開発中のものです。2012/05/11(金) 13:56:00.87ID:PAZZuyqn
>>370
rigidbodyならconstraintsってのがある。
スクリプトからでもインスペクターからでも変えられる。

この場合「移動を制限」を英訳してぐぐればみつかったはず。
0373名前は開発中のものです。2012/05/11(金) 14:04:40.46ID:GzPeeZSP
>>371
じゃあ言ってみるよ。
new Vector3(X座標に特定の値,Y座標に今の値,Z座標に今の値);

これをpositionなりにぶち込む。
でもなんだかYとZの値は変えないのにぶち込む処理をするのが無駄な気がしてる。
なんとかしたい。
でもXだけの値を参照する事はできても、Xだけの値を変更する事は微妙にできない気がするんだけど。
以前の値にXの値だけ増減させるってのならできるんだけどね。

>>372
Vextor3構造体のXだけいじれないってのがキモだけどなあ。できるのかな?
0374名前は開発中のものです。2012/05/11(金) 14:22:28.67ID:PnHwLQKg
transform.position.xにそのまま数字なり変数なりぶちこめばいいんじゃね
0375名前は開発中のものです。2012/05/11(金) 14:46:21.67ID:KirC+wt9
こうじゃないの?
function Update () {
transform.position.x = 0;
}
まあC#で
void Update () {
transform.position.x = 0;
}
だとコンパイルエラーになるけどな
0376名前は開発中のものです。2012/05/11(金) 14:46:28.74ID:VK4dPgF/
>>362 です。

>>364
まさにこれでした!
ありがとうございます! 解決しました!
0377名前は開発中のものです。2012/05/11(金) 15:15:18.96ID:GzPeeZSP
>>374-375
そう。C#だとそれだとエラーになる。参照してるだけとか言われる。どうしよう?
0378名前は開発中のものです。2012/05/11(金) 15:28:37.26ID:keWdzJ1G
>>377
なぜC#でそれができないのか?
それはVector3がstructで、C#のstructは「値渡し」だからです。
transform.positionはVector3の参照ではなく、
値をコピーして返しているので、ダイレクトに中身の変更はできないのです。

なのでnew Vector3()で丸ごと変えるのが正解。
0379名前は開発中のものです。2012/05/11(金) 15:37:25.68ID:GzPeeZSP
>>378
という事は俺は正解に不満をいだいていたのか。
でもインスペクタの値を変える方法があったような。
探ってみるかな。
0380名前は開発中のものです。2012/05/11(金) 16:56:09.37ID:PnHwLQKg
>>290を考えるとC#の必要がないならJAVAで直代入の方が早いってことか
0381名前は開発中のものです。2012/05/11(金) 17:26:49.54ID:L9ZSfCXH
そういう話してると、またボトルネック厨が発狂しちゃうよw
0382名前は開発中のものです。2012/05/11(金) 17:47:18.41ID:niRbYERk
>>378 >>379
別にメンバで Vector持っておいて、コピーしたらいいんじゃないの?
実際の挙動はイコール演算子の動作定義によるが

>>380
C#のクラスは参照渡しでしょうが
なので、Vectorが struct でなく class であれば無問題だけど、
本来 Vector みたいなデータ構造は、そのまま構造体でいいはずなので、
どっちかって言うと ref で渡せるメソッド経由が正解
0383名前は開発中のものです。2012/05/11(金) 19:34:52.37ID:DWW04CAF
作っててそんなこと疑問に思わなかったからなんだと思ったら
俺のプログラムはフレームで描画前の描画モデルの更新のときのみしか
ゲームオブジェクトへの値の更新は行ってないわ

ゲームオブジェクトへの値の更新が1フレに何度も行われるって設計がヘンテコなんじゃね?
0384名前は開発中のものです。2012/05/11(金) 20:15:08.66ID:GzPeeZSP
>>383
キミが作ってるのはどんなゲームなんだ?確かに一度にすべきかもしれんがな。
0385名前は開発中のものです。2012/05/11(金) 20:47:56.99ID:DWW04CAF
>>384
ゲーム関係ねぇって1度にしろよ
0386名前は開発中のものです。2012/05/11(金) 20:57:44.04ID:L9ZSfCXH

衝突とか一切ないゲームなの・・・?
0387名前は開発中のものです。2012/05/11(金) 21:16:14.93ID:niRbYERk
>>385
描画前に一度しか値をセットしない?
初期値しかセットしてないって事?

もうちょっと正確に
0388名前は開発中のものです。2012/05/11(金) 21:20:01.99ID:4bsMdSY+
Asset storeからゾンビのモデル落としてきたんだけど
これにモーション付けるにはどうしたらいいの?
やっぱUnity以外のソフトが必要?
0389名前は開発中のものです。2012/05/11(金) 21:30:29.11ID:niRbYERk
>>388
基本的にはそう
まず3Dキャラクタのアニメーションって、どういう仕組みで動いて見えるかは、わかってるとすると、
そのモデルにまずボーンなりなんなりがあるか、とか
そのボーンを動かす為の回転情報を並べたキーフレームの情報はどうやって割り当てるか、とか考えて

やらせたい内容によって、コード書いて計算してやるとか、Unityのパネルからやるか、とか、
または別の統合系3DCGソフト使うか、とか、選択肢色々

ソフトに関しては、CG板とかの該当スレへ
0390名前は開発中のものです。2012/05/11(金) 21:37:42.83ID:GzPeeZSP
>>385
だな。描画の前にまとめるべきだよな・・・
でもめんどくせえ。処理がバラバラwwでも動くwwwそもそも位置調整の間に結構その位置情報に基づいた処理が入るのでどうしても2回は位置移動が入ってしまうんだ。
ってか、同じフレームの間に結構動かないか?
0391名前は開発中のものです。2012/05/11(金) 22:55:39.17ID:4bsMdSY+
>>389
なるほど。さすがにモーション付けの機能まではUnityにはついてないんだな
落としたモデルは、ボーンすら入ってないモデルだったから、簡単にはいかなさそうだ
0392名前は開発中のものです。2012/05/11(金) 23:59:22.80ID:niRbYERk
>>391
ボーン情報無いとすると、3DCGソフトいるかな
Unityが便利に用意してるAPIを使わないで、力業でやればやれない事はないが、
それはそれで面白いかもしれないが、現実的じゃないかも
ソフトゲットしておくれ
0393名前は開発中のものです。2012/05/12(土) 00:02:30.64ID:PxXtOc7q
位置は速度によってのみ更新されるように作れば良い。
0394名前は開発中のものです。2012/05/12(土) 00:06:12.16ID:V7Bge/8+
>>393
そんな単純なゲームじゃないんだ。もう雑談スレでやろうぜ。
0395名前は開発中のものです。2012/05/12(土) 00:07:39.19ID:wkya8T8Q
>>393
それで良いところなら良いが、
プレイヤーやNPCみたいに、処理で都度座標更新する事が多いでしょ
0396名前は開発中のものです。2012/05/12(土) 09:52:25.59ID:7ty6Uz4P
>>395
その話とこの話は関係ない・・・設計になっていないのがおかしい
0397名前は開発中のものです。2012/05/12(土) 11:20:43.00ID:PxXtOc7q
>>395
速度や加速度で与えるべきでは?
というか何にしろ1フレーム中に値を直接何度も書き換えてるのはおかしい。
0398名前は開発中のものです。2012/05/12(土) 11:42:35.90ID:V7Bge/8+
>>397
unityの仕様なんだよ。
1フレーム中に何度もモーションを描画したりしてるし。
0399名前は開発中のものです。2012/05/12(土) 14:31:46.95ID:7ty6Uz4P
>>398

わかったもういい
すきにしろ
0400名前は開発中のものです。2012/05/15(火) 01:19:32.74ID:euKZD59j
難読化ツールに何を使ってますか?
0401名前は開発中のものです。2012/05/15(火) 01:27:39.45ID:4Ec+pjrC
>>400
業務開発でって事? 個人だと使ってる人いるんだろうか
どの道リファクタしたら終わりだしって話も
0402名前は開発中のものです。2012/05/15(火) 06:56:28.85ID:euKZD59j
>>401
そうなんですよ
難読化は絶対やってくれっていわれてて
フリーの難読化ツール使ってみたのですが
使うと動かなくなってしまうという状態です
0403名前は開発中のものです。2012/05/15(火) 07:26:35.94ID:rJjRHBgC
コードの難読化のため?
データの難読化のため?
0404名前は開発中のものです。2012/05/15(火) 08:46:28.33ID:DAevAKhJ
両方でしょ。
うちはumac使ってるけど。
0405名前は開発中のものです。2012/05/15(火) 09:34:27.84ID:VsVMJ/pz
まぁ割れ使ってるデータなんて
そのまま表に出したらエライことになるからな
0406名前は開発中のものです。2012/05/15(火) 12:24:24.45ID:/0Ko6UOi
割れのデータって?
adobeとかこと?
あれ、ガセだって聞いたんだが...
04073682012/05/15(火) 12:28:28.64ID:Cy9rqVY1
>>406
ステガノグラフ
で検索してみろ。
画像には様々な負荷情報が含まれる。
3Dソフトで作ったファイルにもビット単位でシリアル情報、IPなんかも入ってる。
ヘッダに入れてるんだ。
0408名前は開発中のものです。2012/05/15(火) 17:50:09.91ID:I/+Uz/yo
ステガノグラフがヘッダに入ってたらバレバレじゃん。
0409名前は開発中のものです。2012/05/15(火) 19:39:19.24ID:euKZD59j
自己レスです

難読化はAssembly-CSharp.dllファイルを
このソフトを使用することで難読化できました。

Nandoku
http://uwa.potetihouse.com/soft/nandoku.html

そのときにスクリプトがゲームオブジェクトに関連付けられているクラスやメソッド名は
難読化のときに変換してしまうと実行したときに動かなくなります。

具体的にはMonoBehaviourクラスを継承したクラスや
AwakeメソッドやUpdateメソッドを難読化してしまうと動かなくなってしまうので
上記のクラスやメソッドは除外して難読化するとちゃんと難読化しても動作しました。
0410名前は開発中のものです。2012/05/15(火) 20:31:48.53ID:iTE63kbK
AwakeやUpdateがprivateでも実装しなくても呼ばれたりするから
SendMessageとか使って呼ばれてるのかね
そして名前で呼ばれてるから難読化の名前変更されると動かなくなると勝手に予想
0411名前は開発中のものです。2012/05/16(水) 14:56:57.77ID:Syr+eCyZ
iOSのパブリッシュでエラーがいくつか出るけど、動作確認では問題ないように見える。これはほおっておいても大丈夫なのだろうか。
0412名前は開発中のものです。2012/05/16(水) 15:48:51.65ID:dJrWSF6j
>>411
エラーの内容次第でしょw
うちは出ないしw
0413名前は開発中のものです。2012/05/16(水) 20:59:17.06ID:obxA2Hgh
レンダリングを行わず、前フレームの結果をそのまま表示する方法はありませんか?
あるフレームだけレンダリングを行わないようなことをやりたいのですが、
どの設定を変えればレンダリングされないようにするのかわかりません。
0414名前は開発中のものです。2012/05/16(水) 22:00:10.86ID:fhxk1WpI
いい質問だなー
0415名前は開発中のものです。2012/05/16(水) 23:02:01.01ID:zvyDd3vS
オフスクリーンバッファを… って書こうとして、最近 Unity捨て気味なので
出来ないかもしれないと思い出した
0416名前は開発中のものです。2012/05/17(木) 05:58:12.46ID:j2DW78Xe
そこまでローレベルな操作は出来ないと思うに一票
0417名前は開発中のものです。2012/05/17(木) 09:36:54.92ID:D2DZuqYe
CameraのtargetTextureにRenderTextureを設定して描画すれば
前のフレームの描画結果を後のフレームでも使えると思う

Cameraのenabledをfalseにすればレンダリングしないと思う
■ このスレッドは過去ログ倉庫に格納されています