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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
943
(1): 2021/04/17(土)19:50 ID:0QHvSERm(1) AAS
>>942
ここで調べられるよ
外部リンク:assetsale.herokuapp.com
944: 2021/04/17(土)20:59 ID:PK+Na9lJ(2/2) AAS
>>943
ありがとう!
945: 2021/04/17(土)23:31 ID:dPT98X5A(1) AAS
>>942
去年の独身の日セールだったかで70%オフだったから買ったなあ
946: 2021/04/17(土)23:50 ID:TzHBjfuM(1) AAS
むかし EasySave 買ったけど、いろいろめんどくさくて結局自前で保存するようになったな
947: 2021/04/18(日)00:06 ID:P1p9XRgE(1) AAS
とりあえずGetComponentInChildrenだな
948: 2021/04/18(日)02:53 ID:Emm9KT6i(1) AAS
EasySaveに限らずセーブデータ作成系のアセットって実装を公開してるわけだし、暗号化していてもデータ解析されやすいような気がするんだけど実際のとこどうなの?
特にEasySaveみたいな広く使われてるのヤツはクラッカーからしたらむしろ狙い目じゃないのかと思ったり
949: 2021/04/18(日)07:21 ID:41wmXrv6(1) AAS
セーブ解析されたらなんなんだ?
そういう事する奴はそれ自体を楽しんでる所もあるし顧客にもなる見込みも薄い圧倒的少数派なんだから放置でよくね?
950: 2021/04/18(日)08:14 ID:jTlScjOq(1/2) AAS
暗号化や逆コンパイルについてちゃんと勉強してたらそんな疑問出ないぞ
951
(3): 2021/04/18(日)10:15 ID:scwBg5Sq(1) AAS
3Dでアクションゲーム作ってます。エフェクトの実装方法で質問です。
キャラが歩いた時、砂漠上なら砂煙、雪原なら白い煙みたいなもの、海の浅瀬なら水面に波紋を表示させたいのですが
これらは各キャラにあらかじめパーティクルを仕込んでおいて該当するエリアに来たらactiveにするのと、そのエリアに来たらキャラのobjectにパーティクルをinstantiateする方法の二つの実装方法は思い浮かんだのですが、どちらも無駄がありそうで、どう実装しようか悩んでます。
皆さんはどのような実装されてますか?
キャラは10〜20人位同時に表示される予定です。
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]); }
}
1-
あと 30 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.014s