小编ATH*_*boy的帖子

在 Unity3D 中将 alpha 添加到着色器

我对着色器编程一无所知,但现在我需要向要使用的着色器添加 alpha。实际上我想淡入淡出我的精灵,但它不在我使用的着色器中。

着色器:

Shader "Sprites/ClipArea2Sides"
{
    Properties
    {
        _MainTex ("Base (RGB), Alpha (A)", 2D) = "white" {}
        _Length ("Length", Range(0.0, 1.0)) = 1.0
        _Width ("Width", Range(0.0, 1.0)) = 1.0
     }

    SubShader
    {
        LOD 200

        Tags
        {
            "Queue" = "Transparent"
            "IgnoreProjector" = "True"
            "RenderType" = "Transparent"
        }

        Pass
        {
            Cull Off
            Lighting Off
            ZWrite Off
            Offset -1, -1
            Fog { Mode Off }
            ColorMask RGB
            Blend SrcAlpha OneMinusSrcAlpha

            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag

            #include "UnityCG.cginc"

            sampler2D _MainTex;
            float4 _MainTex_ST; …
Run Code Online (Sandbox Code Playgroud)

shader alpha fade unity-game-engine

5
推荐指数
1
解决办法
8561
查看次数

在Unity3D中改变音乐曲目的节奏

是否可以在不使用任何声音引擎的情况下改变音乐曲目的节奏FMOD?我知道通过改变 AudioSource 中的音高我可以改变音乐的速度,但你知道通过改变音高实际上可以完全改变音乐。

audio playback unity-game-engine

4
推荐指数
1
解决办法
5654
查看次数

在Unity3D中拖放ScrollRect(ScrollView)

我想在滚动视图的内容上实现拖放。

问题是,当您尝试在滚动视图中拖动项目时,无法滚动视图。

首先,我尝试通过IDragHandler,IBeginDragHandler,IEndDragHandle和IDropHandler接口实现拖放。乍一看,它工作得很好,但问题是您无法滚动ScrollRect。

我认为问题是由于重载造成的,当我使用事件触发器与拖动一样像rect rect时,父触发器无法正常工作。

因此,在那之后,我自己思考了一下,并通过IPointerDown,IPointerUp接口和在ScrollRect中保留可拖动UI的特定时间来实现它,如果您没有在特定时间保持它,则滚动工作会很好。

但是问题是通过启用在保持时间结束时在OnDrag,OnBeginDrag和OnEndDrag函数之前编写的DragHandler脚本不起作用。

首先我想知道有什么方法可以调用这些函数吗?

其次,有什么方法可以在不使用拖动界面的情况下实现拖放UI?

DragHandler:

using System;
using UnityEngine;
using UnityEngine.EventSystems;

public class DragHandler : MonoBehaviour, IDragHandler, IBeginDragHandler, IEndDragHandler
{
    public static GameObject itemBeingDragged;

    private Vector3 startPos;

    private Transform startParent;

    DragHandler dragHandler;

    public void Awake()
    {
        dragHandler = GetComponent<DragHandler>();
    }

    public void OnBeginDrag(PointerEventData eventData)
    {
        Debug.Log("Begin");
        itemBeingDragged = gameObject;
        startPos = transform.position;
        startParent = transform.parent;
    }

    public void OnDrag(PointerEventData eventData)
    {
        Debug.Log("Drag");
        transform.position = Input.mousePosition;
    }

    public void OnEndDrag(PointerEventData eventData)
    {
        Debug.Log("End");
        itemBeingDragged = null; …
Run Code Online (Sandbox Code Playgroud)

drag-and-drop eventtrigger scrollrect scrollview unity-game-engine

1
推荐指数
2
解决办法
5015
查看次数

Node.JS 在 Unity3D 中的游戏服务器

我想通过 Node.js 为我的游戏后端编程。

我的游戏的后端内容是 1) 登录和注册 2) 个人资料 3) 向其他用户和收件箱发送消息 4) 发送通知 5) 设置一些信息,即商店信息或任何其他内容

现在我想知道 Node.JS 是否合适?我之前看过一些关于 Node.js 的教程。

我也对 Socket.io 有所了解。所以我觉得我自己结合 Node.js 和 Socket.io 在 Unity3D 中是好的。

第二个问题是我应该使用哪个数据库?

database unity-game-engine node.js socket.io server

1
推荐指数
1
解决办法
6815
查看次数

在 Unity 中的多选下拉菜单中显示 ScriptableObjects

我应该如何创建PropertyAttribute并在检查器的下拉菜单中PropertyDrawer显示s 以进行多重选择?ScriptableObject

unity-game-engine drop-down-menu dropdown unity-editor

0
推荐指数
1
解决办法
1625
查看次数