原標題:平凡的世界人物關系圖及人物關系分析]
根據路遙同名小說改編的電視劇《平凡的世界》一上映就引發廣泛關注,該劇以上世紀70年代中期到80年代中期為社會背景,以孫少安、孫少平兄弟倆的命運為主軸,講述了包括田潤葉、田曉霞、賀秀蓮、田潤生等在內的年輕人面臨現實的挫折、壓力、抉擇,卻從未放棄對理想、愛情堅韌執著的追求。而幾個人物之間也有著錯綜復雜的關系,讓觀眾傻傻弄不明白。一接下來一起看下《平凡的世界》人物關系圖,以及人物關系分析,讓我們更清晰的認識劇中人物!
電視劇《平凡的世界》人物關系圖
《平凡的世界》人物關系分析:
老祖母,生有兩個兒子,孫玉厚、孫玉亭,孫玉厚有四個兒女,孫少安、孫少平、孫蘭花和孫蘭香。孫少安的初戀是田潤葉,但最終娶了賀秀蓮為妻。孫少平的初戀是郝紅梅,而郝紅梅最終嫁給了同學顧養民,后來孫少平又喜歡上了田潤葉的堂妹田曉霞。孫蘭花嫁給了“二流子”王滿銀。
金老太生有三個兒子,金俊文、金俊武、金俊斌,金俊文與妻子張桂蘭生下金富和金強。金俊武的妻子為李玉玲;金俊斌的妻子為王彩娥。
天福堂與田福軍是親兄弟,哥哥天福堂生下一兒一女,田潤葉和田潤生。弟弟田福軍與妻子徐愛云育有一兒一女,田曉霞和田曉晨。
田潤葉與孫少安青梅竹馬,彼此是初戀,但未能走到一起,孫少安娶了賀秀蓮;田潤葉嫁給了李向前。
標簽:人物,關系,平凡
云浮在線,詳情請訪問:http://www.gdyfs.com/yu/hot/20150312/2331890.html
Pyecharts的版本最新版本為1.7.0版本,此版本跟0.5版本的使用方法不一樣了。很多參數方法配置不一樣了。Import的內容也不一樣了。官方的例子主要是采用函數定義,方法采用鏈式傳導操作方法,參數配置項也有變化。建議使用json或字典模式,時候前后臺系統,更符合echart的開發思路,方便擴展。
關系圖參數設置有兩種方法可以采用(函數參數和字典數據)。第一種方法利用python程序直接在代碼中設置各種參數,如下例所示:
import jsonimport osfrom pyecharts import options as optsfrom pyecharts.charts import Graph, Pageimport webbrowsernodes=[ opts.GraphNode(name="結點1", symbol_size=10), opts.GraphNode(name="結點2", symbol_size=20), opts.GraphNode(name="結點3", symbol_size=30), opts.GraphNode(name="結點4", symbol_size=40), opts.GraphNode(name="結點5", symbol_size=50), ]links=[ opts.GraphLink(source="結點1", target="結點2",value=1,linestyle_opts=opts.LineStyleOpts(width=20)), opts.GraphLink(source="結點2", target="結點3",value=2), opts.GraphLink(source="結點3", target="結點4",value=3), opts.GraphLink(source="結點4", target="結點5",value=4), opts.GraphLink(source="結點5", target="結點1",value=5),]mygraph=Graph()mygraph.add("系列名稱",nodes,links,repulsion=8000,edge_label=opts.LabelOpts( is_show=True, position="middle", formatter="{b} {c}"))mygraph.set_global_opts(title_opts=opts.TitleOpts(title="Graph-基本示例"))mygraph.render()webbrowser.open("render.html")
圖 1 函數參數配置人物關系圖
利用庫options函數的方法定義節點和鏈路,里面有各種參數。這里重點說明
linestyle_opts=opts.LineStyleOpts(width=20))
在線段的參數設置中,利用options的子方法進行二級屬性的設置。
在利用graph()生成圖形后,給圖形添加節點、鏈路和圖形的各種屬性。
函數的參數非常多,需要參考官方的函數說明
https://pyecharts.org/#/
在官方的例子中,復雜數據后大量數據展示,采用的是讀取json數據格式。在json數據中利用字典形式定義了各種屬性和對應的值。這里需要注意的就是,參數如果有二級的子參數設置,在json中,也需要在字典的形式。坑是,在json中這種字典的一級key不是參數配置方法的名字,而是一個函數定義的縮寫,大小寫跟參數配置的還有區別,如下所示。在鏈路設置中,線型的屬性設置用的是"lineStyle": {"width": 10} 這里的lineStyle是函數名字的縮寫,函數名字是lineStyleopt,也沒看到說明。只能自己分析了。推薦采用這種字典方式設置參數,這個方法類似于echart,方便后臺數據與前臺UI交換數據,方便后期擴展
{ "categories": [ { "name": "類目0" }, { "name": "類目1" }, { "name": "類目2" }, { "name": "類目3" }, { "name": "類目4" }, { "name": "類目5" }, { "name": "類目6" }, { "name": "類目7" }, { "name": "類目8" } ], "nodes": [ { "id": "0", "name": "張零", "symbolSize": 10, "value": 28.685715, "label": { "normal": { "show": true } }, "category": 0 }, { "id": "1", "name": "張一", "symbolSize": 15, "value": 4, "label": { "normal": { "show": true } }, "category": 0 }, { "id": "2", "name": "張二二", "symbolSize": 20, "value": 9.485714, "label": { "normal": { "show": true } }, "category": 1 }, { "id": "3", "name": "張三三", "symbolSize": 25, "value": 9.485714, "label": { "normal": { "show": true } }, "category": 1 }, { "id": "4", "name": "CountessDeLo", "symbolSize": 30, "value": 4, "label": { "normal": { "show": true } }, "category": 0 }, { "id": "5", "name": "Geborand", "symbolSize": 35, "value": 4, "label": { "normal": { "show": true } }, "category": 0 }, { "id": "6", "name": "Champtercier", "symbolSize": 40, "value": 4, "label": { "normal": { "show": true } }, "category": 0 } ], "links": [ { "id": "0", "source": "1", "target": "0", "lineStyle":{"width": 20} }, { "id": "1", "source": "2", "target": "0", "lineStyle": {"width": 10} }, { "id": "2", "source": "3", "target": "0" }, { "id": "3", "source": "3", "target": "2" }, { "id": "4", "source": "4", "target": "0" }, { "id": "5", "source": "5", "target": "0" }, { "id": "6", "source": "6", "target": "0" } ]}
調用json方法,利用字典傳遞參數
import jsonimport osfrom pyecharts import options as optsfrom pyecharts.charts import Graph, Pageimport webbrowserdef graph_les_miserables(): with open("les-miserables.json", "r", encoding="utf-8") as f: j=json.load(f) nodes=j["nodes"] links=j["links"] categories=j["categories"] print(nodes) print(links) c=( Graph(init_opts=opts.InitOpts(width="1000px", height="600px")) .add( "", nodes=nodes, links=links, categories=categories, layout="circular", #圓形 is_rotate_label=True, linestyle_opts=opts.LineStyleOpts(color="source", curve=0.3), label_opts=opts.LabelOpts(position="right"), ) .set_global_opts( title_opts=opts.TitleOpts(title="Graph-Les Miserables"), legend_opts=opts.LegendOpts( orient="vertical", pos_left="2%", pos_top="20%" ), ) ) return cmygraph=graph_les_miserables()mygraph.render()webbrowser.open("render.html")
圖 2 json參數配置人物關系圖
數據源:
1 第一種方法,讀取文本,截詞分析,利用csv建立人物關系的矩陣圖。
2 第二種方法,模擬矩陣人物關系矩陣。
數據讀取
3 利用pandas讀取矩陣數據
4 類似于json,利用pandas,把第一類轉換為node,把行轉換為link。
數據填充
5 利用字典形式填充人物關系圖,利用字典數據配置各種參數。
6 生成人物關系圖。
圖 3 人物關系矩陣
from pyecharts import options as optsfrom pyecharts.charts import Graph, Pageimport webbrowserimport randomimport pandas as pdimport jiebaimport jieba.posseg as pseg# 構建一個模擬數據集,矩陣形式#停用詞stopwords=[line.strip() for line in open('baidu_stopwords.txt',encoding='UTF-8').readlines()]#數據來源一:讀取小說f=open("紅樓夢.txt","r",encoding="utf-8")jieba.load_userdict("紅樓夢人名表.txt")#加載人物表names={}# 保存人物,鍵為人物名稱,值為該人物在全文中出現的次數relationships={}#保存人物關系的有向邊,鍵為有向邊的起點,值為一個字典 edge ,edge 的鍵為有向邊的終點,值是有向邊的權值lineNames=[]# 緩存變量,保存對每一段分詞得到當前段中出現的人物名稱for line in f.readlines(): poss=pseg.cut(line) # 分詞,返回詞性 lineNames.append([]) # 為本段增加一個人物列表 for w in poss: if w.flag !='nr' or len(w.word) < 2 or w.word in stopwords: continue # 當分詞長度小于2或該詞詞性不為nr(人名)時認為該詞不為人名 lineNames[-1].append(w.word) # 為當前段的環境增加一個人物 if names.get(w.word) is None: # 如果某人物(w.word)不在人物字典中 names[w.word]=0 relationships[w.word]={} names[w.word] +=1f.close()# 對于 lineNames 中每一行,我們為該行中出現的所有人物兩兩相連。如果兩個人物之間尚未有邊建立,則將新建的邊權值設為 1,# 否則將已存在的邊的權值加 1。這種方法將產生很多的冗余邊,這些冗余邊將在最后處理。for line in lineNames: for name1 in line: for name2 in line: if name1==name2: continue if relationships[name1].get(name2) is None: relationships[name1][name2]=1 else: relationships[name1][name2]=relationships[name1][name2] + 1#構建人物關系矩陣#行row_name={}for key0,value0 in relationships.items(): for key1,value1 in value0.items(): if value1>100: #設置門限,關系10次以上的提取 #print(key0,key1,value1) row_name[key0]=row_name.get(key0,0)+1 row_name[key1]=row_name.get(key1,0)+1#row_nameprint(len(row_name))namepd0=pd.DataFrame()namepd0['name']=list(row_name.keys())print(namepd0.tail(10))#%%#列for i in row_name.keys(): col_name=i col_data=[ ] for j in row_name.keys(): if relationships[i].get(j)!=None and relationships[i].get(j)>100: col_data.append(relationships[i][j]) else: col_data.append(0) namepd0[col_name]=col_datanamepd0.to_csv("data.csv",index=False)namepd0##%%#第二種方案,模擬隨機產生矩陣數據N=6x1=[]mypd0=pd.DataFrame()for i in range(0,N): x1.append("張三"+str(i))mypd0["name"]=x1for i in range(0,N): x2=[] for j in range(0,N): if i==j: x2.append(0) else: x2.append(random.randint(0,6)) mypd0[x1[i]]=x2mypd0.to_csv("data.csv",index=False)mypd0
#====================# 讀取數據集mypd2=pd.read_csv("data.csv")print(mypd2)print("**" * 10)# 構建關系圖節點# 分類my_categories=[{"name": "類目0"}, { "name": "類目1" }, { "name": "類目2" }, { "name": "類目3" }, {"name": "類目4" }, {"name": "類目5" }, {"name": "類目6" }]# node數據name=list(mypd2['name']) # 節點名稱mynode1=[]for i in range(0, mypd2.shape[0]): # 節點 mynode0={ "id": str(i), "name": name[i], "symbolSize": 10, "value": 28.685715, "label": { "normal": { "show": "true"} }, "category": random.randint(0,7) #分類 } mynode1.append(mynode0)print(mynode1)# link數據mylink1=[]for i in range(0, mypd2.shape[0]): # 行 source_node=mypd2.iloc[i, 0] # 第一個數據為 人物姓名,做源節點 for j in range(1, mypd2.shape[1]): # 列 des_node=name[j - 1] # 目標人物姓名 w=mypd2.iloc[i, j] # 線的權重 # print(i,jsource_node,des_node,w) if w==0: continue mylink0={ "id":str(i*(mypd2.shape[1]-1)+(j-1)), "source": str(i), "target": str(j-1), "lineStyle": {"width":1} # str(w/10*4) } mylink1.append(mylink0)print(mylink1)#構建圖形函數def graph_les_miserables(nodes,links,categories): print("**"*20) print(nodes) print(links) c=( Graph(init_opts=opts.InitOpts(width="1000px", height="600px")) .add( "", nodes=nodes, links=links, categories=categories, layout="circular", #圓形 is_rotate_label=True, linestyle_opts=opts.LineStyleOpts(color="source", curve=0.2), #公共線條屬性 label_opts=opts.LabelOpts(position="right"), ) .set_global_opts( title_opts=opts.TitleOpts(title="人物關系圖"), legend_opts=opts.LegendOpts( orient="vertical", pos_left="2%", pos_top="20%" ), ) ) return c#生成圖形mygraph=graph_les_miserables(mynode1,mylink1,my_categories)mygraph.render()webbrowser.open("render.html")
圖 4 紅樓夢人物關系圖
圖 5 隨機數人物關系圖
輯導語:年初,一款主打虛擬形象的社交APP“啫喱”一經上線,便爆火全網,充分證明虛擬社交未來無限潛力。從QQ秀到VR chat,元宇宙再掀社交熱潮。那么這些以捏臉換裝和虛擬互動為主體的社交產品流行的原因?反應用戶怎樣的社交心理?未來發展如何?本文將對此進行分析,值得一看。
今年2月,一款主打虛擬形象的社交APP——“啫喱”橫空出世,用戶能通過潮玩形象與好友分享日常狀態和互動。啫喱上線不到3周時間,便登上了App store免費社交榜單的第一位,這也讓人們看見了虛擬社交的充分潛力。從早期的QQ秀到2013年的臉萌、2018年的Zepeto,到2022年的啫喱,以捏臉換裝和虛擬互動為特點的虛擬社交產品深受喜愛的原因何在?其又反映了用戶怎樣的社交心理?同時,隨著5G、VR技術的成熟,虛擬社交正一步一步靠近元宇宙的想象空間,媒介技術更迭帶來的新興社交形態又將面臨哪些問題?
網絡中的虛擬形象這一概念最初是由韓國Avtater網絡娛樂產品進行理念開發和設計的。[1]Avatar 源自印度梵語,本意是指在印度教中神(Vishnu)以人或獸的模樣現身人世的化身。20世紀90年代,廣泛流行于西方的科幻小說Snow Crash用化身Avatar這個詞來指代網絡世界中虛擬的人。后來,Avatar成為了網絡用戶在以圖像為主的虛擬世界中的虛擬形象代名詞。
在韓國Avatar網絡娛樂產品發展的早期,虛擬角色的裝扮僅僅是對人物五官、發型的簡單組合,后發展為以Avatar為身份識別方式的各網絡應用領域,如個人虛擬形象聊天室、網絡對戰跳舞游戲等[1]。2003年,騰訊公司在調查了韓國Avater 網絡娛樂產品后推出了自己的虛擬形象產品——QQ秀。
QQ秀搭配(圖源網絡)
用戶可以在聊天框的側邊中展示自己的虛擬形象,在QQ商城購買后,根據自己的審美需求自行搭配服飾,如西服、裙子、牛仔褲等。QQ秀往往是公開的,每個好友都能看見自己精心打扮的虛擬形象,這極大地滿足了年輕用戶彰顯自我、表達個性的需求。
近年來,盡管QQ秀已成為“時代的眼淚”,但虛擬形象打造似乎一直是年輕人的樂趣所在,在過去的十幾年里,相關的產品不斷涌現,在網絡世界制造熱潮。
“臉萌”中的形象設計(圖源網絡)
2013年的“臉萌”為用戶提供數十種發型、五官選擇,主打定制個人專屬卡通形象。2018年,ZEPETO在小紅書等社交媒體上迅速躥紅。相比于“臉萌”,ZEPETO在虛擬形象設計上更進一步,支持打造3D個性化人物,用戶還可以上傳自己的照片進行擬真性設計。ZEPETO的交互性也更強,在賬號的聯結下,用戶可以與朋友進行虛擬形象合影,平臺還提供榜單和street,滿足用戶展示自我、拓展交友圈的需求。
ZEPETO中的合照功能(圖源網絡)
今年爆火的啫喱與先前的軟件本質并無二異,注重參與感和新鮮感的年輕人對設計自己的虛擬形象始終具有較高的熱情。
究其原因,首先,以啫喱為代表的虛擬形象游戲極大地滿足了用戶自我呈現、形象塑造的理想期待,身份的匿名性也為用戶提供更多自由發揮的空間。
在啫喱中,用戶可以根據自己的喜好打造自己人物形象,進行捏臉和衣物穿搭。平臺本身提供大量部件,如衣服、配飾、鞋子供用戶自由組合,每一位用戶生成的角色都是與眾不同的,帶有鮮明的個人化色彩。而這一形象實際上是現實自我在網絡空間中的自我投射,以一種“數字分身”的形態存在。
擬劇理論中,戈夫曼將日常社交互動視作一種表演行為。[2]人們會借助外表裝扮、行為表現來構建自己的“前臺”形象,這種形象的構建一般帶有一定目的性,為了靠近大眾普遍認可的印象而主動構建,具有社會化的表演成分。
在面對面的現實交往中,“前臺”形象無法輕易改變,而在虛擬形象游戲中,用戶可以暫時逃離現實角色的束縛,隨意改變角色的衣物、容貌和行為來更好地進行自我形象管理,打造本體形象,在游戲中肆意地放松身心、袒露“人性化自我”的一面。
其次,ZEPETO、啫喱的頻頻出圈,也與近年來年輕用戶逃離常規、追求樂趣的社交心理密切相關。
信息社會中,高強度的社交聯系使人們的個人空間被無限壓縮。社交軟件更多地變成了工作聯絡的工具,出于維護關系的必要,人們往往很難真實表達自己的想法,逐漸產生抗拒、排斥、疲憊等負面抵觸情緒,它逼迫用戶逃離常規,去尋找可以“透氣”的地方[3]。
虛擬形象社交游戲則為用戶提供了一個精神烏托邦,這個空間暫時與外部真實世界隔離,具有自己獨特的運行規則和符號體系。游戲的私密性、娛樂性回歸了年輕人對社交最基礎的需求。如啫喱致力于解決其他社交軟件“好友多、弱聯系、分享欲降低”等一系列痛點,只有通過邀請才能成為好友,且好友上限為50位,精簡了微信中冗余的“朋友圈”。用戶通過游戲的連接,可以建立起脫離社會角色的聯系,不受“關系之累”的約束,更加遵從自己內心的想法,自由設置自己的“心情、日常、休息、工作”四類狀態。
啫喱上個人狀態設置(圖源啫喱APP)
同時,虛擬形象的設定又賦予了游戲更多個性化色彩,滿足了年輕人追求新潮、崇尚獨特的心理。如圍繞著玩家虛擬形象,啫喱將其與手辦、潮玩、周邊等相融合,將好友列表做成了手辦收藏柜,允許玩家自定義潮玩掛卡、虛擬形象壁紙等。這為用戶創造了更多互動空間,也增加了游戲的趣味性。
隨著VR技術的進一步發展,虛擬形象游戲不再停留在個性裝扮的這一步,向元宇宙社交更加靠近。
元宇宙最早出現于科幻小說《雪崩》(Snow Crash)中,作者斯蒂芬斯提到,人們可以借助科技設備進入另一個與真實世界平行的虛擬空間,每個人都可以在這個世界擁有自己的分身。
在元宇宙的概念中,真實世界與虛擬世界是相互構造的,虛擬世界映射真實世界生成,正如電影《頭號玩家》所演繹的那樣,人們可以自由地在這兩個空間穿梭,運用虛擬身份學習、工作、娛樂等,部分虛擬世界形成的數字痕跡也可傳導進現實空間。
在VR、5G等信息技術的發展下,社交游戲似乎也朝著“元宇宙”全速前進。
2017年推出的VRchat俘獲了大量粉絲,成為元宇宙社交賽道上的一匹黑馬。目前VRchat已成為Steam和Oculus Rift商店中排名第一的免費VR應用程序,擁有超過40,000名同時在線玩家。
這是一款多人在線的VR社交游戲,外置可穿戴設備,支持音頻唇形同步,眼球眨眼追蹤,運動范圍捕捉等多方面的狀態采集。每個用戶都可以用獨特的3D虛擬形象在游戲里生活和社交,如和朋友在虛擬的廣場上聊天、打一場保齡球或在虛擬電影院里和上百位玩家同看一場電影。
VRchat游戲界面(圖源網絡)
相比于QQ秀、ZEPETO等以定制形象出圈的虛擬社交游戲,VRchat里的人物不再只是一個平面形象,而是可以實時反應真實軀體行為的“虛擬化身”,擁有了更多自由活動的空間。這類VR游戲更像是現實社交在虛擬世界的延伸,將“虛擬身份”和“沉浸式社交”緊密結合起來,注重游戲互動和情緒體驗,以多感官參與的方式營造了一個開放、共享、多元的社交情境。
以VRchat為例,VR虛擬形象社交游戲的突破有以下幾點:
數字游戲人際互動主要由玩家、規則、情境三個要素構成。[4]為提升用戶的交互性,虛擬形象游戲會打造用戶都能進入的分類場景,場景設計具有一定擬真性,聯結現實情境的同時又抽象于現實,剔除掉真實生活里的所有“負反饋”,為玩家建造一個“零負反饋”的游戲環境,以滿足玩家的情感預期。
VRchat涵蓋數百個互動場景,如演唱會、電影院、慶典等供用戶隨意挑選。同時,場景設計賦予玩家更多自主權,只要運用統一的代碼,用戶就可以自行導入自己設計的場景,各種超現實的場景在游戲中都得以實現,用戶的創造性被充分激發,游戲參與感增強。
VRchat中的場景(圖源網絡)
在場景的加持下,游戲將線下的慶典和儀式延續至線上,創造出新的體驗形態,為提供用戶儀式情境互動,幫助其更好地建立人與人之間的連接。如在疫情期間,電子音樂傳奇人物Jean-Michel Jarre曾在VRchat上舉辦了一次虛擬音樂會,突破常規的表達方式,如音樂可視化、無邊界舞臺空間,吸引了數千名用戶在線觀看,共同感受音樂的脈動。
伊阿斯克特所說:“網絡空間是一種虛擬的空間,虛擬與現實不僅在此秉承,更是在這個文化復雜空間中共同演化。”[5]
VRchat上的音樂會延續了傳統慶典的基本元素,同時又賦予了其更鮮活的表達方式,為人們的人際交往提供了一種前所未有的新樣態。符號化、多媒介的虛擬人物和環境成為玩家互動的對象,用戶在情境互動中完成身體的數字展演,以“賽博格化”的形式參與共享性的實踐儀式,進一步加強了在虛擬空間中個體的情感聯結。
相比于其他社交游戲,虛擬形象游戲為“身體在場”提供了更多可能性,逐漸成熟的VR技術讓用戶在感官體驗、空間實踐、身份感知、情感傳播等方面都形成了新的身體經驗。
梅洛·龐蒂將身體視為知覺活動的本源,人們對于世界的認識并非世界的“鏡像”,而是由身體構造和身體感覺運動系統塑造出來的[6]。
在VRchat中,人們使用VR頭顯和手柄便可用自己意識和身體控制游戲中的數字分身,運用各種富有樂趣的交流方式與他人互動,比如展示舞蹈、在線畫畫等,用戶在體驗過程中以自身在場和內化為游戲角色的虛擬在場兩種方式存在,技術與身體相互建構,二者以一種人機耦合的方式完成了“具身性”的回歸。
“具身傳播”打破了傳統社交軟件的固定范式,創造一種類似面對面交往的臨場感,大大減少了因空間距離所帶來的疏離,正如VRchat首席執行官Graham Gaylor所的表示那樣:“我們的目標是將人們聯系起來,讓他們能夠像在同一個房間一樣進行互動。”[7]
“3D虛擬形象+VR設備”提高了用戶的互動體驗,借助VR設備,用戶可以控制游戲角色的動作、表情,以第一視角與其他用戶產生有觸感的互動,自如地進行社交,在場景中互動時的感官感受更加真實、強烈。
這賦予了用戶在現實距離遙遠的情況下仍能保持親密關系的條件,完成了對現實社交的替代性滿足。用戶在情感上獲得更強烈的支持,填補了心靈空缺,游戲忠誠度也進一步提高。
斯蒂芬遜在傳播游戲論中強調,傳播就是一種主觀性的游戲,傳播就是傳播快樂,其目的是為了個人的愉悅。在這一傳播游戲中,對外傳播與交往功能也值得關注。[8]
對于虛擬形象游戲的用戶來說,創設形象、自由社交、互動儀式帶來的精神快感是其選擇和分享游戲的重要因素。UGC的模式下,游戲的大部分場景、角色、活動都由玩家共同創建,自由的社交和創造氛圍將VRchat塑造成了一個無邊界的、高度開放的虛擬空間,充斥著海量的泛娛樂化內容,如開放麥克風之夜或日語課程、冥想會話或即興表演,用戶可以基于自己的喜好進入房間,帶著探索自我的好奇心參與信息的傳播活動。
虛擬場域也為用戶開創了更多群體交流的可能性,正如麥克盧漢說的“媒介即信息”和“媒介即人的延伸”,群體聯結的本質并未改變,但數據化存在使用戶更為隱蔽,減少了群體壓力,更加實時的社交互動也為群體聯結帶來更多可能性。得益于VR的強交互性,當有成千上萬人共同參與社交儀式的搭建,虛擬世界也能制造一場真實的狂歡。
游戲世界在多元參與的過程中逐漸演化出屬于這一空間的文明,用戶在虛擬交往中遵循共同的群體理念,并使用相似的語言符號進行溝通和交流,參與群體活動,滿足了其對群體歸屬感和身份認同的需求。點對點的傳播也使得平臺不再成為唯一操控者,“去中心化”的環境下,用戶能夠真正成為自己“虛擬領地”的主人。
虛擬形象社交游戲為用戶們提供了一個夢幻的“烏托邦”,滿足了年輕人們塑造理想自我,尋找情感共鳴的社交需求。數字化時代,媒介馴化帶來新的感知體驗,傳統的社交行為和社交模式也得以顛覆,人與機器多元共生成為可能,但技術營造美好圖景的同時,我們也應重視圍繞賽博空間中被重構的社交所涌現的一系列新問題。
虛擬形象社交游戲建立在海量數據記錄的基礎之上。普通個體以數據化映射的方式生成虛擬世界中的數字形象,個性化定制則意味著對用戶數據的全方位讀取和分析,打造高度擬真的數字世界也基于對現實細節的模仿。
隨著VR技術加持虛擬形象社交,為營造更好的擬真體驗,機器對個體的記錄將滲透到更多細節,如個人的心理反應、臉部表情、聲調變化甚至腦電波變化這類生物特征數據,數據收集體量和豐富程度是前所未有的。當機器獲取的數據越具體豐富,虛擬世界的場景、形象才越立體豐滿。在數字化信息的聯結之下,虛擬個體與真實個人實現緊密的綁定。
然而,數據越全面,越是意味著用戶無時無刻處于被監控的境地之中,數據隱私成為虛擬形象社交面臨的問題之一。
數據隱私涉及身份隱私、社交關系隱私和屬性隱私。身份隱私包含用戶個人真實身份、位置等信息,社交關系隱私指用戶的交友傾向、社交網絡結構等,屬性隱私則指用戶的喜好,是用戶個性化特征的具體體現。由于虛擬形象社交游戲往往具備根據個人形象定制虛擬形象,打造用戶好友網絡等功能,用戶的數據往往能被平臺大量讀取或獲得,虛擬實體的各項隱私都能被后臺記錄,這些與真實生活緊密聯結的數據一旦泄露,對用戶個人的影響無疑是巨大的。
啫喱的用戶首頁(圖源啫喱)
在啫喱熱度迅速上升的時期,就曾LBS功能(Location Based Service)——獲取用戶真實地理位置讓虛擬形象與主人共享定位,以及玩家吐槽“啫喱APP私自訪問手機通訊錄”“注冊賬號后收到詐騙電話”而陷入侵犯隱私的風波。而后啫喱官方雖出面澄清,但其品牌形象受到較大損害,其暴露的數據隱私問題也為正在布局虛擬形象社交的其他互聯網產品,如字節跳動的“派對島”,百度的“希壤”、騰訊的“超級QQ秀”等敲響了警鐘。
由此可見,在看到虛擬形象社交帶來的巨大流量紅利的同時,用戶數據管理也應成為互聯網企業重視的問題。
虛擬形象社交游戲給用戶帶來了全新的社交體驗,人們可以憑借虛擬形象擺脫真實身份的約束,自由地與他人溝通。技術的發展使得用戶可以在機器的輔助下獲得更加真實的感官體驗,如3D環繞音效,觸覺感知,達到一種虛擬身體的在場感。
在虛擬面具的保護之下,社交規范壓力缺失使得人們在虛擬世界中對自身行為的約束程度也弱于真實情景。新場景下的虛擬社交仍處于飛速發展期,高度自由和開放的虛擬空間中的行為監管仍存在較多漏洞,用戶騷擾、網絡暴力等失范行為極大地影響著虛擬空間的穩定性。
去年12月,科技公司Meta正式開放測試虛擬現實社交平臺“Horizon Worlds”。該產品與VRchat類似,用戶進入社區可憑喜好創建卡通虛擬形象,使用這個“Avatar”,用戶能在社區與朋友閑逛、玩耍等。
但在“Horizon Worlds”測試期間,一名女性測試者表示自己在虛擬世界里遭到了性騷擾,有一個陌生人試圖在廣場上“摸”自己的虛擬角色。她寫道,“因為VR和AR技術,這種(不適的)感覺比在一般互聯網上被騷擾更為強烈”。
這不僅僅是個例,同樣的問題也發生在其他虛擬形象社交游戲的使用中。非營利組織“打擊數字仇恨中心”(Center for Digital Hate)去年12月報告稱,其研究人員在VRChat長達11小時30分鐘的用戶活動記錄期間,發現了100項潛在的違反Meta虛擬現實政策的行為,包括性騷擾和虐待。[9]
由于虛擬空間中的體驗是沉浸式的,虛擬形象是個人身體在虛擬空間中的具身化表現,使用這一形象,用戶在虛擬場景中也能獲得真實的情感體驗,會將虛擬化身所遭遇的一切自動帶入現實感受中。
因此,即使真實身體沒有發生觸碰,在虛擬空間被騷擾同樣會給用戶帶來心靈創傷。
隨著虛擬形象社交游戲的不斷普及,越來越多的人將在虛擬空間活躍,這一問題可能會變得更加普遍。然而,目前并沒有明確的法律來規范虛擬化身的個人行為,大部分用戶在被騷擾后只能求助游戲平臺
虛擬世界中虛擬人物由真人操控,現實世界的道德標準和行為準則也應延伸至虛擬空間,以保護用戶的人身安全。平臺有責任加強虛擬空間中的秩序規范,相關監管機構也應重視這一問題,出臺嚴肅性法規。
未來,隨著虛擬現實技術的不斷進步,虛擬形象社交游戲將迎來更廣闊的發展空間,呈現出更具創造性和包容性的游戲設計,一步步靠近元宇宙社交的愿景。但技術浪潮之下,我們也應多一份冷靜和清醒,直面開放虛擬空間社交所衍生出各種問題。并且,在社會發展中,當虛擬環境逐漸成為人們生存所依賴的不可或缺的一部分,用虛擬形象替代真實自我成為習慣,我們又該如何為真實與幻境劃分界限,人與機器該以何種形態協調共生?這也是值得思考的問題。
參考文獻:
[1] 人人都是產品經理.深度解讀QQ秀,為你洞察虛擬形象背后的人性 [EB/OL].(2019-11-11)[2022-3-15]http://www.woshipm.com/it/3070382.html
[2] 歐文·戈夫曼.日常生活中的自我呈現[M].馮鋼譯.北京:北京大學出版社,1989:114-115.
[3] 趙啟南.關系性壓力下青年使用者社交媒體倦怠影響及其行為結果[J].新聞與傳播研究,2019,26(06):59-75+127.
[4] 吳思慧.互動與在場:數字游戲中的社會交往實踐研究——以《集合啦!動物森友會》為例[J].新媒體研究,2021,7(19):103-107.
[5] Roy Ascott.未來就是現在:藝術,技術與意識[M].周凌,仁愛凡譯.北京:金城出版社,2012:79.
[6] 梅洛-龐蒂.知覺現象學[M].姜志輝譯.北京:商務印書館,2001:50.
[7] 東西文娛.VRChat:當虛擬社交成為流行文化.(2021-7-30)[2022-3-15]
https://www.jiemian.com/article/6422437.html
[8] 柯澤.斯蒂芬孫傳播游戲理論的思想史背景[J],新聞大學.2017(3):143-152.
[9] 新浪科技.為減少虛擬現實騷擾行為,Meta推出個人邊界功能.[EB/OL].(2022-02-06)[2022-3-15]http://www.techweb.com.cn/it/2022-02-06/2877062.shtml
作者:葉柳;公眾號:羊村傳播
原文鏈接:https://mp.weixin.qq.com/s/EUm6TKvUutLWPCg0K6QZ4w
本文由 @羊村傳播 授權發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自 Unsplash,基于CC0協議。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。