[過去ログ] 【ゲームエンジン】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
省8
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] != "")
{
省19
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
上のテキストの人、
やりたいことをまず日本語で書きたまへよ
1-
あと 31 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s