Unity 实现简单画板画画功能(笔记)

这篇具有很好参考价值的文章主要介绍了Unity 实现简单画板画画功能(笔记)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、搭好场景

  1. 创建一个plan
  2. 摄像机调成正交摄像机
  3. 创建三个cube,附上材质
  4. 再创建一个cube,找个色板,
  5. 创建一个脚本,挂在非失活物体上
  6. 创建一个slider,放在旁边
    unity 画板,unity,unity,游戏引擎,c#,visual studio,学习

二、写代码

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 画板文章来源地址https://www.toymoban.com/news/detail-552799.html

到了这里,关于Unity 实现简单画板画画功能(笔记)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity3D】如何用使用Unity实现退出游戏的功能

    1、使用Unity编译器时: 2、打包后: 很多时候,我们都知道Application.Quit()代码,但是我们在Unity编译器调试的时候发现即使挂上了这个代码的组件或物体都无法退出编译,因为该代码只在打包后可以实现退出功能。 所以我们可以把两个实现代码同时写入脚本,这样既可以在编

    2024年02月11日
    浏览(70)
  • Unity实现简单AR功能

    一、首先进入Vuforia官网:Home | Vuforia EDP,也可以直接百度,第一条就是,点击进入,注册登录。 二、点击develop进行许可管理注册,依次点击两个蓝色框框中的按钮,获取一个Key。   三、 按下图输入App名称,同意条款,确定    四、点击刚刚创建好的项目生成许可密钥,在Unity工程中

    2024年02月08日
    浏览(47)
  • 【unity3D】退出游戏功能的实现

    💗 未来的游戏开发程序媛,现在的努力学习菜鸡 💦本专栏是我关于游戏开发的学习笔记 🈶本篇是unity的退出游戏功能的实现 新建一个button按钮,在Hierachy面板点击右键,然后UI—Button。 调节Button位置和Button下面Text文本的内容和大小。 新建一个脚本 新建一个空物体,然后

    2024年02月11日
    浏览(62)
  • 【Unity实战】实现一款简单的FPS游戏

    实现一款FPS游戏需要以下步骤: 1.创建场景:在Unity中创建3D场景,设定地形、灯光、天气等环境,新增角色、武器等道具。 2.角色控制:创建角色,并添加Unity内置的角色控制器或自定义控制器脚本,处理角色的移动、射击、跳跃、动作等。 3.武器系统:创建武器模型,添加

    2024年02月06日
    浏览(41)
  • Unity 实现简单的发射子弹功能

    前言:对于射击类游戏,相信大家并不陌生。那么想要实现这一功能,我们通常会使用两种方法: 1.射线追踪。  2.子弹实例化。 今天,我们就通过第二种方式去实现发射的功能。 一、首先,我们准备好一把枪的模型,将其放到场景中,调整好位置。  二、 我们在枪口前面

    2024年02月11日
    浏览(86)
  • 简单的Unity中设置游戏死亡界面并实现跳转

    在Unity中设置游戏死亡界面可以通过以下步骤完成: 创建新的场景:在Unity的菜单栏中选择“File”,然后选择“New Scene”。这将创建一个新的、空的场景。 创建游戏死亡UI:在新的场景中创建一个游戏死亡界面。可以使用Unity的UI工具来创建UI元素,例如文本、按钮、背景等。

    2024年02月06日
    浏览(82)
  • Unity之Photon PUN2开发多人游戏如何实现组队功能

    Photon Unity Networking 2 (PUN2) 是一款基于Photon Cloud的Unity多人游戏开发框架。它提供了一系列易于使用的API和工具,使开发者可以快速构建多人戏,并轻松处理多人游戏中的网络同步、房间管理、玩家匹配等问题。 我们在查看Pun2的Demo时,会发现Demo中自带了一个简易的PhotonTeam和

    2024年02月11日
    浏览(59)
  • 【制作100个unity实战之2】实现一款简单的FPS游戏

    实现一款FPS游戏需要以下步骤: 1.创建场景:在Unity中创建3D场景,设定地形、灯光、天气等环境,新增角色、武器等道具。 2.角色控制:创建角色,并添加Unity内置的角色控制器或自定义控制器脚本,处理角色的移动、射击、跳跃、动作等。 3.武器系统:创建武器模型,添加

    2024年02月04日
    浏览(60)
  • 【Unity】制作一个简单的菜单栏页面并实现其功能

    1.创建UGUI组件 (1)接下来我们制作一下整个菜单页面的UGUI,其大致制作效果如下图,有一下细节我们需要注意就是设置好Canvas的分辨率并且在创建UI组件的过程每一个物体我们对需要设置好对应的锚点让它固定在这个位置,不会随分辨率大小而改变。造成后面比较麻烦,所

    2024年02月11日
    浏览(40)
  • 【Unity】Socket网络通信(TCP) - 实现简单的多人聊天功能

    多客户端连接服务器其原理是在服务端保存客户端连入后与客户端通信的socket,由于等待客户端连接会阻塞主线程,所以结合多线程就能实现多客户端连入功能。多人聊天只需要将A客户端发来的消息,转发给除A客户端外的其他客户端,即可实现。如果你还不怎么熟悉服务端

    2024年02月03日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包