• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Unity 实现画板画画功能笔记

武飞扬头像
X在学了
帮助1


一、搭好场景

  1. 创建一个plan
  2. 摄像机调成正交摄像机
  3. 创建三个cube,附上材质
  4. 再创建一个cube,找个色板,
  5. 创建一个脚本,挂在非失活物体上
  6. 创建一个slider,放在旁边
    学新通

二、写代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Draw : MonoBehaviour {
    LineRenderer line;
    Material mat;
    public Slider slider;
    int num = 0;//总共画画点数
    Color c;
	// Use this for initialization
	void Start () {
        slider.value = 0.1f;
	}
                // Update is called once per frame
    void Update () {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;
        if (Physics.Raycast(ray,out hit))
        {
            if (Input.GetMouseButtonDown(0))
            {
                if (c==null)
                {
                    return;
                }
                GameObject obj = new GameObject();
                line= obj.AddComponent<LineRenderer>();
                line.material.color= c;
                line.widthMultiplier = slider.value;//宽度
                line.SetPosition(0,hit.point);
                line.SetPosition(1, hit.point);
                num = 0;
            }
            if (Input.GetMouseButton(0))
            {
                num  ;
                line.positionCount = num;
                line.SetPosition(num - 1, hit.point Vector3.up*0.2f);

            }
            if (Input.GetMouseButtonDown(1))
            {
                StartCoroutine(ChangeColor());
            }
        }
	}
    IEnumerator ChangeColor()
    {
        yield return new WaitForEndOfFrame();
        Texture2D texture2D = new Texture2D(Screen.width,Screen.height,TextureFormat.RGB24,true);
        texture2D.ReadPixels(new Rect(0, 0, Screen.width, Screen.height), 0, 0);
        texture2D.Apply();
        c = texture2D.GetPixel((int)Input.mousePosition.x, (int)Input.mousePosition.y);
    }
}

学新通

三、效果

Unity 画板

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhiaachg
系列文章
更多 icon
同类精品
更多 icon
继续加载