トップページgamedev
1002コメント392KB

Unity5質問スレ [転載禁止]©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2015/07/08(水) 21:37:53.68ID:GwI4cIXA
質問スレがないから立てた
今では反省している
0175名前は開発中のものです。2015/08/23(日) 16:45:02.13ID:P2+yAH9P
>>173
オープンワールド作るには辛いのは皆知ってる模様
そんなせいかアセットストアにないけどツールが別売で売ってたりする
今リンク失念してるのでかけないけど生成型マップで無制限の領域生成出来る奴(ビデオしか公開されてなくて詳細はメールでって売り方なのでお試しできないのが困るのだけど)
0176名前は開発中のものです。2015/08/23(日) 16:56:26.82ID:vqdu988J
CityEngine以外に同等の機能があるツールってあんの?
道路の線引くだけで建物とか自動生成してくれるらしいんだけどあれ高すぎだわ
0177名前は開発中のものです。2015/08/23(日) 17:58:55.76ID:PndBQK9j
>>174
上に寄せて拡大縮小してるように見えるんだが
いまいちやりたい事伝わらんけど、何か適当に置いとくわ
・空のGameObjectにアタッチして使うスクリプト。
・プレハブ1インスタンスの下に2インスタンスが、
 2インスタンスの下に3インスタンスが並ぶ
public Object obj1; //Inspectorにて、プレハブをドラッグ&ドロップ
public Object obj2;
public Object obj3;
void Start(){
//インスタンスをGameObjectへ変換しつつ代入
var instance1 = Instantiate(obj1, Vector3.zero, Quaternion.identity) as GameObject;
var instance2 = Instantiate(obj2, Vector3.zero, Quaternion.identity) as GameObject;
var instance3 = Instantiate(obj3, Vector3.zero, Quaternion.identity) as GameObject;
//obj2の移動先
var pos_Instance2 = new Vector3(
instance1.transform.position.x,
instance1.transform.position.y - (instance1.GetComponent<Renderer>().bounds.size.y + instance2.GetComponent<Renderer>().bounds.size.y)/2,
instance1.transform.position.z);
//obj3の移動先
var pos_Instance3 = new Vector3(
instance2.transform.position.x,
pos_Instance2.y - (instance2.GetComponent<Renderer>().bounds.size.y + instance3.GetComponent<Renderer>().bounds.size.y)/2,
instance2.transform.position.z);
//移動
instance2.transform.Translate(pos_Instance2);
instance3.transform.Translate(pos_Instance3);
}
0178名前は開発中のものです。2015/08/23(日) 18:03:26.57ID:bRxAlAmZ
答えそのまま教えるようなやり方はためにならんぞ
参照サイトかキーワード教えて自分で考えるようにさせないと>>174のようにいつまでも初心者未満のまま
0179名前は開発中のものです。2015/08/23(日) 20:22:45.38ID:sRP2SB63
累計のスコアってどうやって書けば記録できるのでしょうか?
今まで対象のオブジェクトを何回タップしたか記録したいです。
playerprefsをロードして、スコアをプラス
、セーブのようにしたいのですが上手くいきません。初心者にも分かるように教えて欲しいです。
0180名前は開発中のものです。2015/08/23(日) 20:38:35.43ID:9l0A+MkA
初心者向けチュートリアルのSurvival Shooter 8. Scoring pointsで詳しく説明されてる
これを理解できるまで何度もやるんだ
0181名前は開発中のものです。2015/08/23(日) 21:35:51.09ID:jxHq9mHo
rigidbodyを使用しない場合の軸移動を制御するにはどうすればいいのでしょうか?
わからなかったので調べたのですが、rigidbodyを使った方法しか見つからなかったので質問させていただきました。
0182名前は開発中のものです。2015/08/23(日) 22:02:12.87ID:PndBQK9j
>>181 軸制限制御関数とかは特にないはず
Mathf.Clamp(value,min,max)で移動量を矯正するなり、
Vector3クラスの変数
ttp://docs.unity3d.com/ja/current/ScriptReference/Vector3.html
を使ってローカル軸移動するなり、好みでどうぞ
0183名前は開発中のものです。2015/08/23(日) 22:03:35.10ID:PndBQK9j
ごめんVector3クラスのはワールド軸だった
ローカル軸移動はこっちね
ttp://docs.unity3d.com/ja/current/ScriptReference/Transform.html
0184名前は開発中のものです。2015/08/23(日) 22:05:10.86ID:sRP2SB63
>>180
そのゲームワンプレイ中のハイスコアではなく、何回ものプレイで積み上げてきた累計のポイントを記録したいのですが、ここに書いてあるのでしょうか?見てもよく分からないのですが。
0185名前は開発中のものです。2015/08/23(日) 22:31:36.64ID:sRP2SB63
解決しました。最初は0を入れておけばいいんですね!
0186名前は開発中のものです。2015/08/24(月) 03:40:36.25ID:C4eqAqez
Collider2D.shapeCount:コライダー2Dの分割数。例えばコライダーの頂点動かして2つに別れたら2になる
0187名前は開発中のものです。2015/08/24(月) 05:19:52.29ID:6t+cqKgW
簡単な処理が書けるようになったから自分のキャラとかにアニメーションつけたり
制御してみたいなーと思ってblenderでキャラ作ってunityで読み込ませてみたんですが
.blender→z軸とy軸がキャラだけ入れ替わってたり親子関係がおかしい(親子少し変えるとなおる?)
.FBX →Rotationが0,0,0のはずが -90,-180,0になってる。
エクスポートのときにトランスフォームを適応にチェック入れると3つ目以降の子オブジェクトが荒ぶる。

