Photon×WebGL（4）Cubeをサラリーマンに

やりたいこと
・Cubeをサラリーマンに置き換え（★）
--


![021.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232643/3f199c8a-4d0a-0ecf-ee59-244e1a4550ae.jpeg)

--

<dl>
<dt>2020にバージョンアップして毎回発生するやつ</dt>
<dd>・ネットワークオブジェクトが生成されない</dd>
<dd>・DefaultPool failed to load、、、ってエラー</dd>
<dd>=>ネットワークオブジェクト右クリック→Reimportで回避</dd>
</dl>


![001.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232643/6f667ef5-d93d-4041-67c9-ddb1d1daebdb.jpeg)


--

<dl>
<dt>まずアセットの購入</dt>
<dd>今回買ったアセットこちら</dd>
</dl>

![スクリーンショット 2020-12-09 204051.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232643/2d34f4f8-01f3-f165-f2d8-1c0650b3015c.jpeg)


<dl>
<dt>アセットの使い方</dt>
<dd>・サンプルシーンと動画で確認</dd>
<dd>　・理解出来た事</dd>
<dd>　　・LowPolyBusinessPeople_DemoSceneしーんオープン</dd>
</dl>

=>Scene状態※メッシュが確かに重なっているのが確認できた。
![01.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232643/2fb24f6b-b668-809d-dbc7-784998166c7c.jpeg)
=>Game状態(1)
![02.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232643/f8391420-314a-5d71-0352-cea52b280a13.jpeg)
=>Game状態(2)毎回再生すると確かにランダムに変わる
![03.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232643/010935e0-a933-b06a-1c6e-3d294fc27cdf.jpeg)

<dl>
<dt>　　・動画で確認した手順</dt>
<dd>　　　・プレファブ複製</dd>
<dd>　　　・アンパックプレファブする</dd>
<dd>　　　・スクリプト削除</dd>
<dd>　　　・プレファブだったオブジェクトの下記2つの不要パーツを削除</dd>
<dd>　　　　・Male_BrnSkin_BaldGoatee_A※顔と手</dd>
<dd>　　　　・Suit_RedBlue_ShirtTie※スーツ</dd>
<dd>　・分からなかったこと</dd>
<dd>　　・HumanがHDRP対応っぽい。低ポリゴンをHDRPで見る意味があるのか？見たらどうなるのかすごく気になった</dd>
<dd>　　=>バージョン合わせてHDRPシーン読んでみたけどHumanは見れなかった。残念。。HDRPシーンなんか読めない</dd>
</dl>


![04.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232643/6bc9b5fe-ebdd-7ecb-567a-7638d9190bee.jpeg)


--

<dl>
<dt>アニメーション設定</dt>
<dd>このあたり、、めんどくさい</dd>
<dd>・Animator Controllerでキャラの動作設定する</dd>
<dd>・Stateで状態をつくる</dd>
<dd>・Make Transitionでやりたい状態につなぐ</dd>
<dd>・Parametersで遷移条件設定</dd>
<dd>・構文でanimatorの処理を書く</dd>
</dl>

=>これを（LPBP_Animations）
![005.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232643/cc37d7b0-8494-e718-2037-2a7d9b8d9038.jpeg)

=>こうしただけ
![006.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232643/44efd4f2-f114-4ae8-d72a-c90de54139ac.jpeg)

--

<dl>
<dt>プレファブ化</dt>

<dd>・Cubeと入れ替え</dd>
<dd>　・物理的なやつ</dd>
<dd>　　・サラリーマン</dd>
<dd>　　　・今LowPolyBusinessPeople_DemoSceneにまだいるので、、、</dd>
<dd>　　　　・対象のサラリーマンをResourcesフォルダにひきづって手放す（プレファブ化）</dd>
<dd>　　　　・フォトン設定シーンに戻る</dd>
<dd>　　・キューブ捨てる</dd>
<dd>　　・サラリーマンプレファブの名前をGamePlayerに変更（キューブの名前）</dd>
<dd>・構文で移動の処理内容を修正する</dd>
<dd>　・Animatorコンポーネント部分を追加</dd>
<dd>　　・止まったり、動いたりさせるので</dd>
<dd>　・Animatorコンポーネント部分を追加</dd>

</dl>
```C#
public class GamePlayer : MonoBehaviourPunCallbacks
{
    private Animator animator;
    public float movement;//0.003くらいがいい感じ

    void Start()
    {
        animator = GetComponent<Animator>();
    }

    void Update()
    {
        if (Input.GetKey("up"))
        {
            transform.position += transform.forward * movement;
            animator.SetBool("walk", true);
        }

        else if (Input.GetKey("down"))
        {
            transform.position -= transform.forward * movement;
            animator.SetBool("walk", true);
        }
        else
        {
            animator.SetBool("walk", false);
        }
        if (Input.GetKey("right"))
        {
            transform.Rotate(0, 1, 0);
        }
        if (Input.GetKey("left"))
        {
            transform.Rotate(0, -1, 0);
        }
    }
}
```
<dl>
<dd></dd>
</dl>

--


<dl>
<dt>修正点</dt>
<dd>・位置がいつもランダム</dd>
<dd>　=>制作中は、いつも同じ位置にしたいので生まれるところを修正</dd>
</dl>

```C#
        var v = new Vector3(0,0,0);
        PhotonNetwork.Instantiate("GamePlayer", v, Quaternion.identity);
```
<dd>--</dd>
<dl>
<dd>・回転が同期していない</dd>
<dd>　=>PhotonTransformViewのRotationの設定でレ点を入れる</dd>
<dd>--</dd>
<dd>・ポリゴンの上を移動させる</dd>
<dd>　=>床作って、Rigidbody+BoxColider</dd>
<dd>　そのままだと下図の様に落ちるので、、、</dd>
<dd>　=>床作って、Rigidbody+BoxColider</dd>
</dl>


![010.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232643/35a4e55d-34a4-8e7d-2ef4-f96ebfa2cd11.jpeg)

![011.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232643/c1b1d76b-34a5-6694-e277-ced9750a3769.jpeg)

![020.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232643/a8c1d31b-a8d7-d30a-cb60-64f37bc9e9e3.jpeg)

<dl>
<dd>　=>サラリ万にもRigidbody+CapsuleColiderつける</dd>
<dd>　サラリ万、CapsuleColiderなので??かやる</dd>
<dd>　=>RigidbodyのFreezeRotation[x軸とz軸]にレ点必要</dd>
</dl>


次回：1人称カメラ視点にトライ（★）
次回の次：チャット（日本語入力対応）（★★★）


（参考サイト）
[photon resources folder not reliable in unity 2020?](https://answers.unity.com/questions/1766642/photon-resources-folder-not-reliable-in-unity-2020.html)
[【PUN2】Unityでオンラインマルチプレイを爆速で実装する](https://qiita.com/UpAllNight/items/43e1b24301eb6029f18b)
[【Unity】自分の思い描いたキャラクターを作成し、最速で動かす](https://qiita.com/UpAllNight/items/317708069d1ed3ff0486)