0 支持
55 閲覧

new physic materialを球に付けています。

InputFieldから取得したfloatの値をpm.dynamicFrictionに代入してゲーム中に変更したいです。

現状以下のスクリプトで変更することができないため改善点等をご教授願いたいです。

---------------------------------------------------

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;

public class PM : MonoBehaviour

{

    public GameObject gameobject1; //InputFieldSpherePMにアクセスする

    public PhysicMaterial pm;

    // Start is called before the first frame update

    void Start ()

    { 

        

    }

    public void friction()

    {

        float Friction = gameobject1.GetComponent<InputManagerPM>().inputfriction;

        pm.dynamicFriction = Friction;

        pm.staticFriction = Friction;

        Debug.Log(pm.dynamicFriction);

    }

   

}

---------------------------------------------------

public void friction()の呼び出しのタイミングはInputFieldのOn end Editです。

エラーも出ないため、どこに問題点があるかわかりません。

不審な点として、ゲームの開始時にpublic void friction()が

呼び出しされていて、Debug.Log(pm.dynamicFriction);で0がlogに吐き出されています。

閉鎖
初心者 (400 ポイント)
閉鎖 | 55 閲覧

回答 1

+1 支持
ベストアンサー

質問文に書いてあるコードの範疇では間違いらしい間違いは無いように感じます。

inputfieldに入力したタイミングでfrictionが呼び出され、

Friction には意図した値が正しく代入されているのでしょうか?

InputManagerPMの方のソースコードも気になりますね。

達人回答者 (6.2k ポイント)
選択
0
自己解決しました。
ただ、一からスクリプトを付け直したり、オブジェクトを作り直したりしただけなので、何が原因だったのかがわからずじまい…。
わかりにくい質問だったのにも関わらず、丁寧に教えて頂きありがとうございました。

関連する質問

0 支持
1 回答
0 支持
1 回答
0 支持
0 回答
ポテトおもち 初心者 (120 ポイント) 1/12 質問 | 27 閲覧
0 支持
1 回答
勉強中 初心者 (210 ポイント) 2020 11/8 質問 | 92 閲覧
2021-02-08 質問・回答をMarkdownで入力できるようにしました。
2020-09-03 新たなスパム対策を導入しました。

114 質問

121 回答

137 コメント

146 ユーザー