調べてみても自分の状況と違うことが書いてあるためよくわからず。
blenderと同じ座標や回転軸、親子関係の状態でunityで読み込ませるためにはどうすればいいのでしょう?
0188名前は開発中のものです。2015/08/24(月) 07:42:48.46ID:C4eqAqez
>>187
回転000スケール111基準でアニメーションしたいなら
空Objに入れて空Objをアニメーションすればいいだけ
なぜメッシュに回転やスケーリングがかかるかは
両ソフトの座標系や単位系についてもう一回ちゃんと調べてみたらいい
0189名前は開発中のものです。2015/08/24(月) 11:24:15.40ID:OUpui1KT
unityで
=
//

こういった曲線のオブジェクトを作ることは可能ですか?(分かりづらくてすみません
blenderなどのソフトで作るしかないでしょうか?
0190名前は開発中のものです。2015/08/24(月) 11:25:52.55ID:OUpui1KT
上手く貼れなかったんですけど滑らかなカーブを作りたいです。。。
0191名前は開発中のものです。2015/08/24(月) 11:54:47.83ID:pJX0Se3K
>>187
ブレンダーは座標軸事態がUnityと違うから逆になる。
防ぐにはブレンダーの方でオブジェクトの座標を逆にする必要がある。
そのままエクスポートする方法は有ったような無いような。
頑張れ。
0192名前は開発中のものです。2015/08/24(月) 11:58:21.82ID:pJX0Se3K
>>189
Unityは流石に出来ないのでは?
やるならブレンダーとかのツールを使った方が速いかもね。
Unityはあくまでも保有する材料を組み立てるツール。
と思う。
0193名前は開発中のものです。2015/08/24(月) 12:04:22.25ID:P534nfLV
sendmessageはあまり使わない方がいいらしいのですが、皆さん使用頻度はどんなもんですか?
文字列引数の問題さえクリアできれば便利だと思うのですが・・・

それともやっぱり極力使わない(避けた)方がいいですかね?
0194名前は開発中のものです。2015/08/24(月) 12:14:41.97ID:D46f7Rcj
>>193
呼び出しコストが高いので1フレームの処理中にガシガシ呼び出すのならやらない方が良い
タワーディフェンス系ゲームの移動完了時とか中継地点経過時やUIなどからなら使いやすいと思われる場合は使う程度かな
0195名前は開発中のものです。2015/08/24(月) 12:15:40.23ID:OUpui1KT
>>192
ありがとうございます。
やっぱり難しいのですね。
blenderで作ってみたいと思います。
0196名前は開発中のものです。2015/08/24(月) 12:16:46.08ID:D46f7Rcj
>>189
Path(経路)からオブジェクトを作る時は内部でMesh生成して作ったりするけど結構なコード量になるよ。(拾ってきたものでもできるかもしれないけど)
形状が確定してるならモデリングソフトでやっておくべき事だと思うぞ
0197名前は開発中のものです。2015/08/24(月) 12:31:55.54ID:P534nfLV
>>194
コストよりリファクタリングによる修正が効かないという危険性が
気になったので聞いてみました
単純に計算メソッド読んだり引数送りつける程度なら使ってもいいですかね
0198名前は開発中のものです。2015/08/24(月) 12:34:57.33ID:D46f7Rcj
>>197
なら尚更つかっちゃダメじゃね?
0199名前は開発中のものです。2015/08/24(月) 14:26:30.22ID:ij8NM9BZ
GetComponentがいまいち分かりません。

http://hiyotama.hatenablog.com/entry/2015/04/24/210000
このサイトにあるソースコードなんですけど
「rb = GetComponent<Rigidbody2D>();」でコンポーネントを取得しているのは分かります。
でも、「Collision2D 」とか「Physics2D」とかは何故GetComponentせずに使えるのでしょうか?
Rigidbody2DもCollision2DもPhysics2Dもクラスなのに、この違いはなんなのですか?
0200名前は開発中のものです。2015/08/24(月) 14:39:36.54ID:xpkjZXNP
Unityエンジンの内部でよく使われるものが
キャッシュされてるんじゃないかと思われる
0201名前は開発中のものです。2015/08/24(月) 15:24:23.84ID:GuW/yGM5
>>199
それはUnityの話じゃなくてC#の話なのでそっち方面をちゃんと勉強した方がいい。
答えを言ってしまえばPhysics2D.Linecastとかは静的関数だから、なのだが
そういってすぐわかるなら最初からわかるはずだろうし
0202名前は開発中のものです。2015/08/24(月) 17:50:09.69ID:hxztok7J
unityでオリンピックのマークはどのように作れますか?
0203名前は開発中のものです。2015/08/24(月) 20:12:51.77ID:esNiSOsC
paint.netとかgimpみたいなフリーの画像編集ソフトじゃなくてUnityで作らなきゃだめ?
0204名前は開発中のものです。2015/08/24(月) 20:44:34.95ID:R21lQ6+7
>>177
言葉足らずで申し訳ありません……
複数の固定されたプレートAに現在スクリプトを付けており、そこから下にランダムなYの大きさのオブジェクトBを付け、さらにその下にまたランダムなYの大きさのオブジェクトCを付けたいと考えております……
なのですが、Aは全て同じ大きさなのでその下に綺麗にBが付くのですがBの大きさがランダムなせいでCがBと重なってしまうことやだいぶ離れてしまうことがあります……
>>178
よければサイトやキーワードを教えて頂けないでしょうか?
0205名前は開発中のものです。2015/08/24(月) 20:55:12.46ID:6t+cqKgW
>>187 です。
とりあえずunityでインポートした今現在の状況ですが、
blender形式をインポート rotation x -90となる(blenderがz upのため読み込み時回転?)
fbxでインポート rotation x -90 y -180 ができる(z upのblenderと同じように見せるため回転してる)
fbxでインポート(Apply Transform チェック) 2階層目までは正常 rotationも(0,0,0)
しかし、4以降のrotationがfbxで普通に出力してrotation(0,0,0)に移動させた方向に向く。
といった謎現象が起きています。

一応、Apply Transformにチェックを入れて全ての階層のrotationを0にすれば
blender上の状況と同じにはできるのですが、もう少し効率のいい受け渡し方法とかないものでしょうか?
0206名前は開発中のものです。2015/08/24(月) 21:07:57.78ID:6t+cqKgW
>>205
修正
4以降のrotationじゃなくて3以降のrotation
0207名前は開発中のものです。2015/08/24(月) 21:26:16.59ID:P534nfLV
public void Move()
{
StartCoroutine("PanelSelect"); ★
}
public IEnumerator PanelSelect()
{
while (true)
{
yield return 0;
}
}

実装前のスケルトンなんですが、★の行で実行時エラー出ます
何が原因でしょうか
エラーはNullReferenceExceptionですが、一度だけInner loopというエラーが出ました
今は何度やっても出なくなりNullReferenceExceptionだけになりました
0208名前は開発中のものです。2015/08/25(火) 14:07:40.81ID:Emq2p8oa
>>207

StartCoroutine(PanelSelect());
という風に、呼び出したいコルーチンの末尾に()をつけて試してみてくれ
0209名前は開発中のものです。2015/08/25(火) 14:45:16.94ID:X8Sea92A
は?
0210名前は開発中のものです。2015/08/25(火) 15:22:54.48ID:jeZOwyIc
知らない奴が試しもしないで「は?」とか書いてもなw
0211名前は開発中のものです。2015/08/25(火) 16:33:43.76ID:jGOJGpU+
Unityのエディター上で、現在選択されているGameObjectを取得する方法はありますでしょうか?
0212名前は開発中のものです。2015/08/25(火) 16:51:05.78ID:kQ1TlK/I
エスパーを募集したい時は書き込みをするよりも
PCに向かって思念を飛ばした方が効率がいいぞ

効率を重視していない、エスパーじゃなくてもいい場合は
他人が読んでも意図がちゃんと理解できる文章を書くように
心がけた方がいい
0213名前は開発中のものです。2015/08/25(火) 18:12:50.03ID:fVf0Vtva
unityで正方形を立方体へするように、インポートした2dデータを3dモデルにすることは可能ですか?2dデータをy軸方向へ引き伸ばしたいです。もし可能なら方法を教えて欲しいです。
02142112015/08/25(火) 18:27:45.71ID:jGOJGpU+
すみません。意図が分かりにくかったかもしれません。

Unityのエディター上で作ってるゲームを動かしてる間、SceneウィンドウやHierarchyウィンドウから、マウスのクリックでゲームオブジェクトを選択できますよね。
その、現在選択状態になっているGameObjectを、スクリプトから取得したいんです。

方法は御座いませんでしょうか?
0215名前は開発中のものです。2015/08/25(火) 18:28:49.42ID:csnc0BGW
>>213
Unity本体にはextude機能はない
アセットストアにそういう機能を売りにしてるProBuilderってのが売ってるが、これも2DObjectを立方体にするものじゃなく平面3Dオブジェクトに対しての操作を提供するものだ
0216名前は開発中のものです。2015/08/25(火) 18:29:51.04ID:csnc0BGW
>>214
http://docs.unity3d.com/jp/current/ScriptReference/Selection.html
0217名前は開発中のものです。2015/08/25(火) 20:14:56.15ID:EYE0vlnf
マウスホイールの回転量を数値に変換して変数に入れたいのですが
どう書いていいものやらサッパリなので教えて下さいませ
0218名前は開発中のものです。2015/08/25(火) 20:57:00.06ID:fVf0Vtva
>>215
外部ツールを使わないと出来ないんですね。
ありがとうございました。
0219名前は開発中のものです。2015/08/25(火) 21:42:07.12ID:95qKmhxP
>>217
Edit -> ProjectSettings -> Input で、
マウスホイールに関する項目があるかチェック
InputクラスのAxis関数(マウスホイール名)とかで入力を受け取る
0220名前は開発中のものです。2015/08/25(火) 23:41:37.05ID:hme6GXx2
質問です。

Unity 5.1.1f1 personal
OS:windows7

android用のミニゲームを制作しています。
画面をタッチして、そのタッチ時間によって処理を変えたいと思っています。

タッチ時間が0〜600ミリ秒だとAという処理を行い、タッチ時間が600ミリ秒以上はBという処理を行いたいです。

悩んでいるのはタッチの時間をどのようにとるか、という点です。

タッチ判定にInput.GetMouseButtonDownを使っています。
これでタッチ判定は取れているのですが、そもそも
Input.GetMouseButtonDownを使うこと自体間違っているのでしょうか?


function Update () {

if (Input.GetMouseButtonDown(0)) { …}

}
ご存知の方いらっしゃいましたらご教示いただけたらと思います。
0221名前は開発中のものです。2015/08/25(火) 23:59:08.73ID:csnc0BGW
>>220
間違ってない
なのでタッチ検出のトリガー判定とかが含まれるif文の中身が間違ってる事になる
float pressTime;
bool alreadyPressed;
void Update() {
if(alreadyPressed) {
if(Input.GetMouseButtonDown(0)) {
pressTIme+=Time.deltaTime;
} else {
alredyPressed = false;
if(pressTime > 0.6f) {
// 600ms over
} else {
// under 600ms
}
}
} else if(Input.GetMouseButtonDown(0)) {
pressTime = 0;
alreadyPressed = true;
}
}
ボタンが押される前にフラグで処理分けしないとだめなんじゃないかな
0222名前は開発中のものです。2015/08/26(水) 00:03:59.45ID:wThk3vAg
>>220
TimeクラスのtimeとかdeltaTime使って時間計れる
Inputクラス使って入力レベルで入力を拾うのもいいし、
イベントシステムあるいは旧GUIスクリプティング使って
イベントレベルで拾ってもいいし
Linq分かるならUniRx使ってもいいし
最初のが一番簡単で、たぶん目的の機能的にも
十分だからそこスタートでどうかな
0223名前は開発中のものです。2015/08/26(水) 00:20:12.18ID:kps/JZqv
>>222
UniRX使いすぎると重いのがなー
02242202015/08/26(水) 06:00:32.56ID:h7wSSm+W
>>221
>>222
>>223

ありがとうござます!
Timeクラスあたりが難易度低くて始めやすそうですね。

あ、でも>>221さんの

if(alreadyPressed) {
if(Input.GetMouseButtonDown(0)) {

↑こんな風Input.GetMouseButtonDown(0)をifで囲っちゃうっていう発想はありませんでした!^^;
皆さんのご意見を元にちょっとまずはいじってみます。

ありがとうございました!
0225名前は開発中のものです。2015/08/26(水) 15:21:56.68ID:/DvvusyI
プログラムの基礎をもうちょいやった方が良さそうに思える
ゲームとか関係なく、「やりたいこと」を解析・分解してプログラムコードに起こす
というプログラムの考え方のお勉強ね
人のソースを読んで理解しようとするだけでも勉強になるのでオススメ
0226名前は開発中のものです。2015/08/26(水) 18:58:02.83ID:0u+AEqEr
簡単に動かせてしまうのが良くもあり悪くもあるんだろうな
中身を理解してなくても適当にコピーしてきて貼り付ければ動くからなあ
よほどの天才以外は基本からやらないと結局は非効率なんだけどね
0227名前は開発中のものです。2015/08/26(水) 19:01:54.68ID:kps/JZqv
>>226
そのためのUnityScript(JScriptの亜種)なんだぜよ
このスレだとC#お勧めになっちゃうのは全機能を十全に使えるってのとプログラムの素養を伸ばせって事なんだろうけど
UnityScriptでできる程度(悪い意味ではない)ならUnityScriptでぬるい型変換とかの恩恵受けても良いとおもうのだよね。

自分もC#推奨だけど、プログラム初心者は悩みの一部を後回しにできるUnityScriptでも良いんじゃ無いかと思う事あるよ。
0228名前は開発中のものです。2015/08/26(水) 21:42:02.53ID:1jeWCheU
公式のチュートリアル見て勉強しているんですが、ナビゲーションで
移動中の物体を地面と平行にする方法はないでしょうか?
たとえばキューブが坂を上って目的地にいく場合、底の面と
坂の面を平行にしたいのですが。
0229名前は開発中のものです。2015/08/27(木) 00:53:45.77ID:CCr71Z+4
>>228
ちょっと面倒くさいから、今は気にしなくて良いと思う↓

移動物からのRaycastで、RaycastHitから床の法線にアクセス可
VectorクラスのDot関数:内積を使って、ワールド空間での上ベクトル
(上を向いたメッシュの法線のダミー)との回転量差を、
cosθの形でアクセス可。cosθの値を基に回転量を割り出し、
VectorクラスのCross関数:外積を軸にQuaternion.AngleAxisとかで回す

IK足付きモデルの場合は、UnityのSetIK関数あたりを使う事で、
自然な感じに補正してくれる(リアルタイムだとそこまでリアルではない)
0230名前は開発中のものです。2015/08/27(木) 01:26:51.96ID:vTbaSUhr
>>229
レイキャストはてっきり敵との間に障害物がある事を把握するためだけにあるのかと思ってました;
公式のスクリプトリファレンスを見てみると結構いろんな情報を感知しているんですね。
教えていただいた関数を元にプログラムを組んだところ、思い通りのことができました。

アニメーションや3D製作にはまだ手をつけられていないものですので、
SetIKについては後日調べてみます。ありがとうございました。
0231名前は開発中のものです。2015/08/27(木) 03:17:53.74ID:21euQKa2
カスタムシェーダーをコンパイルしたところ、
Failed to create DX11 vertex declaration; something wrong with vertex shader input data? (hr=80070057)
が出ます。公式のサンプルにあるいちばんシンプルなものをコピペしても出ます。
これはどうしてですか?放っておいても大丈夫でしょうか?
02322312015/08/27(木) 03:21:13.45ID:21euQKa2
unityを再起動したら消えた・・・?
0233名前は開発中のものです。2015/08/27(木) 03:55:55.45ID:jNnkF2TT
なん・・・だと・・・?
02342112015/08/27(木) 09:07:56.99ID:UY80Yk5U
>>216
返信遅れて申し訳ないです!助かりました!
0235名前は開発中のものです。2015/08/27(木) 12:05:09.48ID:nL6i2w81
UI>Imageで描画している画像のフェードイン/フェードアウト(アルファ値を変更)
したい場合は、どうしたら良いですか?
ググったらPrivate Image image;と宣言していたのですが、
試してみるとImageがエラーになります。。。

ちなみにC#です
0236名前は開発中のものです。2015/08/27(木) 12:18:27.01ID:xaSkqkSC
SerializeField属性を指定してInspectorからフェードさせるImageを指定するのを忘れてるんじゃね?
なんにせよエラーがでてるんならエラー内容を貼らないとエスパーすることしかできんよ
0237名前は開発中のものです。2015/08/27(木) 12:44:11.75ID:GH3zqhnX
Image.color.a を変えるだけなんだが
まずはC#の基礎からお勉強をしてください
02382352015/08/27(木) 13:09:55.11ID:nL6i2w81
エラーというか、「private Image image;」で宣言すると
Imageが赤くなって「型または名前空間'Image'が見つかりませんでした」と出ます。
なので当然、Image.image.colorは通りません。
CanvasとかSpriteとか色々変えても、それらにcolorの定義がないのでアルファ値を変更できません。

https://www.youtube.com/watch?v=MkoIZTFUego
を参考に、Canvas内のフェードさせたいImageにCanvasGroupを充てて自己解決しました。
(複数の素材をフェードさせたいとなるとまた困りそうですが、当分はその予定は無いので大丈夫かと……)
0239名前は開発中のものです。2015/08/27(木) 13:30:44.98ID:mGD/zxCF
は?
0240名前は開発中のものです。2015/08/27(木) 14:08:28.46ID:xaSkqkSC
>>238
単純にusing UnityEngine.UI;を書き忘れてるんじゃないかな
02412352015/08/27(木) 15:16:10.32ID:nL6i2w81
>>240
半年ROMります
0242名前は開発中のものです。2015/08/27(木) 16:20:43.79ID:36ci1EkJ
unity5で2Dの背景スクロールをしたくて公式チュートリアルを参考に
スクリプトBG_Scroll
public class BG_Scroll : MonoBehaviour {
// スクロールするスピード
public float speed = 0.1f;
//Rendererキャッシュ
Renderer renderer1;

void start()
{
//背景スクロール用にキャッシュ
renderer1 = GetComponent<Renderer>();
}

void Update()
{
// 時間によってXの値が0から1に変化していく。1になったら0に戻り、繰り返す。
float x = Mathf.Repeat(Time.time * speed, 1);

// Xの値がずれていくオフセットを作成
Vector2 offset = new Vector2(x, 0);

// マテリアルにオフセットを設定する
renderer1.sharedMaterial.SetTextureOffset("_MainTex", offset);
}
}
02432422015/08/27(木) 16:21:56.97ID:36ci1EkJ
を書いたんですが実行すると
NullReferenceException: Object reference not set to an instance of an object
とエラーが出てしまい、renderer1をpublicにしてインスペクタから指定したら普通に
スクロール出来てしまいました。
スクリプトをアタッチしているオブジェクトのRendererを取得するのは
renderer1 = GetComponent<Renderer>();
ではダメなんでしょうか
分かる方いたら宜しくお願いします
0244名前は開発中のものです。2015/08/27(木) 17:10:13.50ID:L2kThXu6
>>243
Startが小文字で実行されて無いとかじゃないよね?
0245名前は開発中のものです。2015/08/27(木) 17:17:35.11ID:RevooqGH
ワロタw
しかしすぐ気づくとは鋭いな
0246名前は開発中のものです。2015/08/27(木) 17:38:17.36ID:/1UUGlZt
まあこのエラーはrenderer1がnullだから出るので
デバッガで止めるなり、Log出力でrenderer1の値を出力してみるのが一歩目
もし通過してないならログが出ないことで気がつくしね
02472422015/08/27(木) 17:49:43.96ID:36ci1EkJ
>>244
その通りでした!
直したらスクロール出来ました
>>244,245.246
ありがとうございました
0248名前は開発中のものです。2015/08/27(木) 17:50:43.01ID:RevooqGH
いやいやバグなんて判ってしまえばどれもそうなんだけどそれまでが結構大変
特に今回みたいに普通は間違いようのないとこだと先入観で余計に判り難い
0249名前は開発中のものです。2015/08/27(木) 17:53:44.39ID:MV1h+9W7
startとかリフレクションで呼ばれているの?
0250名前は開発中のものです。2015/08/27(木) 19:15:28.82ID:oKPDqJ/O
コンポーネントをオブジェクトにアタッチした時に送信されるEditorScriptのメッセージってないでしょうか?
下記のようなSerializableクラスHogeを配列として、配列要素ごとにaの値を変えてコンポーネントの初期値としてあげたい感じです。

[System.Serializable]
public class Hoge {
public int a;
}

public class MyComponent : MonoBehaviour {
public Hoge[] hoges;
}
0251名前は開発中のものです。2015/08/28(金) 14:37:28.35ID:oDrIDwoA
質問です
今itweenについて勉強してるんですけどこれって一つの命令を指令して
そのあと別の命令を繋げるってのはどうやるんですかね?
具体的に言えばまずVector3(10.0f,0,0)の位置に移動したあと続けて
scaleを2倍にするみたいな事がやりたいんですけど
0252名前は開発中のものです。2015/08/28(金) 15:01:15.82ID:8GdCdiKg
マニュアルを読みましょう
0253名前は開発中のものです。2015/08/28(金) 15:21:37.49ID:oDrIDwoA
>>252
http://itween.pixelplacement.com/documentation.php
マニュアル読んだんですけどねぇ
それらしいものは見つからないんですよ
ネットで検索したらなかなか見つからなくてこのように
http://laboyukai.blogspot.jp/2014/08/unityitween.html
自分で実装してる人もいててこの機能はひょっとしたらitweenには
ないのかなぁと思い始めてます
0254名前は開発中のものです。2015/08/28(金) 15:29:55.80ID:4+/9+FNK
Sequenceみたいなtweenは無いから自分で作るしかないと思うよ
あとはDelayで開始時刻を遅らせる
0255名前は開発中のものです。2015/08/28(金) 15:33:55.78ID:oDrIDwoA
>>254
やっぱりないんですか
わかりましたー
さっきのリンクを参考にして自分で組み込みたいと思います
0256名前は開発中のものです。2015/08/29(土) 10:18:33.74ID:nMx8rPVK
http://forum.unity3d.com/threads/unity-on-linux-release-notes-and-known-issues.350256/
Unity 5 のLinux 版が公開されたのですが、日本語化の方法をご存知の方が
いらっしゃいましたら教えていただけませんでしょうか。
OS はUbuntu 15.04 x86_64 です。
インストール先に/opt/Unity/Editor/locales/ja.pak は存在していますが、
/opt/Unity/Editor/Data/Resources/ や ~/.local/share/unity3d/prefs 等に
言語の指定方法を見つけられませんでした。環境変数で引き継ぐ形ですかね。
0257名前は開発中のものです。2015/08/29(土) 10:58:23.42ID:5OpfzH9o
nendを使ってる方に質問なんですがインタースティシャルの実装が上手くいきません。マニュアルにある実装のコードはプラグイン内にあるスクリプトに追加で記述すべきなのでしょうか?
バナーが設定されてるシーンでインタースティシャルも表示しようとしているのですが、それが原因でしょうか?
0258名前は開発中のものです。2015/08/29(土) 11:01:33.73ID:QLOVPSpR
そもそもだけどオフィシャルに日本語化されてるUnityてないのでは?
テキストリソースを勝手に翻訳すれば?ていうスタンスみたいだけど
0259名前は開発中のものです。2015/08/29(土) 12:47:26.32ID:NHjoQ5sI
iTeeenを使ってカメラを滑らかに動かしてみたんだがビルドするとiTeenの所だけ全く動かなくなってしまった…
通常は何も考えずにビルドしても動くんだよな?
0260名前は開発中のものです。2015/08/29(土) 15:41:21.63ID:qnm/FjLD
数日前から触り始めた初心者です。
属性 [ExecuteInEditMode] を持つクラスについて質問させてください。
なお、バージョンは 5.1.3f1 Personal です。


あるプレハブ Pref と、そのインスタンス Inst1、Inst2、Inst3… があるとします。
この Pref に対し、ExecuteInEditMode 属性を持つクラスが書かれたC#スクリプトを設定しました。

Update() は、シーン内の何かに変更があった時に呼ばれます。
例えば Inst1 の座標を変更したときにも、Inst2 や Inst3 の Update() が走ることになります。
しかし処理内容とゲームオブジェクトの数、そしてマシンスペックによっては、操作のたびにラグが発生してしまいました。

そのため、Inst1 を変更した時には Inst1 のスクリプトだけ、Inst2 のときは Inst2 だけ……というようなことをやりたいのですが
どのように書くのがスマートあるいは初心者向けでしょうか。

今は姑息な方法ではありますが、それぞれの変更前の座標を保存しておき、現在(変更後)と比較するという方法で、
そのオブジェクト自身が変更されたかどうかを判定するようにしています。
ただ座標以外の変更も検知しようとすると、この方法が望ましいのかどうかは分かりません。
0261名前は開発中のものです。2015/08/29(土) 16:20:15.58ID:QLOVPSpR
>>215でエディタ上で選択されたGameObjectを取得てのを利用して
自分が選択されていなければreturnで抜けるようにすればいいのでは
0262名前は開発中のものです。2015/08/29(土) 16:20:39.62ID:QrXsxS67
>>260
EditorScript書いてそっちのUpdateの中でSelectionに件のPrefabインスタンスが居たらそこから処理じゃだめなのけ?
0263名前は開発中のものです。2015/08/29(土) 16:44:48.59ID:qnm/FjLD
ありがとうございます。
ExecuteInEditModeではなくエディタ拡張でやるのが良さげですね。
なにせUnityを始めたばかりなもので、調べるのをつい後回しにしていました。
0264名前は開発中のものです。2015/08/29(土) 18:23:13.59ID:qFv/moV6
ちょっと製作しているもので困ったので助言をいただければと思います。
モンスターがキャラクターに噛み付く(3Dのマリオにパックンフラワーが食いつくような)
場合、動作はアニメーションを再生だと思うのですが、キャラクターとモンスターの
距離によって首の曲げる位置などが変わりますよね?
そのような場合、どう対処すればいいか困っております。
0265名前は開発中のものです。2015/08/29(土) 18:37:28.54ID:iQbhwP0K
>>264
方法はいくつかあって

1.LateUpdate()で全部自分で計算する。
2.遠近、高低、左右、などの食いつきアニメーションを作っておいてMecanimでキャラとの距離などに応じて合成の割合を変える
3.食いつきの頭の位置とキャラの位置が一定以上近くなったらキャラの位置・やられモーションのタイミングををそっちに合わせてしまう

とか。
1が一番精密だが恐ろしく困難だろう
2は方向などについてはUpdate()で合わせて前後だけとかならかなり現実的だし3と組み合わせることも出来る
3はたとえば捕まえられたりするように大きな動きが後に続くようなら案外わからない
まぁ大体そんなところだろう
0266名前は開発中のものです。2015/08/29(土) 19:07:01.18ID:qFv/moV6
>>265
1は現実的に無理として、2はアニメーションをブレンドするって事ですよね?
距離や角度に応じて割合を変えるのはかなり手こずりそうですが頑張ってみます。
アドバイスを頂いたおかげでやりたい事ができそうです。ありがとうございました。
0267名前は開発中のものです。2015/08/29(土) 19:26:29.32ID:L1eFfadF
その程度はUNITYの基礎だからそう難しく考えるな
ブレンドツリー でググれば何だ簡単じゃねえかと思える
0268名前は開発中のものです。2015/08/30(日) 03:00:00.22ID:J7TmCorx
質問させて下さい。
2Dでレミングスのようなゲームを作りたいのですが、
壁を掘る、という挙動を作る場合
おそらく1枚のスプライトを判定に変換しながら
スプライトを削って処理しているように見えるのですが
Unityでそのようにしたい場合、どうしたらスマートでしょうか?
0269名前は開発中のものです。2015/08/30(日) 11:01:34.46ID:vV/Ee8me
2D Roguelike tutorialを理解できるまで何度もやってその後まだ解らなかったらまた質問してくれ
0270名前は開発中のものです。2015/08/30(日) 11:09:10.04ID:/ZdXTo9y
>>268
昔のゲーム(特にレミングス)は低レベル設計だから難しそうだな〜
昨日から考えてたけど、エッジColliderやポリゴンColliderで、
キャラ近くの頂点をRandom.insideUnitSphereで探して制御するとか、
それに沿ったDepthマスクとか考えてみたけど、難しかった

こういうのを簡単にできる、スクリプト制御可能なSprite Deformとか
有料Assetであるかもしれないけど、昔の表現を有料で実現するのは
なんか微妙な気がするし、色んな有料Assetの詳細も知らないから省略

マップタイル分のGameObject数による制御は容量食うけど、
考えてみた限りでは一番現実的な気がする
Unity5では無料で錐台カリングやOcclusionCullingができるし
0271名前は開発中のものです。2015/08/30(日) 11:15:57.74ID:/ZdXTo9y
Random.insideUnitSphereとか使わずに、
頂点ごとで距離測った方が現実的だった、ごめん
0272名前は開発中のものです。2015/08/30(日) 12:49:14.92ID:6zt6/8Mp
>なにせUnityを始めたばかりなもので、調べるのをつい後回しにしていました。
怠慢を言い訳するゴミはもう質問スレにこないでください
0273名前は開発中のものです。2015/08/30(日) 12:53:19.67ID:YuJ2cgh2
コライダーの内側しか歩けないようにするとか
0274名前は開発中のものです。2015/08/30(日) 14:01:03.18ID:pLH2PrmZ
コライダーを使う前提をまず見直してみようかね?
■ このスレッドは過去ログ倉庫に格納されています