[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart3 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
952: 2021/04/18(日)10:45 ID:GiIu4ebg(1) AAS
>>951
どっちも試してベターを選ぶ
どっちも使えないなら違う方法を見つける

俺は後者で煙を工夫するかな
953
(1): 2021/04/18(日)11:40 ID:jTlScjOq(2/2) AAS
キャラクターにはキャラクター以外の情報を持たせないってのがプログラム開発の基本よ
他も同じでエリアごとに対応するスクリプトを書いてそのスクリプトが土煙やらそのエリアのスクリプトに出させる

もっともUnity自体はコンポーネント思考なので迷ったら立ち戻るぐらいで良いんだけど
954: 2021/04/18(日)11:56 ID:+fKSQ7Qq(1/2) AAS
>>951
どっちでもよくない?
955: 2021/04/18(日)12:02 ID:+fKSQ7Qq(2/2) AAS
>>953
自分もその環境がプレイヤーに必要な情報を与える、って方が好きだわ
956: 2021/04/18(日)13:46 ID:dz6KR4Bp(1) AAS
>>951
自分の場合はエフェクトを管理する仕組みを用意して
キャラクタ側は地面の種類を特定して地面の種類に合わせたエフェクトを管理側にリクエストする
管理側の基本機能としては
・エフェクトが必要になった時に読み込んで再生、再生し終わったら無効化しておく(キャッシュ)
・無効化してあるエフェクトが必要になった場合は有効化して再生、再生中のエフェクトが更に必要になったら複製して再生
・よく使うエフェクトは事前に読み込んでキャッシュしておく
・キャッシュは増え過ぎたら掃除する

小規模なゲームならキャッシュとかせず単純にInstantiateするだけでも全然問題ないけど
キャラクタ側にエフェクトを入れておくような方法はサンプルレベルだと見かけるけど実戦的なゲーム開発では普通しないと思う
957: 2021/04/18(日)14:51 ID:uLWRuigT(1) AAS
結論 動けばおk
958
(1): 2021/04/18(日)22:29 ID:TKrZuBq/(1) AAS
「VRoid」というアプリを使い、オリジナルの3Dキャラクターを作り、
アセットストアからstandard assetsをインポートし、
そのstandard assetsの中からThirdPersonAnimatorControllerだけを抜き取り、
オリジナルの3Dキャラクターを動かそうと(走ったり、ジャンプさせたりする)
考えているのですが・・・
これはstandard assetsのライセンス違反になるのでしょうか。
959: 2021/04/19(月)00:59 ID:MpkFRDqN(1) AAS
>>958
なりまへん
960
(1): 2021/04/19(月)03:19 ID:9UmQ5f3w(1/3) AAS
配列の任意の文章をログに表示するのと画面にただ表示するのまでは分かったんですが
配列の一部をセリフとして呼び出すにはどう書けばいいでしょうか
今だとクリックした際にテキストデータをただ上から読むだけなので任意の文章をテキストから抜き出してセリフとして読み込むようにしたいです
961: 2021/04/19(月)03:21 ID:9UmQ5f3w(2/3) AAS
public class NewBehaviourScript : MonoBehaviour
{
[SerializeField]
private Text dataText;

[SerializeField]
private TextAsset textAsset;

private string loadText2;
private string[] splitText2;

private int textNum2;//

// Start is called before the first frame update
void Start()
{

loadText2 = (Resources.Load("Test", typeof(TextAsset)) as TextAsset).text;
splitText2 = loadText2.Split(new string[] { "@br", "キ" }, System.StringSplitOptions.None);

textNum2 = 0;
dataText.text = "";

Debug.Log("現在の文章は" + splitText2[1] + "です");
}
962: 2021/04/19(月)03:21 ID:9UmQ5f3w(3/3) AAS
// Update is called once per frame
void Update()
{
dataText.text = string.Format(splitText2[1]);

if (Input.GetButtonDown("Fire1"))
{ }
else if (Input.GetButtonDown("Fire3"))
{
if (splitText2[textNum2] != "")
{
dataText.text = splitText2[textNum2];
textNum2++;
if (textNum2 >= splitText2.Length)
{
textNum2 = 0;
Debug.Log(" o");
}
Debug.Log(" f");
}
else
{
dataText.text = "";
textNum2++;
Debug.Log("g");
}
Debug.Log(" y");

}
}
}
963
(1): 2021/04/19(月)13:06 ID:0g8RDZsf(1) AAS
セリフ以外の行の文頭に何か識別子になる記号か文字を入れるといいよ
例えば

//この行はセリフではありません

と書いて、
if(splitText2[textNum2].StartsWith("//"))という感じで場合分けする
964: 2021/04/19(月)19:00 ID:4Rq0XDd2(1) AAS
ソースコードと質問の内容これ関係ある?
965
(1): 2021/04/20(火)04:10 ID:WTsuCl3Q(1) AAS
>>963
なるほど…
色々試してみたんですがstarstwithでうまくセリフの取得が出来ませんでした
falseという結果は返ってくるのでstartswithの記述は問題なくテキストデータが取得出来てないということだと思うのですが
startswithで文字列splittext2や整数textNum2を取得?するのってどんな感じで書くといいんでしょうか
966: 2021/04/20(火)08:59 ID:65dsA0at(1) AAS
やる気が感じられない。
むしろ、全文アップして、さぁやってくれ、としか。
使い方ならまずググってはどうか?
そしてこの箇所でエラーが出てる、こういうエラーです。やりたいことはこうです(より具体的に)と聞く。

そりゃ結果引き出すのに全文アップ、こうしたい(漠然)は、一見早道に見えるがそれは丸投げで仕事と変わらないよ。
967
(1): 2021/04/20(火)14:20 ID:7astfA6t(1/2) AAS
>>965
StartsWithがどういうものかは調べた?
テキストデータは配列に入っていて、StartsWithはそれが条件に合うかを調べているだけだよ
もう一度言うけどテキストデータは配列に入ってる
splitText2[textNum2]がテキストデータそのものなんだよ
テキストデータが取得したいならsplitText2[textNum2]と何回でも書けばいい
考え方を変えないといけないよ
「セリフじゃないものは取得しない」じゃなくて、「取得した上でそれがセリフかどうか調べて、セリフのときどうする、セリフじゃないときどうする」という処理を書くんだよ
968: 2021/04/20(火)14:27 ID:7astfA6t(2/2) AAS
あと、
「セリフじゃないとき次の行にスキップする」という処理はまだ難しいだろうから
まずは「セリフじゃないときはゲーム画面じゃなくコンソールに表示する」という処理を書いてみるといい
969
(1): 2021/04/20(火)15:41 ID:cs1XPVu9(1) AAS
やりたいことがよくわからんのだが
ファイルの中身を配列に格納しないで
ファイルから「n行目」を直接取り出したい、
ってこと?
970: 2021/04/20(火)16:55 ID:0el4pdKx(1) AAS
テラシュールの丸パクリでコードの意味分かんないって言ってるパティーン?
@brってなんだよ?
971
(1): 2021/04/20(火)21:34 ID:Nemf1p3+(1) AAS
上のテキストの人、
やりたいことをまず日本語で書きたまへよ
972
(1): 2021/04/20(火)21:35 ID:6iF3Vp9B(1) AAS
よくわからんけどテキストファイルからセリフを引っ張る仕様は良くないと思う
ScritableObjectにセリフ入れて抜き出した方が簡単だしセキュリティも強い

using UnityEngine;
[CreateAssetMenu(fileName = "Data", menuName = "Test/SerifList", order = 1)]
public class SerifList : ScriptableObject
{
public string[] Serifs = new string[]{"色々1","色々2"} ;
}

using UnityEngine;
public class SerifReader : MonoBehaviour {
public SerifList SP;
void Start () { Debug.Log (SP.Serifs[0] + " " + SP.Serifs[1]); }
}
973
(2): 2021/04/21(水)03:01 ID:jAeLgXYq(1) AAS
>>967
Debug.Log( splitText2[textNum2].StartsWith("/a") )で色々()に入れてやったんですがコンソールにはfalseしか表示されないんですよね
テキスト読み込んだ結果だとしたらどうしてfalseしか出ないのか謎で
>>969>>971
ゲームで使う文章を一つのファイルにまとめて管理したいってのが目的です
>>972
試してみます
974: 2021/04/21(水)03:56 ID:dKfffT7I(1) AAS
Unityでアプリを作っています。
「Assets\Plugins\Android」フォルダ内にAndroidManifestファイルがありません。
このファイルは何処にありますか?
使っている環境は下記の通りです。

OS : Windows10
Unity 2020.3.0f1 Personal

ご存知の方いらっしゃいましたら、教えて頂けると助かります。
宜しくお願い致します。
975
(1): 2021/04/21(水)09:33 ID:8ON1ccpz(1) AAS
>>973
StartsWith("a/")は"a/"で始まっているかどうかを調べているだけだよ
だから、始まっているかいないか(trueかfalse)のどちらかが入っているのが正しいんだよ
ちゃんとStartsWithをググってみたかい?
そこに書かれてるサンプルコードは見た?

if( splitText2[textNum2].StartsWith("/a") ){
dataText.text="";
Debug.Log(splitText2[textNum2]);
}else{
dataText.text=splitText2[textNum2];
}

これでセリフじゃないときは何も表示しないようになる
セリフじゃないものを飛ばして次の行に行く処理はスマホで書くには面倒すぎるので、あとはもうteratailとかで質問する方がいい
この程度なら誰か答えてくれる
976
(1): 2021/04/21(水)10:38 ID:gJNuXb5E(1/2) AAS
>>973
あー、まとめて管理したい、の先でもうちょっと細かく具体的にどういう挙動をさせたいのかと。

>>960で言ってるような事をさせたいとしたらどういう動作をプログラムしたらその挙動が実現できるのか、日本語でまず思いつけないとプログラムにも出来んよ

あとStartWith使えと言われた時に、戻り値が何かとかはIDEでもマニュアルでも簡単に見れるだろうからboolが返ってくるなら文字列は取れんよなとかはすぐ推測してえ、じゃあ何のためにこれ使えって言ったの?とかを考えるとかはしたい所
977
(1): 2021/04/21(水)11:29 ID:fnNquQuQ(1) AAS
>>975
>>976
あーテキスト全体を確認してるわけじゃないということですね
配列の1行目しか確認してないからfalseしか出ないと言うことか
おかげで理解が深まりました
出てきた言葉とか改めて調べながら再確認したいと思います
回答ありがとうございました
978
(1): 2021/04/21(水)13:18 ID:3LoLXylU(1) AAS
コルーチンか有効なのは
アプリを起動してから閉じるまでの間に限られますよね。
アプリを閉じても日時指定や期間指定で
オブジェクトを表示非表示したりするには
どうしたらいいのでしょうか
よろしくお願いします。
979: 2021/04/21(水)15:28 ID:gJNuXb5E(2/2) AAS
>>977
一行目、二行目、多分回答してくれてる人の意図伝わってないと思うw
まあまだ色々と理解してない風だから色々見直してまたわからなくなったらくるがよろし
980: 2021/04/21(水)15:45 ID:BJqkeBeO(1) AAS
アスペというか頭が固いというか何で確認しないで予想や妄想で済ませるのかね
目を閉じてバット振り回したってミート出来る訳ねえだろ
見えてねえんだからよ
981: 2021/04/21(水)16:21 ID:Xj1voFZw(1) AAS
チュートリアルを重ねているうちは「うるせー俺はゲームを作りたいんじゃい何度もデバッグログ書かせんな」ってうんざりしてたけど、今やデバッグログが癒しになってるわ。
なんか作業進んでなくてもやった感出せるんだよな。
1-
あと 21 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.028s